Re: Why people still want to encode precomposed letters

From: verdy_p (verdy_p@wanadoo.fr)
Date: Wed Nov 26 2008 - 17:41:06 CST

  • Next message: Adam Twardoch: "Re: Why people still want to encode precomposed letters"

    "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