Hi Behdad, A while ago I noticed, to my surprise, that combining marks take the class value of their base glyphs. I have no idea why it is done that way (Uniscribe seems to does this, too).
Since cluster values are used to do reverse glyph to input character mapping, this has the implication that it is not possible apply any specific text attributes to the combining marks, like coloring them which have few applications in Arabic and Hebrew, at least (there are bugs open against Pango[1] and Firefox[2] for this, but I know realize it is actually a HarfBuzz issue). There is also discrepancy between backends, the Graphite backend does not do this, nor the Core Text backend (though the last one is less important). I’m not sure what is the best way to move forward, decoupling the cluster value of combining marks from its base has the benefit of automatically fixed HarfBuzz clients, but it might break whatever the use case of that coupling in the first place. On the other hand, having a dedicated API for character ↔ glyph mapping (like Core Text or ICU Layout Engine) does not affect backward compatibility, but the clients will have to be modified to take advantage of it. Regards, Khaled 1. https://bugzilla.gnome.org/show_bug.cgi?id=541608 2. https://bugzilla.mozilla.org/show_bug.cgi?id=729993 _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
