Bug 57672 - UI Combining diacritics breaking font preview in a dialog
Summary: UI Combining diacritics breaking font preview in a dialog
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
4.0.0.0.alpha1
Hardware: Other Windows (All)
: medium minor
Assignee: Not Assigned
URL:
Whiteboard: target:5.4.0 target:5.3.2
Keywords:
Depends on:
Blocks: Font-Rendering
  Show dependency treegraph
 
Reported: 2012-11-28 22:38 UTC by Urmas
Modified: 2017-03-21 03:44 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
Testcase (8.26 KB, application/vnd.oasis.opendocument.text)
2012-11-29 02:37 UTC, Urmas
Details
clip of font preview corruption in dialog (44.96 KB, image/png)
2016-11-05 04:52 UTC, V Stuart Foote
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Urmas 2012-11-28 22:38:09 UTC
If you select a text with combining diacritic marks and invoke the Character format dialog, the preview field will be garbled.
Comment 1 Emir Sarı 2012-11-29 01:22:18 UTC
@Urmas,

I couldn't reproduce the bug with the steps you've described. Could you attach a .odt/.doc file with sample text in it?
Comment 2 Urmas 2012-11-29 02:37:49 UTC
Created attachment 70769 [details]
Testcase
Comment 3 Andras Timar 2012-12-05 19:35:03 UTC
Confirmaed under Window7,  my own build, 4.0.0.0.alpha1+ (Build ID: 2eb8ecf5540f930f5bdd30aeeb2d56e9e585595)
Comment 4 QA Administrators 2015-01-05 17:52:13 UTC Comment hidden (obsolete)
Comment 5 Buovjaga 2015-01-28 13:33:07 UTC
Confirmed.

Win 7 Pro 64-bit Version: 4.5.0.0.alpha0+
Build ID: 784d069cc1d9f1d6e6a4e543a278376ab483d1eb
TinderBox: Win-x86@62-TDF, Branch:MASTER, Time: 2015-01-25_23:07:36
Comment 6 QA Administrators 2016-02-21 08:37:19 UTC Comment hidden (obsolete)
Comment 7 V Stuart Foote 2016-11-05 04:52:42 UTC
Created attachment 128504 [details]
clip of font preview corruption in dialog

Corrupt composition of a font preview for selected text containing a combing diacritic string is not resolved by shift to new HarfBuzz common layout

Version: 5.3.0.0.alpha1+
Build ID: 32bdc5097013e7efd9c85e1b8df697880e66e925
CPU Threads: 8; OS Version: Windows 6.2; UI Render: GL; Layout Engine: new; 
TinderBox: Win-x86@62-merge-TDF, Branch:MASTER, Time: 2016-11-04_23:30:30
Locale: en-US (en_US); Calc: CL
Comment 8 V Stuart Foote 2016-11-05 05:07:02 UTC
@Khaled, see the corruption with the combining diactitics in the font preview.

But any thoughts on why the font samples for scripts in the character dialog would be so rough in general with the HarfBuzz common layout. They look almost "scratchy".
Comment 9 ⁨خالد حسني⁩ 2016-11-05 12:12:52 UTC
I can’t reproduce on Linux either, looks like a Windows bug.
Comment 10 V Stuart Foote 2016-11-05 13:32:34 UTC
So the selected text strings are "parsed" for use in the Character dialog here:

SvxFontPrevWindow
http://opengrok.libreoffice.org/xref/core/svx/source/dialog/fntctrl.cxx#621

Rendering the font name or assigned sample text seems fine--so the issue seems to be just dealing with preview of some selected text.

Are we handling the painting here differently such that the preview string of the selected text gets garbled? Both with the combined glyphs, but also a preview of any selected text (and is that Windows only?).
Comment 11 ⁨خالد حسني⁩ 2016-11-06 18:00:48 UTC
This is an old bug, so not a HarfBuzz-introduced regression.
Comment 12 V Stuart Foote 2017-03-21 03:44:01 UTC
Force using GDI when needed rather than DirectWrite, as for 103831, has resolved the preview of these combining diacritics as well by adjusting horizontal font scaling.

On Windows 10 Pro 64-bit en-US with
Version: 5.4.0.0.alpha0+
Build ID: f2efe33f71a8c092a19e3a27a85ac9057ebdca64
CPU threads: 8; OS: Windows 6.19; UI render: GL; 
TinderBox: Win-x86@42, Branch:master, Time: 2017-03-18_00:11:52
Locale: en-US (en_US); Calc: CL

and

Version: 5.3.2.0.0+
Build ID: a990b46ccc788db45ff4d8f0d47b799782ecb2af
CPU Threads: 8; OS Version: Windows 6.2; UI Render: GL; Layout Engine: new; 
TinderBox: Win-x86@62-merge-TDF, Branch:libreoffice-5-3, Time: 2017-03-08_19:18:26
Locale: fr-CA (en_US); Calc: CL


=-ref-=

http://cgit.freedesktop.org/libreoffice/core/commit/?id=a51b7a1c3a7e7cf7b0c733e1dec40288278c1884


http://cgit.freedesktop.org/libreoffice/core/commit/?id=4375eefb644d03ab4bafbc091436166a8494dc91&h=libreoffice-5-3