Download it now!
Bug 96266 - Combining Diacritics will not stack when open file (arial)
Summary: Combining Diacritics will not stack when open file (arial)
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: graphics stack (show other bugs)
(earliest affected)
Hardware: x86-64 (AMD64) Windows (All)
: medium normal
Assignee: Not Assigned
Whiteboard: target:5.3.0
Depends on: HarfBuzz
Blocks: Font-Rendering VCL-OpenGL
  Show dependency treegraph
Reported: 2015-12-05 10:51 UTC by raal
Modified: 2016-11-06 18:34 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:

test file (15.18 KB, application/vnd.oasis.opendocument.text)
2015-12-05 10:51 UTC, raal
correct (30.12 KB, image/png)
2015-12-05 10:52 UTC, raal
incorrect (107.38 KB, image/png)
2015-12-05 10:52 UTC, raal
LO 3.5, linux (43.26 KB, image/png)
2015-12-05 10:52 UTC, raal
combining diacritics on Windows Arial not correct with OpenGL (17.08 KB, image/png)
2015-12-16 14:33 UTC, V Stuart Foote
combining diacticits is correct on Windows Arial without OpenGL (20.64 KB, image/png)
2015-12-16 14:34 UTC, V Stuart Foote
combining diacritics on Windows -- with OpenGL (145.77 KB, image/png)
2016-10-19 22:48 UTC, V Stuart Foote
combining diacritics on Windows -- with default Graphics (134.36 KB, image/png)
2016-10-19 22:52 UTC, V Stuart Foote

Note You need to log in before you can comment on or make changes to this bug.
Description raal 2015-12-05 10:51:09 UTC
Created attachment 121043 [details]
test file

open file from bug 95060, attachment 119611 [details] in linux

Actual results:
Arial - Combining Diacritics will not stack 

Expected results:
Combining Diacritics will stack 

works OK in Windows Version: (x64)
Build ID: e7c78e67292ad93c6a4a0772d8b06a0e6e7d26c8
Threads 1; Ver: Windows 6.1; Render: default; 
TinderBox: Win-x86_64@62-TDF, Branch:MASTER, Time: 2015-11-30_22:37:14
Comment 1 raal 2015-12-05 10:52:10 UTC
Created attachment 121044 [details]
Comment 2 raal 2015-12-05 10:52:35 UTC
Created attachment 121045 [details]
Comment 3 raal 2015-12-05 10:52:53 UTC
Created attachment 121046 [details]
LO 3.5, linux
Comment 4 V Stuart Foote 2015-12-05 20:30:53 UTC
Believe this mishandling of the Arial TTF is an OpenGL composition issue. 

Disable OpenGL and the Arial combined diacritics will stack. 

But, the Graphite based glyphs composed with Uniscribe on Windows are corrupt even with OpenGL disabled. Unreadable when it is enabled.


On Windows 10 Pro, with nVidia GTX-750ti

Build ID: f34b4844473d08c0c264ba4453a875e32f5c326b
Threads 8; Ver: Windows 6.19; Render: default; 

TinderBox: Win-x86@39, Branch:master, Time: 2015-12-01_06:36:58
Locale: en-US (en_US)
Comment 5 Tor Lillqvist 2015-12-14 11:16:02 UTC
Graphite fonts don't go through the Uniscribe code path at all.
Comment 6 Tor Lillqvist 2015-12-14 11:17:07 UTC
So is this a Linux or Windows bug? Metadata says Linux, but comments talk about Windows.
Comment 7 Tor Lillqvist 2015-12-14 11:18:20 UTC
I guess here it is best to disregard any talk about Windows and really treat this as a Linux specific bug, as that is what the initial bug submission says. It even says the corresponding thing works fine on Windows.
Comment 8 V Stuart Foote 2015-12-16 14:33:30 UTC
Created attachment 121346 [details]
combining diacritics on Windows Arial not correct with OpenGL

@Tor,  no stacking/combining diacritics not work for Arial on Windows if OpenGL is enabled.

See the two attachments I'm adding.  Arial is incorrect on Windows when OpenGL enabled and one where Arial is correct on Windows when OpenGL is disabled.
Comment 9 V Stuart Foote 2015-12-16 14:34:14 UTC
Created attachment 121347 [details]
combining diacticits is correct on Windows Arial without OpenGL
Comment 10 martin_hosken 2015-12-18 08:38:06 UTC
There are two bugs here.

1. OpenGL causing diacritics to shift even for non-Graphite fonts.
2. Graphite on Windows having diacritics shift at zooms below something silly due to a bug in GDI.

I suggest we make this bug be about the OpenGL problem. We're working on that one and just need to get D2D to play ball.
Comment 11 V Stuart Foote 2015-12-31 16:21:40 UTC
The OpenGL issue with "stacking" of glyphs does affect all OS.

On Windows with
Build ID: fe37d93a110cb9941c61fed0c71369a21a7d2765
CPU Threads: 8; OS Version: Windows 6.2; UI Render: GL; 
TinderBox: Win-x86@62-merge-TDF, Branch:MASTER, Time: 2015-12-30_23:13:15
Locale: en-US (en_US)

OpenGL issue remains.

With OpenGL enabled, the non-Graphite fonts (so the Uniscribe composition on Windows) remains garbled when glyphs are combined. (Checked Arial and Liberation Sans).  Disabling OpenGL permits the glyps to stack correctly.

Things have improved for the Graphite fonts, where stacking glyphs as combined diacritics appear the same with or without OpenGL active--the stacking remains incorrect in either mode, but they are now consistent and at the same scale. (Checked Linux Biolinum G and Linux Libertine G).
Comment 12 Khaled Hosny 2016-10-19 20:27:02 UTC
So again, is this a Windows or Linux bug or both? I can’t reproduce this on Linux with or without OpenGL.
Comment 13 V Stuart Foote 2016-10-19 22:48:00 UTC
Created attachment 128083 [details]
combining diacritics on Windows -- with OpenGL
Comment 14 V Stuart Foote 2016-10-19 22:52:26 UTC
Created attachment 128084 [details]
combining diacritics on Windows -- with default Graphics

Going to call this Windows only. Handling the combined diacritics are really ugly with OpenGL rendereing enabled in a recent build of 5.3.0 master. But also with default graphics the combined diacritics do not stack--so some font layout issues in both WinLayout and SimpleWinLayout.

See new clips of the sample test file--attachment 121043 [details] with current 5.3.0 master.
Comment 15 Khaled Hosny 2016-10-19 22:59:01 UTC
No handling mark stacking correctly on Windows is expected since we do not currently do any OpenType layout for Latin script, and should be fixed with bug 89870.

The OpenGL bug seems to be completely unrelated and should be reported seperately if not already.