From: verdy_p (verdy_p@wanadoo.fr)
Date: Wed Nov 26 2008 - 17:41:06 CST
"John Hudson" <john@tiro.ca>
> A :
> Copie à : unicode@unicode.org
> Objet : Re: Why people still want to encode precomposed letters
>
>
> verdy_p wrote:
>
> > I have NOT written that the position adjustment for the next anchor had any effect on the advance width for the
> > position of the next base glyph. I've just written that the fact that diacritics need to move anchors when they
are
> > stacked together means that they are affectively advancing those anchors for further diacritics) (but not
> > necessarily the anchor for the next base glyph (the one that we call the "advance width").
>
> Yes, but you called that 'kerning' and, for the last time because this
> is getting tiresome, that is *not* kerning. Kerning is by definition a
> modification to an advance width (whether one is talking about digital
> type or pieces of metal) and ergo it affects the position of subsequent
> glyphs.
>
> I understand what you are talking about, and the idea of anchor-based
> spatial relationships between bases, between marks and between base+mark
> combinations is not without interest, but calling it kerning is simply
> confusing. Kerning already means something within existing technologies,
> and it implies things that are necessarily distinct from mark anchor
> positioning.
Do you realize that even for the Latin script, the advence width is not necessarily horizontal, even if the
baseline where base characters are drawn is horizontal ? Think about the vertical text presentation, where glyphs
are not rotated.
Now think about the scripts that are naturally vertically drawn and whose baseline is also vertical. The advance
'width' is also vertical and (vertical) spacing adjustment is also needed when the characters do not have the same
height. Don't you call this 'kerning' as well ?
Add to this that combining characters are not necessarily zero-width (including Latin accents, see circumflex above i).
Combine all these and you come immediately to the same general problem: the relative positining of multiple anchors
between pairs of characters. The whole restrictive definition of "kerning" is ill-designed from start, it is too
simplistic, even if it has been used to implement the simplest cases (and we've seen the caveats of this when we
had to design fonts with long lists of specific pairs of characters for handling this limited 'kerning' concept,
that was also created considering only the simplest horizontal layout for the Latin script.
I remain convinced that 'kerning' should concern all types of pair-specific position adjustment of anchors, i.e.
the difference of position between the default position indicated by a single glyph id alone, be it horizontal, or
vertical or both, and independatly of the type of anchor considered (for the horizontal advance width in a
horizontal layout of characters in horizontal orientation, or for any other types of anchors, including bounding
box definition anchors and caret positioning anchors for editing that may sometimes be within the bounding box).
All individual glyphs (including diacritics and GSUBstituted ligatures or contextual forms) in a font should define
their own list of anchors (indexed by the anchor types that each glyph can support) as relative vectors from the
origin point, all characters should remain displayable when only considering these default anchor positions, and
the supplemental adjustment for pairs (of glyphs or of glyph classes or GSUBst'ed glyphs) that define small
differences as 2D vectors (indexed by the same anchor types) rather than just 1D horizontal differences for the
simplest limited cases (limited to the horizontal "advance" width between pairs of base characters, and ignoring
the case where a diacritic may need to adjust the other anchors including the origin anchor for the base character
above which it is drawn as a supposed "zero width" character).
This archive was generated by hypermail 2.1.5 : Wed Nov 26 2008 - 17:43:11 CST