Encoding choices for symbolic fonts
Sometimes people make fonts that don’t have letters and such in them, but instead have some kind of symbols.
In many cases such symbols have legitimate encoding slots in the Unicode standard, which is used to dictate encoding for most fonts made today. But working with unusual characters from Unicode can be a bit of a pain. So sometimes people assign unusual symbols to the same slots as A, B, C, etcetera. This is technically wrong, but often convenient.
Here is a quick guide to the options and tradeoffs when creating a symbol or “pi” font. This advice is applicable across all font creation tools, not only ours.
- Use “proper” Unicode codepoints for all glyphs in your font. This means looking up correct Unicode codepoints for the symbols.
- Disadvantage: People won’t be able to type the symbols directly, unless you create custom keyboard drivers for your font. Likely they will need to use a character picker built into their OS or app.
- Advantages: If they switch fonts to another one that has the right symbols properly encoded, their content will remain correct. Unicode/text purists won’t complain.
- Use “normal” codepoints for your symbols, so that your symbols are assigned to a, b, c, 1, 2, 3, etc.
- Disadvantage: If people switch fonts, the symbols will turn into alphabetic gibberish, and it may not even be apparent what was intended. Also, that alphabetic gibberish really is the underlying text, so this approach will confuse screen readers, search, and other things that rely on understanding the text. As a result, it is considered technically “wrong.”
- Advantage: Can by typed off the keyboard!
- Use Private Use Area Unicode codepoints. These are codepoints reserved for special purposes, that have no pre-set meaning.
- Disadvantages: Has all the disadvantages of using proper Unicode, plus most of the disadvantages of of assigning the symbols to alphabetic codepoints
- Advantage: usually none, unless others have used these PUA codepoints in some consistent way.
How to Choose
Trackback from your site.