Ligatures and Alternates Private Use Codes

I’ve created standard ligatures, stylistic alternates, and a few icon glyphs in my font, and by default each of those glyphs do not have unicode values (just names, e.g. T_T.liga and A.ss01), I’m wondering if it’s best practice to add Private Use Area unicode values to each of these glyphs (the ligatures and alternates) or if I should just leave them blank/unencoded?

My understanding is that Open-type savvy programs, with the features turned on, will make those glyphs active/accessible even if i don’t assign a PUA unicode value, but what about lower-end programs that aren’t savvy and won’t make those ligature and alternate glyphs accessible if leaving unencoded?

In short, should i assign PUA unicode values (in addition to their auto-assigned names, e.g. T_T.liga) to ligatures and alternates (and icons) or should i leave the Unicode field blank?

So for example, “T_T.liga” would be the name and “E001” would be the PUA unicode value… “A.ss01” name with “E002” unicode, and so on.


You should leave the Unicode blank.

Thanks for your reply…

If i leave the unicode blank for those (ligatures and alternates), would users who have software that is not open-type friendly not be able to access these glyphs? Would assigning a PUA allow them to access through 3rd party extensions?

I assume that it’s still good to use a PUA for icons/dingbats (that are not mapped to a unicode already) within that font?

If leaving blank seems best, i’ll do that, just want to make it work for as many users as possible, but also correct.


Unicode is a character encoding, not a glyph encoding. IOW, Unicode does not exist to fix broken fonts. If f and t have a Unicode, you do not need to (and should not) assign a code to the ft ligature. If you give a ligature a Unicode, you will break copy-pasting, searching, and switching between fonts, which are some of the things that Unicode actually is there for. So don’t do that unless you really want to break functionality, which, I assume, is not your intention. Please read the Unicode tutorial. There are also good books about Unicode if you want to know more about the subject.

For icons, it is useful to assign PUA codes as they don’t have meaning in a character sense. But to work around missing OpenType support it is bad (as @mekkablue explained).

Thanks @mekkablue and @GeorgSeifert for expanding on this further, I did want more understanding and to do what was correct… while also considering how to make the font as accessible to users as possible.