From: John Hudson (firstname.lastname@example.org)
Date: Mon Jun 19 2006 - 18:28:00 CDT
[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.
-- Tiro Typeworks www.tiro.com Vancouver, BC email@example.com 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