GNOME Bugzilla – Bug 583718
VTE always displays Thai SARA AM with dotted circle
Last modified: 2012-08-25 20:40:25 UTC
Thanks to Behdad's work in Bug #149631, VTE now displays combining characters gracefully. However, there is a small case of Thai character SARA AM (U+0E33), which is always rendered with dotted circle. (Screenshot will be attached.) This is triggered by the use of Pango. SARA AM is a composite vowel, and requires a preceeding base consonant to render. But as display cells are rendered separately, the combination is split, and Pango Thai shaper supplies the dotted circle in place of the missing character. Possible solutions can be: 1. Make VTE render adjacent cells in chunk, so Pango shaper can handle inter-cell combinations. 2. Modify Pango shaper to fall back to typewriter-style rendering, where SARA AM is packed into one cell. Such glyph provision is a common practice for Thai monospace fonts. Choice 1 seems complicated, but may be necessary for other complex text languages. (I don't know much about other languages' typewriters.) Choice 2 is easier, and fairly reasonable for Thai in particular. Feel free to reassign this bug to Pango Thai module if it's the case.
Created attachment 135256 [details] Screenshot with errors
Created attachment 135258 [details] Screenshot with expected result
Created attachment 135259 [details] Text for the test message Note that the screenshot in Comment #2 was a result of Choce 2 (patching Pango Thai shaper).
Thanks. I need some more time before I can figure out what to do for complex test rendering in the terminal.
I didn't realize vte was what handled the text rendering when I filed bug 58160 ( http://bugzilla.gnome.org/show_bug.cgi?id=584160 ) It's a similar situation, but for devanagari. Basically none of the characters that are supposed to combine in devanagari do. I believe they used to in older versions of gnome-terminal. I'll have to pull out some old discs and check.
Vte never did. If you pull out some old discs and find that it used to do, make sure you also dig out the source code, oh well...
*** This bug has been marked as a duplicate of bug 584160 ***
Reopening the bug. I think this is not a duplicate of bug 584160, as Thai problem is a lot more trivial than Indic, and can be solved with a simple workaround. In other words, Thai can be classified as non-Indic or non-CTL in this case. Also reassign it to Pango and propose to change there.
Created attachment 165454 [details] [review] Handle SARA AM differently for monospace This patch makes Thai shaper render SARA AM differently when the font is monospace. I've provided this solution locally for a year, and no problem is reported so far.
Marking duplicate again. *** This bug has been marked as a duplicate of bug 584160 ***