I am working with an application that uses so-called "symbol fonts", a specific type of TrueType font. From what I've gathered, these fonts behave a bit different than usual, specifically in how the characters/glyphs are mapped. However, I have been unable to find out what actually makes a TrueType font a symbol font.
My searching so far has yielded pretty much nothing. All that I've found mentioning any sort of details is the user manual of a font editor I have, which says that symbol fonts have glyphs mapped to the Unicode private use area at 0xF000, but are "enumerated" in the range 0x00 to 0xFF (whatever that's supposed to mean). Sure enough, when inspecting the data of some symbol fonts, I see in the cmap table that the glyphs are mapped only in the 0xF000 range... so then by what mechanism do they get to the 0x00 range? A seemingly simple question, but one that's seemingly not answered anywhere.
So what exactly makes a TrueType font a symbol font?
(Side note/question: I've heard that symbol fonts are a legacy thing, mainly replaced by so-called "Unicode fonts", which provide Unicode character mappings for Unicode-aware systems. In this case, how can symbol fonts, which predate Unicode, even provide mappings in the Unicode private use area? Wouldn't all characters be in the 0x00 to 0xFF range anyway and no "symbol font" remapping magic be required?)
Reset to default