Re: U+0345 COMBINING GREEK YPOGEGRAMMENI not usable in other scripts as "hook below"?

From: John Hudson (
Date: Mon Jun 19 2006 - 18:28:00 CDT

  • Next message: Richard Wordingham: "Re: Mnemonics for LAO LETTER HO TAM"

    [Drifting off topic into the world of OpenType Layout.]

    Alexej Kryukov wrote:

    > Unfortunately, <ccmp> is not exactly that I want, because this tag
    > is normally used to describe very basical shaping behavior rather
    > that just typographic peculiarities. So disabling it would probably
    > be a bad idea (even if the application allows to do that). Thus I
    > can't use <ccmp> for those situations where I want to allow users
    > to access default glyph images mapped to specific slots by turning
    > any such "decompositions" defined for those slots off.
    > I also think that the desired type of glyph replacement cannot be
    > called "decomposition" in the strict sense. Suppose I would like
    > <U+1F08, U+03B9> to be substituted instead of <U+1F88>: this
    > substitution would be absolutely correct from the typographic point of
    > view, but surely will have nothing to do with the canonical
    > decomposition for <U+1F88>, which is <U+1F08, U+0345>. So I am not sure
    > if using <ccmp> for this purpose would be really correct.

    There is nothing in the <ccmp> spec that says its lookups must conform to Unicode
    canonical composition/decomposition; that is just one of the more common uses for this
    feature. It is useable whenever one wants to merge multiple glyphs into one glyph or split
    one glyph into multiple glyphs, usually to facilitate some additional glyph processing. As
    you note, though, the assumption for this feature is that such composition/decomposition
    is not discretionary: the feature is implemented by default, and the user cannot turn it off.

    However, once one has performed a <ccmp> glyph decomposition, one is left with multiple
    glyphs that one can process with additional features, usually with more flexibility than
    one could process the original individual glyph. These features may be discretionary, e.g.
    the <calt> feature or the <ssXX> features.

    Using your example, you might perform a <ccmp> decomposition to render /uni1F88/ using the
    two glyphs /uni1F08/uni0345/ (in this case following the Unicode decomposition), and then
    you might use the <calt> feature or one of the <ssXX> features to change that /uni0345/
    glyph to the /uni03B9/ glyph when it follows an uppercase letter. This leaves users with a
    mechanism to turn off this subsitution if you make it default behaviour using <calt>, or
    turn it on if you have made it fully discretionary using <ssXX>.

    > Well, even if some Latin digraphs don't require to be spaced out, all
    > Greek combinations with iota adscript surely do.


    John Hudson

    Tiro Typeworks
    Vancouver, BC
    I am not yet so lost in lexicography, as to forget
    that words are the daughters of earth, and that things
    are the sons of heaven.  - Samuel Johnson

    This archive was generated by hypermail 2.1.5 : Mon Jun 19 2006 - 18:34:47 CDT