From: John Hudson (john@tiro.ca)
Date: Tue Feb 12 2008 - 14:28:07 CST
Philippe Verdy wrote:
> That's not the reply: I am looking for an encoded character (i.e. the code
> point) that has the designated properties. I'm not refering to the
> invisibility as an excuse (your statement is justifying the use of
> invisibility because it's invisible). It's like if you said: I'm right
> because I know I'm right. By definition an invisible thing is zero-width and
> zero-contour. This does not mean this is a character, or even a glyph.
A glyph is an indexed entity in a font glyf table or similar array. A no-ink, zero-width
glyph is no different in this respect from any other kind of glyph, and font developers
can include as few or as many such glyphs in their fonts as they want or need for
particular purposes. The relationship of *any glyph* -- visibilium et invisibilium -- to a
character is likewise font-internal. A glyph may be directly mapped to a character code
via the cmap table (or, thankfully less common these days, via glyph name parsing) or
indirectly via a glyph-to-glyph lookup. What James and I are talking about are mechanisms
for handling positioning via CGJ if that character occurs in glyph strings for lookup
processing, including mechanisms in which CGJ is represented by no-ink, zero-width glyph(s).
There are other mechanisms possible, all also font-internal. The advisability of any
mechanism depends on how layout engines interpret CGJ and whether they include it in glyph
strings for layout purposes. A layout engine can make discreet use of control character
glyphs, if it so chooses, so it is possible, for instance, that a CGJ glyph might be
available to GSUB lookups but not to GPOS lookups; that might solve the dual use of CGJ as
documented in the standard. Alternatively, a font developer might opt to impose such a
restriction internally in the font, by removing CGJ glyphs from the string *as a GSUB
operation* -- technically, a ligation of
<any-glyph> CGJ -> <any-glyph>
Such a lookup would remove the CGJ from subsequent GPOS lookups.
In summation, what we really need is documentation from layout engine developers
explaining how they interpret CGJ.
John Hudson
-- Tiro Typeworks www.tiro.com Gulf Islands, BC tiro@tiro.com The Lord entered her to become a servant. The Word entered her to keep silence in her womb. The thunder entered her to be quiet. -- St Ephrem the Syrian
This archive was generated by hypermail 2.1.5 : Tue Feb 12 2008 - 14:31:42 CST