|TrueType and Unicode|
The Unicode Consortium's web site|
BackgroundThe Unicode character encoding standard is a fixed-width, uniform text and character encoding scheme. It includes characters from the world's scripts, as well as technical symbols in common use. The Unicode standard is modeled on the ASCII character set. Since ASCII's 7-bit character size is inadequate to handle multilingual text, the Unicode Consortium adopted a 16-bit architecture which extends the benefits of ASCII to multilingual text. Unicode characters are consistently 16 bits wide, regardless of language, so no escape sequence or control code is required to specify any character in any language. Unicode character encoding treats symbols, alphabetic characters, and ideographic characters identically, so that they can be used simultaneously and with equal facility. Computer programs that use Unicode character encoding to represent characters but do not display or print text can (for the most part) remain unaltered when new scripts or characters are introduced.
From the introduction to "The Unicode Standard Version 1.0", Addison-Wesley 1991
Unicode in TrueTypeTrueType fonts for use on Microsoft platforms are expected to contain a Unicode-based character mapping table (part of the 'cmap' table in the file). With the format 4 subtable used for this, 16-bit characters are mapped to 16-bit glyph numbers using an efficient encoding scheme.
Fonts of characters not in Unicode should use characters from F000 In this terminology, characters are semantic entities that mean exactly the same regardless of the font style, whereas glyphs are stylistic things, the actual images that are printed. In many situations, the distinction between characters and glyphs is blurry, but in character mappings it is useful to separate them.
However, full Unicode support for the computer user depends on much more than the internal layout of his or her TrueType fonts. It relies on the operating system providing function libraries that accept Unicode 2-byte strings, and applications that utilize these new functions. So far, Windows NT and Java have good Unicode support internally. Windows 95 does not, although it was intended to until near its launch. (Indeed there are books on internationalizing your Windows programs that assume the release version of Windows 95 would have Unicode functionality: the beta versions did!) No major applications yet support Unicode.
Unicode Fonts?There's no definition of what constitutes a Unicode font. However the following fonts contain enough of "Unicode space" to be considered useable in many environments where a single font must work for many languages and symbol systems.
TYPE*chimérique | TrueType Typography | TYPE*links