[Top][All Lists]
[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: |
08 Oct 2007 13:10:22 -0700 |
On Mon, 2007-10-08 at 07:46, Werner LEMBERG wrote:
> I've skimmed the specs but didn't look more closely. Do you
> volunteer? It seems that we need a special interface for that, right?
It needs a special interface.
The most obvious reason is that it requires two codepoints (base
codepoint + variant selector) to specify a glyph.
Also because the format=14 subtable is not stand-alone, it requires
lookups into a unicode charmap. In other words it could not be passed to
FT_Set_Charmap.
As the spec currently stands there can only be one format 14 charmap
(with platform=0, specific=5) so there is no need to select among
several. So I see no need for an equivalent to
FT_Set_Charmap
FT_Select_Charmap
These should return an error on a format 14 charmap.
I propose that
FT_Get_Char_Index
should return 0 (or 0xffffffff?) if called on a format 14 charmap (which
shouldn't be possible in the first place). Instead a new routine
FT_Get_Char_Variant_Index(FT_Face face,
FT_ULong charcode,
FT_ULong variantSelector)
Similarly
FT_Get_First_Char
FT_Get_Next_Char
will never be called on a format 14 charmap. I'm not sure what best
reflects the spirit of these routines. Should there be routines which
return all codePoints for a given variationSelector, or routines which
return all variationSelectors for a given codePoint, or perhaps just a
list of all variantSelectors? or all three?
I assume all of them
FT_Get_First_Char_Of_Variant(FT_Face face,
FT_ULong variationSelector,
FT_UInt *agindex)
(returns the first codePoint, for that variationSelector and sets the
GID)
FT_Get_Next_Char_Of_Variant(FT_Face face,
FT_ULong variantSelector,
FT_ULong codePoint,
FT_UInt *agindex)
(returns the next codepoint for the variationSelector)
FT_Get_First_Variant_For_Char(FT_Face face,
FT_ULong codePoint,
FT_UInt *agindex)
(returns the first variation selector for that codePoint, and sets the
GID)
FT_Get_Next_Variant_For_Char(FT_Face face,
FT_ULong codePoint,
FT_ULong variantSelector,
FT_UInt *agindex)
(returns the next variation selector for the codePoint)
FT_Get_First_Variant_Selector(FT_Face face)
(returns the first variationSelector)
FT_Get_Next_Variant_Selector(FT_Face face,
FT_ULong variantSelector)
(returns the next variationSelector)
General questions:
How should it behave if the current cmap is not a unicode cmap?
Should it look for a unicode cmap in the list, or just return error?
Should I extend the CMap class with these additional functions, or
just make direct calls?
- Re: [ft-devel] About the Cmap format 12, Werner LEMBERG, 2007/10/01
- Re: [ft-devel] About the Cmap format 12, mpsuzuki, 2007/10/02
- Re: [ft-devel] About the Cmap format 12, Masatake YAMATO, 2007/10/03
- RE: [ft-devel] About the Cmap format 12, 丁力, 2007/10/07
- Re: [ft-devel] About the Cmap format 12, Werner LEMBERG, 2007/10/08
- Re: [ft-devel] About the Cmap format 12, George Williams, 2007/10/08
- Re: [ft-devel] About the Cmap format 12, Werner LEMBERG, 2007/10/08
- Re: [ft-devel] About the Cmap format 12, George Williams, 2007/10/08
- Re: [ft-devel] About the Cmap format 12, mpsuzuki, 2007/10/08
- Re: [ft-devel] About the Cmap format 12, George Williams, 2007/10/08
- Re: [ft-devel] About the Cmap format 14,
George Williams <=
- Re: [ft-devel] About the Cmap format 14, Werner LEMBERG, 2007/10/10
- Re: [ft-devel] About the Cmap format 14, George Williams, 2007/10/10
- Re: [ft-devel] About the Cmap format 14, Werner LEMBERG, 2007/10/11
- Re: [ft-devel] About the Cmap format 14, David Turner, 2007/10/19
- Re: [ft-devel] About the Cmap format 14, Werner LEMBERG, 2007/10/19
- Re: [ft-devel] About the Cmap format 14, David Turner, 2007/10/19
- Re: [ft-devel] About the Cmap format 14, Werner LEMBERG, 2007/10/19
- Re: [ft-devel] About the Cmap format 14, David Turner, 2007/10/19
- Re: [ft-devel] About the Cmap format 14, George Williams, 2007/10/19
- Re: [ft-devel] About the Cmap format 14, Werner LEMBERG, 2007/10/20