From: Mete Kural (metek@touchtonecorp.com)
Date: Fri Jun 10 2005 - 06:28:32 CDT
>With complex scripts a problem may arise when a sequence of two or more
>characters are normally displayed as a ligature (single glyph). If there is
>a markup element specifying say a color change in the middle of such a
>sequence how is a normal text application or rendering engine supposed to
>display parts of a single glyph in different colors?? Glyphs for the
>individual characters could be displayed seperatly but then the ligature
>(which might be *required* for the language ) might not be displayed properly.
>Which takes precedence in such a situation, the ligature formation required
>to display the language correctly or the color change specified by the markup?
There seems to be no specification in regards to this problem with changing inline text properties in the middle of a ligature, but I can tell you how Internet Explorer seems to handle this color change problem. What it simply does is, if one of the characters in the ligature (such as the lam-alef ligature in Arabic) is colored differently then the whole ligature is colored to that different color. Let's say if the "lam" in a lam-alef ligature is red while the default text color is black, the whole lam-alef ligature ends up being colored red. I think this is the next best solution to being able to color part of the ligature red. Although it is certainly the much better solution then splitting the Arabic letters, which is completely wrong.
Even then I think this is still inadequate. It should be made possible with font technology to color parts of a ligature in a different color. This can be perhaps done by layered painting. The ligature is first drawn in black by the font engine as usual and then an additional process paints the part of the ligature in red. Although I don't know if OpenType is capable of doing this kind of stuff.
Regards,
Mete
-- Mete Kural Touchtone Corporation 714-755-2810 --
This archive was generated by hypermail 2.1.5 : Fri Jun 10 2005 - 14:08:21 CDT