From: John Hudson (tiro@tiro.com)
Date: Tue Apr 05 2005 - 16:48:41 CST
Peter Constable wrote:
>>>I find to my surprise that the Doulos SIL trick (if I can call it
> that)
>>It's not a "trick", it's a simple OpenType feature: ccmp.
> A slight correction: I think you'll find it's the 'mark' feature.
Indeed. To clarify for non font folk:
<ccmp> is an OpenType Layout substitution (GSUB) feature that maps from multiple
characters to individual, precomposed glyphs (it can also be used to map individual
characters to multiple glyphs, but that is another topic), and which is useful if you have
a such precomposed glyphs in a font. [Note that if the precomposed glyphs correspond to
precomposed character combinations in Unicode, e.g. A with macron, you don't need to use
<ccmp>, because you can map directly to the Unicode value and allow system or application
software to figure out the character level decompositions; the feature is for accessing
precomposed glyphs that are not separately encoding in Unicode, e.g. W with macron.]
<mark> is an OpenType Layout positioning (GPOS) feature that uses anchors to position
marks relative to base glyphs, e.g. to position a macron over a W. The positioning is done
on the fly during rendering. It has the advantage over the <ccmp> approach of being more
efficient in terms of font size, requiring fewer glyphs, but is less efficient in terms of
processing speed.
A font may implement a combination of both glyph substitution and mark positioning.
Adam, understandably, has created a tutorial on how to implement the <ccmp> feature using
FontLab, because FontLab does not currently support mark positioning lookups. To implement
the <mark> feature, one needs to use MS VOLT, which is why it is the OTL tool of choice
for complex script developers.
John Hudson
-- Tiro Typeworks www.tiro.com Vancouver, BC tiro@tiro.com Currently reading: A century of philosophy, by Hans Georg Gadamer David Jones: artist and poet, ed. Paul Hills
This archive was generated by hypermail 2.1.5 : Tue Apr 05 2005 - 16:50:21 CST