Mappings - Character to Glyph Index Mappings

Previous  Next

A character encoding is a table in a font, which maps character codes to the relevant shape (glyph) in a font. Not all operating systems use the same character encoding, with Macintosh and Windows using different systems.


Select the appropriate platform and glyph and then modify the Character to Glyph Index Mappings. Each platform uses an encoding format that can be changed. Normally this format should not be changed.


Don't use Unicode ranges 0xD800 - 0xDBFF (High Surrogate Area) and 0xDC00 - 0xDFFF (Low Surrogate Area) to assign characters as these areas are reserved for use with UTF-16.


Encoding Format

All Windows platforms (Unicode and Symbol) must provide at least a Segment mapping to delta values encoding format.


If the font is meant to support UCS-4 (surrogate) characters, it will additionally need a Windows Unicode UCS-4 platform with Segmented coverage encoding format. Use the Platform Manager to add new platforms.

To enable backward compatibility needs, the contents of the Segmented coverage mappings need to be a superset of the contents of the Segment mapping to delta values mappings, so the first 64k codepoint to glyph mappings must be identical. To meet this requirement press the Include Windows  Unicode BMP (UCS-2) button.


The High-byte mapping through table encoding format is useful for the national character code standards used for Japanese, Chinese, and Korean characters.


When building a font containing Roman characters that will be used on the Macintosh, an additional Macintosh Roman platform is required. Macintosh (Apple) platforms standard encoding format is Byte encoding table, however High-byte mapping through table, Segment mapping to delta values and Trimmed table mapping are also allowed. When using the Byte encoding table only the first 256 glyphs will be accessible.


Note the Trimmed table mapping is not a common encoding format although sometimes used with the Macintosh platforms.


If available the Unicode platforms should use the Segment mapping to delta values encoding format.


Note: Character codes that do not correspond to any glyph in the font will be mapped to glyph index 0 even when there is no such mapping in the font. The glyph at this location must be a special glyph representing a missing character.


Because some word processors and DTP applications depend on the Macintosh Roman mappings they should be included as well.


All glyphs will be available for word processing and illustration programs through their mappings. Not all glyphs have mappings because some glyphs are only used internally for making the composite glyphs.


Windows uses a Unicode or a Symbol mapping scheme. This does not mean that all versions of Microsoft's Windows support all mappings.


Note: All numbers are in decimal (for example 383) or hexadecimal (for example 0x017F) format. You can switch between these formats in the Options window on the General page, available through Options from the Tools menu.


Symbol character sets have a special meaning. All of the characters in the Unicode range 0xF000 - 0xF0FF (this is the Private Use Area of Unicode) will be used to enumerate the symbol character set. Microsoft suggests deriving the symbol encodings by simply adding 0xF000 to the Macintosh encodings.


Note: only the first 224 characters of symbol fonts will be accessible, a space and up to 223 printing characters.