Encoding unicode question

peterbruhn's picture

Since I always get confused about encoding & unicode:

A customer wants a font delivered TT Unicode with the characters from ISO 8859-15 (Latin 9).

Would what I choose in the codepages window in Fontlab make any difference, for instance "MS Window 12252 Latin 1" (couldn't find an ISO 8859-15 in the codepages list

Thomas Phinney's picture

I'll simplify things just a little, but....

An encoding is a means of defining which characters are covered by the glyphs in the font, and relating those characters to the glyphs. So in a Unicode encoding the character numbered 20AC is the euro, and in a particular font might correspond to glyph number 571, while in another font it might be glyph 14. (Glyph numbering being simply the physical order of glyphs in the font, the "glyph index.")

In a WinANSI encoding, the euro is encoded at (decimal) 128, while in MacRoman, it is encoded at (decimal) 219.

A codepage is a defined set of characters, often (though not always) a single-byte set. Virtually always a heck of a lot smaller than all of Unicode. Back in the old days of single-byte fonts, you'd actually use the codepage with the associated encoding. These days, if you're using Unicode encoding, you may still declare which codepages (defined character sets) are covered by the font's total character set. One font can then support several or many codepages.

In your particular case, it seems there is no defined Mac or Windows codepage corresponding to the particular character set you are using. I recommend that you claim coverage for codepage 1252 anyway, because if you don't claim any codepage support your font won't show up in the font menu of some common applications (we found that one out the hard way).

I hope this helps!


twardoch's picture


FontLab Studio 5 will ship with a ISO 8859-15 codepage definition. What your customer wants is "TT Unicode with the characters from ISO 8859-15 (Latin 9)." This means that the customer wants the glyph repertoire from ISO 8859-15, but not the ISO 8859-15 encoding. The simple difference: an encoding is a set of glyphs with a particular order, while a glyph repertoire is a set of glyphs with no specified order.

That is, the the font is supposed to include all the characters that are covered in ISO 8859-15, but the ordering/encoding should be Unicode.

Go to http://www.unicode.org, download the ISO 8859-15 character set definition (in the Unicode data section) and make sure that your fonts includes all characters with Unicodes mentioned in the ISO 8859-15 definition.


twardoch's picture

BTW: In FontLab terms, a codepage is a form of encoding. FontLab encodings are glyph orderings by glyph name, FontLab codepages are glyph orderings by Unicode.

peterbruhn's picture

Thank you for narrowing it down for me Thomas.
I understand it much better now.

As you said it's just the letters/glyphs that the customer was after

twardoch's picture


please submit a problem report via http://font.to/Font-tools/FontLab-Product-Support/ , attaching the font (.vfb and .ttf).

Adam Twardoch
Fontlab Ltd.

Syndicate content Syndicate content