On Fri, 2007-10-19 at 04:04, David Turner wrote: > By the way, where can I find the spec for cmap format 14 and the > variant selector things ?, I could not find anything on the > Internet.(yes, I've seen the description in src/sfnt/ttcmap.c) This was posted on the opentype list: http://blogs.adobe.com/typblography/UVS_in_OT.htm It's not official yet.
> - documentation: the API documentation doesn't make the purpose of these > functions very clear. An explanation of what a variant selector charmap is > would be welcomed Unicode decided that some characters had variant forms. They are a sort of grey area somewhere between being totally irrelevant and semantically distinct. I don't pretend to understand it exactly. So a character may be followed by a variant selector in unicode input to specify exactly which variant is intended. In the past this has been handled by GSUB ligatures. Adobe felt this was not good enough because it was too hard to see what variants were supported. So first they added a new table (called VASE) but MS didn't like that. Then they put the same data into a cmap subtable. It's an odd subtable because it is not a mapping of input code points to glyphs, instead it is a list of all variants supported by the font. A variant may be either "default" or "non-default". A default variant is the one you will get for that codepoint if you look it up in the standard unicode cmap. A "non-default" variant is a different glyph. So the subtable consists first of a count of possible variants, then a list of those variants with pointer to a block of codepoints for which this is the default variant, and another block of codepoints for which this is the "non-default" variant. (Either pointer may be NULL. My assumption is that in a well designed font, one variant will be default for all glyphs, and the other variants will be non-default, but the spec does not require that. _______________________________________________ Freetype-devel mailing list Freetype-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/freetype-devel