Created attachment 39578 [details] bad rendering with Myanmar3 due to old Myanmar shaper The old Harfbuzz code contains a shaper which was written for one interpretation of the ambiguous Unicode 4 specification for Myanmar. However, Unicode 5.1 has been out for some time and most Myanmar Unicode fonts have been written so that they work just with the default OpenType features such as clig and liga since those features are enabled by default in Uniscribe and ICU. The shaper rules in the old Harfbuzz are wrong for Myanmar Unicode 5.1 and actively prevent Myanmar Unicode fonts like Padauk (http://scripts.sil.org/Padauk) and Myanmar3 (http://code.google.com/p/myanmar3source/) from working. Both these fonts display correctly with Harfbuzz-NG, however some applications are still using the old Harfbuzz. It is possible to get the old Harfbuzz to render these fonts correctly by removing the Myanmar shaper. In some cases it is also necessary to adapt the gsub implementation so that it applies all lookups in lookup order rather than first by feature then by lookup order. The harfbuzz-ng code already applies them in that order, though Pango doesn't use that order unfortunately.
Created attachment 39579 [details] bad rendering of Padauk with old Myanmar shaper
Created attachment 39580 [details] [review] patch to disable old Myanmar shaper
Created attachment 39581 [details] [review] patch to sort default gsub features in lookup order
Created attachment 39583 [details] Myanmar3 without Myanmar shaper but with lookups in old hb feature order
Created attachment 39584 [details] Padauk without old HB Myanmar shaper
Created attachment 39585 [details] Myanmar3 correct rendering with both patches Padauk only uses clig in gsub so it avoids the lookup order problem. Myanmar3 mixes lookups in liga and clig which have to be applied in lookup order for correct rendering hence it needs both patches. The unicode text used for the images is: ကောင်းလား။ စက္ကူ မြန်မာအင်္ဂလိပ်
Next version of pango will use harfbuzz-ng. For the patches, feel free to commit if you have commit access. Or ping Lars Knoll since he's been maintaining the .old code.
I'm closing down the bugs against the old code base.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.