Home   All Products  |   Support  |   Search  | Home  

Microsoft Typography | Developer | VOLT specification
UI | Main | Proj window | Glyph grp | Subs tool | Posi tool | Glyph def | Proof tool | Output

Glyph Definition Tool


The Glyph Definition Tool allows the user to view and edit glyph names and classification and their correspondence to Unicode characters (CMAP entries).



The Glyph Definition Tool consists of the Header and Glyph Table.

The Glyph Table is a scrollable table that lists all glyphs present in the font with:

  • their shapes;
  • their IDs and glyph names;
  • their Unicode code points (for those glyphs that are mapped to Unicode characters)
  • their GDEF types,
  • number of components in each glyph

One of the cells in the Glyph Table can be selected (highlighted) by clicking on it.

The Header contains editable fields for the glyph selected from the Glyph Table. That is, it has:

  • the non-editable glyph shape field that shows the glyph shape at a large point size;
  • the non-editable glyph ID field;
  • the Unicode character field; editing this field edits the CMAP table;
  • the glyph name field. This name could be edited; glyph names could also be saved and then loaded into a different font. Changing a glyph's name fixes up all tables where this glyph is referenced by name.
  • the glyph type drop-down. Possible glyph types are: "Unknown", "Base", "Ligature", "Mark" and "Component". By default glyphs start as "Unknown". Changes made to glyph types affect the composition of standard glyph groups (<Base>, <Mark> etc.)
  • The "Components" drop-down box that lest you pick the number of components in the glyph. Usually base glyphs and marks have one component each, ligatures have two or more components. The declared number of components affects mark-to-ligature positioning lookups and caret positioning. VOLT also checks that the number of components is preserved during substitutions and reports a warning if it does not.
    Chaining the number of components to a smaller number may cause some information loss in positioning lookups. the user is warned every time this may occur.



Clicking on a cell from the Glyph Table selects that glyph's information into the Header.

Editing CMAP

Editing the Unicode character field in the header changes the CMAP entry for this glyph. CMAP is re-compiled every time during compilation; if conflicting CMAP entries are found, they are reported as compilation errors.

Editing glyph name and type

Changing glyph name and type could be done in the Header.

When changing the glyph's name we fix up all places where this name is used.

Please note that changing glyph type may produce compilation errors next time during compilation as certain uses (e.g. use in a mark attachment class) require glyphs to have certain types (e.g. "Mark"). Also, VOLT checks for consistency between glyph type and Unicode classification for glyphs that are mapped to Unicode values by the CMAP table (optional). Warnings are reported during compilation for those glyphs where the two classifications don't match.

Editing the number of components

The user can edit the number of components for the selected glyph through the "Components" drop-down box. this affects the mark-to-ligature positioning lookups and caret positioning. the user gets warned before decreasing the number of components (because it may yield to information loss).


The Glyph Table can be scrolled so that all glyphs are accessible.


The size of a cell is affected by the "Font Size" option form the Options menu. With small font size, more of the glyphs can be seen at the same time.


The information from the Glyph Definition Tool is used in compiling the GlyphClassDef table in GDEF. The Unicode code points are used for compiling the CMAP table.

this page was last updated 13 August 1999
© 1999 Microsoft Corporation. All rights reserved. Terms of use.
comments to the MST group: how to contact us


UI | Main | Proj window | Glyph grp | Subs tool | Posi tool | Glyph def | Proof tool | Output
Microsoft Typography | Developer | VOLT specification