Accéder au contenu principal
☀️ Summer Founder's Deal : licence à vie FontCreator à $49 (au lieu de $199). Offre limitée — se termine le 14 juillet. Profiter de l'offre →

FontCreator Tutorials

Glyph Name Convention

written by Erwin Denissen, published June 26, 2026

FontCreator — the font editor for Windows and macOS — gives every character and glyph a friendly name so you can identify it at a glance and so the program can automate work on your behalf. Friendly names feed OpenType layout features, composites, and glyph metrics expressions, which is why naming your glyphs properly matters from the start.

Treat this page as an important reference once you start adding alternates, ligatures, or composites. You don't need every rule on day one — but the moment you build a stylistic set, a small-caps variant, or a multi-glyph ligature, the naming convention is what lets FontCreator wire those glyphs into features and composites automatically. Names like a.ss01, period.case, g.smcp, f_f_i.liga, or a-cy.locl aren't cosmetic; each suffix or underscore tells the program how the glyph is reached.

In the early years, it was a requirement to have glyph names stored within a font. There was a pre-defined list of names, but only for a selected list of Unicode code points. It was not a comprehensive list, and since the names were mostly redundant information taking up space, nowadays most fonts are shipped without glyph names.

During production, it is important to easily identify glyphs by their name, especially when you haven't added outlines yet. Also, some glyphs look alike, or you've provided alternates. For this purpose, we are not bound to the glyph names used for release; instead, we use friendly names that are also used to automate things. The glyph names are not only used to generate automated OpenType layout features, but also in glyph metrics expressions, so it is important to give your glyphs proper names.

Friendly glyph name convention

So FontCreator uses friendly names for all characters and glyphs, which allows you to quickly identify them — but how should you name them?

First, the friendly glyph names are case sensitive, so "adotbelow" and "Adotbelow" are two different names.

We make a distinction between a character (mapped glyph) and unmapped glyphs. A character is a glyph with a Unicode code point. An unmapped glyph has no code point assigned to it, and thus is not a character. An unmapped glyph can still represent a character, but you are not able to access it directly within a word processing application. OpenType layout features allow you to access those unmapped glyphs, and that is where the name convention comes into play.

Characters (mapped glyphs) start with the actual friendly description of the character. If the character belongs to a non-Latin script, the abbreviation for the script (which starts with a hyphen) is added. Some examples:

Friendly NameCode-pointScriptUnicode description
Ccedilla$00C7LatinLATIN CAPITAL LETTER C WITH CEDILLA
Five$0035-DIGIT FIVE
A-cyrl$0410CyrillicCYRILLIC CAPITAL LETTER A
fi$FB01LatinLATIN SMALL LIGATURE FI
zacute$017ALatinLATIN SMALL LETTER Z WITH ACUTE

Unmapped glyphs have a name that leads back to the source character(s). There are two groups of unmapped glyphs:

  • Ligatures
  • Character variants

A ligature is a glyph that consists of several characters. The name for the ligature is the concatenation of the names of the glyphs that make up the ligature, with an underscore between the individual glyph member names.

Friendly NameBased On
f\_f\_if, f, and i
f\_f\_jf, f, and j
z\_gravecombz and gravecomb

A discretionary or required ligature usually also carries a feature suffix so the program knows which feature reaches it — for example f_f_i.liga for the standard liga ligature feature.

A character variant is an alternate form of another character, glyph, or ligature. Give it the same name as the mapped glyph and add a suffix that identifies how the glyph can be accessed through OpenType layout features. Examples:

Friendly NameBased OnVariant
Ccedilla.ss01CcedillaStylistic Set 01
five.supsfiveSuperscript
A-cyrl.pcapA-cyrlPetite Capitals
a.smcpaSmall Capitals
period.caseperiodCase-Sensitive Forms
a-cy.locla-cyLocalized Forms
zero.zerozeroSlashed Zero
sheen\_yehhamzaabove-arab.finasheen-arab and yehhamzaabove-arabFinal Form

If a glyph name is used in an OpenType script, it could cause issues with the parser if it contains specific characters. One of them is the hyphen, which is both used to provide a script to the glyph name and to define a range of glyphs. In such a case, the glyph name comes between double quotation marks.

> Tip: Suffixes like .ss01, .sups, and .fina aren't decoration — they tell FontCreator how a variant is reached. Naming an alternate a.ss01 lets the program wire it into the Stylistic Set 01 feature automatically.

Generate glyph names

Generate Glyph Names (available through the main menu → Tools → Glyph Names → Generate) will generate glyph names for all glyphs with a known code point. It will also try to set names for glyphs that are used in the specified OpenType layout features.

Glyph names and exporting fonts

If you wish to include glyph names in your generated fonts, it is best to select Regenerate for release in the Export Settings. This way you can provide friendly glyph names to be used for production only.

> Note: Friendly names are your working names. "Regenerate for release" keeps them tidy for production output without forcing you to rename glyphs in your project.

Frequently asked questions

Are glyph names case sensitive? Yes. "adotbelow" and "Adotbelow" are two different names, so be consistent with capitalisation.

Do my fonts need glyph names to work? No. Most fonts ship without glyph names. The names matter during production — for identifying glyphs, building OpenType features, and writing metrics expressions — not for the font to function.

How do I name an alternate or stylistic variant? Give it the same base name as the original glyph, then add the feature suffix, for example Ccedilla.ss01 for Stylistic Set 01 or five.sups for superscript.

What about glyph names that contain a hyphen inside an OpenType script? Wrap the name in double quotation marks. The hyphen is also used to denote a script and to define glyph ranges, so quoting avoids confusing the parser.

Does this naming convention carry over when round-tripping with Glyphs? Friendly names are designed for clean interchange. FontCreator round-trips with the .glyphs version 3 format, and consistent friendly names keep glyphs identifiable across the trip.

What to read next