Bug 57672

Summary: UI Combining diacritics breaking font preview in a dialog
Product: LibreOffice Reporter: Urmas <davian818>
Component: WriterAssignee: Not Assigned <libreoffice-bugs>
Status: RESOLVED FIXED    
Severity: minor CC: ilmari.lauhakangas, khaled, quikee, vsfoote
Priority: medium    
Version: 4.0.0.0.alpha1   
Hardware: Other   
OS: Windows (All)   
See Also: https://bugs.documentfoundation.org/show_bug.cgi?id=103831
Whiteboard: target:5.4.0 target:5.3.2
Crash report or crash signature: Regression By:
Bug Depends on:    
Bug Blocks: 71732    
Attachments: Testcase
clip of font preview corruption in dialog

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