In addition to script and language specific punctuation and native numbers, the following glyphs are highly recommended for inclusion in fonts.
.notdef - the very first glyph!
All fonts must include a .notdef (missing character) glyph as first glyph (glyph index 0). The .notdef glyph is very important for providing the user feedback that a glyph is not found in the font. For example, if your font doesn’t contain the at sign (@), the user will see the .notdef glyph to warn the user about the fact the actual character is missing.
Note: sometimes an operating system, a word processor, web browser, etc. will use a fallback font, so the user will still see characters that are not included in the actual font.
This glyph should not be left without an outline as the user will only see what looks like a space if a glyph is missing and will not be aware of the active font’s limitation. It is recommended that the shape of the .notdef glyph be either an empty rectangle, a rectangle with a question mark inside of it, or a rectangle with an X. Creative shapes, like swirls or other symbols, may not be recognized by users as indicating that a glyph is missing from the font and is not being displayed at that location.
Note: since the .notdef glyph is important, there is an option that will ensure it is always included as first glyph in your exported fonts. See the options dialog.
Obsolete glyphs - .null and nonmarkingreturn
The .null and nonmarkingreturn glyphs used to be required, but they no longer need to be included in your fonts. If you include them, it is best to follow these guidelines:
.null -> glyph index 1; no contours; zero advance width.
nonmarkingreturn -> glyph index 2; no contours; advance width equals the advance width of the space glyph.
Note: there is one exception: COLR version 0 color fonts should implement glyph index 1 as the .null glyph, as some early Windows implementations of the COLR table require it.
Space
Obviously a very important character is the space. It usually comes right after the above mentioned glyphs, but its position is no longer relevant. The space glyph is often mapped to both space and no-break space; it has no contours and positive advance width.
General punctuation and Latin numbers
Glyph Name |
Descriptive Name |
Sample |
Unicode |
---|---|---|---|
space |
space |
|
$0020 |
exclam |
exclamation mark |
! |
$0021 |
quotedbl |
quotation mark |
" |
$0022 |
numbersign |
number sign |
# |
$0023 |
dollar |
dollar sign |
$ |
$0024 |
percent |
percentsign |
% |
$0025 |
ampersand |
ampersand |
& |
$0026 |
quotesingle |
apostrophe |
' |
$0027 |
parenleft |
left parenthesis |
( |
$0028 |
parenright |
right parenthesis |
) |
$0029 |
asterisk |
asterisk |
* |
$002A |
plus |
plus sign |
+ |
$002B |
comma |
comma |
, |
$002C |
hyphen |
hyphen-minus |
- |
$002D |
period |
period |
. |
$002E |
slash |
slash |
/ |
$002F |
zero |
digit zero |
0 |
$0030 |
one |
digit one |
1 |
$0031 |
two |
digit two |
2 |
$0032 |
three |
digit three |
3 |
$0033 |
four |
digit four |
4 |
$0034 |
five |
digit five |
5 |
$0035 |
six |
digit six |
6 |
$0036 |
seven |
digit seven |
7 |
$0037 |
eight |
digit eight |
8 |
$0038 |
nine |
digit nine |
9 |
$0039 |
colon |
colon |
: |
$003A |
semicolon |
semicolon |
; |
$003B |
less |
less-than sign |
< |
$003C |
Quotes and Ellipsis
Smart quotes (also known as curly quotes) are fancy characters which make text look better compared to the straight apostrophe (') and straight quote or inches character ("). Microsoft Word also automatically changes 3 periods to an ellipsis.
If your font does not support these characters, you can either turn the "Smart Quotes" and "Ellipsis" features off in the application (In Microsoft Word it’s under Tools -> AutoCorrect) or make sure these glyphs and their mappings are available in the font.
Glyph Name |
Descriptive Name |
Sample |
Unicode |
---|---|---|---|
quoteleft |
left single quotation mark |
‘ |
$2018 |
quoteright |
right single quotation mark |
’ |
$2019 |
quotedblleft |
left double quotation mark |
“ |
$201C |
quotedblright |
right double quotation mark |
” |
$201D |
ellipsis |
horizontal ellipsis |
… |
$2026 |
Other suggested glyphs
Glyph Name |
Descriptive Name |
Sample |
Unicode |
---|---|---|---|
nbspace * |
no-break space |
|
$00A0 |
currency |
currency sign |
¤ |
$00A4 |
section |
section sign |
§ |
$00A7 |
logicalnot |
not sign |
¬ |
$00AC |
degree |
degree sign |
° |
$00B0 |
paragraph |
paragraph sign |
¶ |
$00B6 |
periodcentered |
middle dot |
• |
$00B7 |
endash |
en dash |
– |
$2013 |
emdash |
em dash |
— |
$2014 |
bullet |
bullet |
• |
$2022 |
euro |
euro currency symbol |
€ |
$20AC |
* nbspace is usually mapped to the space glyph
Additional glyphs for complex script fonts
Glyph Name |
Descriptive Name |
Sample |
Unicode |
---|---|---|---|
zerowidthspace |
Zero width space |
|
$200B |
zwnj |
Zero width non-joiner |
|
$200C |
zwj |
Zero width joiner |
|
$200D |
dottedcircle |
Dotted circle |
◌ |
$25CC |
multiply |
Multiplication sign |
× |
$00D7 |
figuredash |
Figure dash |
‒ |
$2012 |
horizontalbar |
Horizontal bar |
― |
$2015 |
whitemediumsquare |
White medium square |
◻ |
$25FB |
blackmediumsquare |
Black medium square |
◼ |
$25FC |
whitemediumsmallsquare |
White medium small square |
◽ |
$25FD |
blackmediumsmallsquare |
Black medium small square |
◾ |
$25FE |