freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] About the Cmap format 14


From: George Williams
Subject: Re: [ft-devel] About the Cmap format 14
Date: 19 Oct 2007 06:20:11 -0700

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.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]