On Tue, 11 Jun 2013 20:09:31 -0700 Stephan Stiller <stephan.stil...@gmail.com> wrote:
> Hi, > > How is the placement of vowel marks around ligatures handled in > Arabic text? For OpenType the clue lies in the three types of GPOS (http://www.microsoft.com/typography/otspec/gpos.htm) lookup for marks - mark to base, mark to mark, and mark to ligature. As base characters get ligated, the shaper keeps track of which marks were associated with which component of the ligature, and separate vowel positions are recorded in the font for each component. There is more complicated logic to prevent various undesirable behaviour, such as marks belong to different components interacting via mark to mark position lookups or ligature lookups. The idea is to relieve the font designer of the need to think about such issues. I haven't found any public Microsoft documentation on these lookups, and for open source I can only suggest studying the source code and its comments - HarfBuzz files hb-ot-layout-gdef-table.hh, hb-ot-layout-gpos-table.hh and hb-ot-layout-gsubgpos-private.hh are particularly relevant. Obviously this will not work if the character sequence is defined in terms of presentation forms that are already ligatures. > I'm also wondering how font designers normally handle this. I think > there are analogous questions for various ligature-heavy abugidas, so > there must be an existing body of knowledge. While the same principle applies to Indic scripts (and indeed, to the Roman alphabet), there is only one Indic mark I can think of for which the issue of component association arises, and that is the nukta. That could be handled by the ligation process instead, so I would not rely on there being a large body of Indic-specific knowledge on the issues. OpenType has special handling for consonant clusters with visible internal halant. Richard.