cheshirekow
v0.1.0
|
An enumeration used to specify character sets supported by charmaps. Used in the FT_Select_Charmap API function. More...
Enumerations | |
enum | Encoding { NONE = EncTag<0,0,0,0>::value, MS_SYMBOL = EncTag<'s','y','m','b'>::value, UNICODE = EncTag<'u','n','i','c'>::value, SJIS = EncTag<'s','j','i','s'>::value, GB2312 = EncTag<'g','b',' ',' '>::value, BIG5 = EncTag<'b','i','g','5'>::value, WANSUNG = EncTag<'w','a','n','s'>::value, JOHAB = EncTag<'j','o','h','a'>::value, ADOBE_STANDARD = EncTag<'A','D','O','B'>::value, ADOBE_EXPERT = EncTag<'A','D','B','E'>::value, ADOBE_CUSTOM = EncTag<'A','D','B','C'>::value, ADOBE_LATIN_1 = EncTag<'l','a','t','1'>::value, OLD_LATIN_2 = EncTag<'l','a','t','2'>::value, APPLE_ROMAN = EncTag<'a', 'r', 'm', 'n'>::value } |
An enumeration used to specify character sets supported by charmaps. Used in the FT_Select_Charmap API function. More... | |
An enumeration used to specify character sets supported by charmaps. Used in the FT_Select_Charmap API function.
An enumeration used to specify character sets supported by charmaps. Used in the FT_Select_Charmap API function.
Despite the name, this enumeration lists specific character repertories (i.e., charsets), and not text encoding methods (e.g., UTF-8, UTF-16, etc.).
Other encodings might be defined in the future.
FT_ENCODING_NONE is set by the BDF and PCF drivers if the charmap is neither Unicode nor ISO-8859-1 (otherwise it is set to FT_ENCODING_UNICODE). Use FT_Get_BDF_Charset_ID to find out which encoding is really present. If, for example, the ‘cs_registry’ field is ‘KOI8’ and the ‘cs_encoding’ field is ‘R’, the font is encoded in KOI8-R.
FT_ENCODING_NONE is always set (with a single exception) by the winfonts driver. Use FT_Get_WinFNT_Header and examine the ‘charset’ field of the FT_WinFNT_HeaderRec structure to find out which encoding is really present. For example, FT_WinFNT_ID_CP1251 (204) means Windows code page 1251 (for Russian).
FT_ENCODING_NONE is set if ‘platform_id’ is TT_PLATFORM_MACINTOSH and ‘encoding_id’ is not TT_MAC_ID_ROMAN (otherwise it is set to FT_ENCODING_APPLE_ROMAN).
If ‘platform_id’ is TT_PLATFORM_MACINTOSH, use the function FT_Get_CMap_Language_ID to query the Mac language ID which may be needed to be able to distinguish Apple encoding variants. See
http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT
to get an idea how to do that. Basically, if the language ID is 0, don't use it, otherwise subtract 1 from the language ID. Then examine ‘encoding_id’. If, for example, ‘encoding_id’ is TT_MAC_ID_ROMAN and the language ID (minus 1) is ‘TT_MAC_LANGID_GREEK’, it is the Greek encoding, not Roman. TT_MAC_ID_ARABIC with ‘TT_MAC_LANGID_FARSI’ means the Farsi variant the Arabic encoding.