GNOME Bugzilla – Bug 635391
Pango ignores ZWJ for OTF GSUB Ligatures
Last modified: 2012-08-18 17:37:49 UTC
Created attachment 174929 [details] Testing OTF font OTF GSUB Ligatures which are composed of some glyphs "connected" using U+200D ZERO WIDTH JOINER (ZWJ) don't work with pango. I'm attaching very simple OTF font created to demonstrate this bug. Also attached is very simple file with the following sequences: AB A<ZWJ>B BA B<ZWJ>A The font has following ligatures (in the 'ccmp' GSUB table): A + <ZWJ> + B => C B + A => D So it should be displayed as follows: AB C D BA But in reality it shows: AB AB D BA Pango version: pango-1.28.1-4.fc14 BTW, QT based application (like KWrite) don't have this bug. :-)
Created attachment 174930 [details] Font source file
Created attachment 174931 [details] Test file (plaintext - utf-8)
Actually, according to Unicode, I expect the correct output to be: AB C D D Ie. a ZWJ should be ignored when matching ligatures. Though it's hard to know what to do if we want to handle both the "C" case and the "D" case. Any idea how Uniscribe on windows does it?
Yes, This should be really allowed even for indic as well. I faced lots of problem to handle some specific requirement for Kannada and Malayalam Script in Lohit Fonts https://bugzilla.redhat.com/show_bug.cgi?id=576105#c14 Lohit Kannada with Added rules with ZWJ can be find from http://koji.fedoraproject.org/koji/buildinfo?buildID=206044 source rpm is also there. I will be happy to do testing or any other help required in fixing this.
We've merged the HarfBuzz branch. Closing obsolete.