GNOME Bugzilla – Bug 346419
Add Baseline table support (align scripts in a line of text)
Last modified: 2018-05-22 12:19:28 UTC
This report is about adding baseline table support to pango so that glyphs of different scripts and of different sizes align correctly in a line. The baseline table is described at http://www.microsoft.com/OpenType/OTSpec/base.htm
Possibly related bug reports bug 321142, Not all characters sit on the baseline (evince) bug 340047, CSS baseline-shift directive (librsvg)
bug 321142 is irrelevant.
Created attachment 108221 [details] Screen capture of Khmer with Khmer spacing Using a Khmer font with spacing allowing for stacked glyphs. Compare the fifth line here with the other photo.
Created attachment 108222 [details] Using Khmer with line spacing taken from Basic Latin Using DejaVu with Khmer characters copied and pasted into it from KhmerOS Siemreap. Note that the line-spacing inherent in the DejaVu font is too short for Khmer, so that the tops and bottoms of words/letters are chopped off.
Khmer is a language that stacks letters on top of each other, so the line spacing for Khmer text needs to be way taller than that for English and other languages using Basic Latin glyphs. If I use a font that contains Khmer characters, either the line spacing is taken from the Khmer, in which case all text everywhere has way, way too much line spacing. Or else the line spacing is taken from the Basic Latin, and the tops and bottoms of Khmer text are chopped off. You can see what I mean in these two screen captures, showing text in XML Copy Editor: http://flickr.com/photos/88474662@N00/2300111271/ http://flickr.com/photos/88474662@N00/2300902984/in/photostream/ (I'm attaching these images as well) What's needed is support for baseline tables. Khmer isn't the only Southeast Asian language with this difficulty -- Thai, Lao, Burmese and Vietnamese also share this issue (even though Vietnamese uses Latin characters, double accents require more line spacing than English). Roger Sperberg
(In reply to comment #4) > Created an attachment (id=108222) [edit] > Using Khmer with line spacing taken from Basic Latin > > Using DejaVu with Khmer characters copied and pasted into it from KhmerOS > Siemreap. Note that the line-spacing inherent in the DejaVu font is too short > for Khmer, so that the tops and bottoms of words/letters are chopped off. What's the application used for the shot? I guess it's Firefox. Pango shouldn't have that problem. Show me how it looks in gedit.
These were taken in XML Copy Editor. The point is that an OTF font can contain different information about the line-spacing needed for glyphs in different scripts. But that info isn't in the font(s) shown. The effect is the same, though. Either toosmall for SEA scripts or too tall for Latin scripts.
I still want to see both rendered in gedit. Pango is much more smart than you think it is...
This is from a private conversation with an Adobe font expert about baseline support. He said that very few layout engines support the baseline feature, and that the only existing application publicly available is that in Flash 10. Some documentation here: http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/text/engine/TextBaseline.html
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/pango/issues/51.