Apache OpenOffice (AOO) Bugzilla – Issue 42662
Missing dotted circle breaks display of invalid combining sequences
Last modified: 2013-08-07 15:00:01 UTC
Section 5.13 of the Unicode 4.0 standard - 'Rendering Nonspacing Marks' - recommends a method called 'Show Hidden' to indicate the inability to draw an invalid combining character sequence. It does so by drawing the base character first and then rendering the nonspacing mark as an individual unit - with the nonspacing mark positioned on a dotted circle. The method is implemented in OOo. However, the implementation on Windows is currently broken, see issue 42171. The feature only works on Linux now. The problem is - not all fonts have this dotted circle glyph. In particular, by far the most popular fonts used in Thailand are the Thai-specific fonts shipped with Windows (Angsana, Browalia, Cordia, etc.). These all lack the dotted circle glyphs. In case the glyph is missing, there should be a fallback mechanism. Currently OOo seems to do nothing. Test case: - Currently, you have to test it on Linux. Load the attached Writer document. It has three lines containing a Thai base consonant 'gor gai', three tone marks 'mai ek' (the last two are invalid and couldn't be displayed), and another 'gor gai'. See the attached screenshot. 1) The first line is formatted using the default Lucidasans, the second using Norasi, both of them have the dotted circle. You can see that the excess marks are shown individually on each dotted circle. 2) The third line is formatted using the Windows Thai font 'Angsana New'. You can try other fonts that have Thai but not dotted circle (all Windows Thai fonts). There'll be a non-spacing black box that overstrike the first gor-gai. So you can't tell what are in the invalid sequence. To handle this, there should be a fallback mechanism in case there's no dotted circle glyph to use. The possibility are using the 'missing glyph shape' (white box) like Uniscribe (http://www.microsoft.com/typography/otfntdev/thaiot/shaping.aspx) or simply using space. The point is to place each combining character individually so the users can see what the error is. Therefore the fallback glyph must be spacing. This issue should also be tested on Windows when the dotted circle feature is working.
Created attachment 22544 [details] Text document with invalid combining character sequence
Created attachment 22545 [details] Screenshot of the text document loaded in Writer on Linux
Test with OOo 1.9.19. Confirmed.
correction: Test with OOo 1.9.79, using test case in attachment id 22544. Confirmed.
set target to OOo Later.
FT: Please verify and fix if applicable, thx.