Product Information
2G3 Firmware Design and Reference
Working with Unicode Fonts
Fundamentally, computers just deal with numbers. They store letters and other characters by
assigning a number for each one. Before Unicode was invented, there were hundreds of different
encoding systems for assigning these numbers. No single encoding could contain enough
characters. For example, the European Union alone requires several different encodings to cover all
of it's languages. Even for a single language like English, no single encoding was adequate for all
the letters, punctuation, and technical symbols in common use.
These encoding systems also conflict with one another. That is, two encodings can use the same
number for two different characters, or use different numbers for the same character. Any given
computer (especially servers) needs to support many different encodings; yet whenever data is
passed between different encodings or platforms, that data always runs the risk of corruption.
The design of Unicode is based on the simplicity and consistency of ASCII, but goes far beyond
ASCII's limited ability to encode only the Latin alphabet. The Unicode Standard provides the
capacity to encode all of the characters used for the written languages of the world. To keep
character coding simple and efficient, the Unicode Standard assigns each character a unique
numeric value and name.
The original goal was to use a single 16-bit encoding that provides code points for more than
65,000 characters. While 65,000 characters are sufficient for encoding most of the many thousands
of characters used in major languages of the world, the Unicode standard and ISO/IEC 10646 now
support three encoding forms that use a common repertoire of characters but allow for encoding as
many as a million more characters. This is sufficient for all known character encoding
requirements, including full coverage of all historic scripts of the world, as well as, common
notational systems.
Unicode can use up to double word (32 bit) values to assign numbers to characters. That allows
character locations in the millions. Most characters are assigned values in word (2 byte, or 16 bit)
values. If you have a 32 bit Operating System like Windows NT, 2000, or XP, you can view fonts
that have many characters beyond the basic ASCII set up to 128 and the extended ASCII up to 255
characters. The use of the Windows utility "Character Map" will show you that fonts like Arial and
Tahoma have Hebrew and Arabic characters, as well as our normal Latin (English) alphabet.
Unicode in TPDesign
TPD3 does not truly have full support for Unicode fonts. The challenge of displaying Unicode
characters on our touch panels was first addressed in TPDesign version 3.12. This version
supported a method to create a font containing a limited number of Unicode characters, primarily
from Far Eastern character sets. This and subsequent versions require a touch panel firmware
upgrade (version 3.20 or greater), and for Far Eastern character sets will require the use of a
localized version of Windows that includes an IME (Input Method Editor) for entering the foreign
language characters. The IME allows the user to select characters (glyphs) based on inputting some
identifying characteristics of the glyph, then selecting the correct glyph from the set that matches
the input.
TPDesign then rasterizes that character and stores it in a special font set created in the project. The
font set will have only the glyphs selected in the IME available for display on the panel. The touch
panels have always been unable to store the full extent of a Unicode font. A full Unicode font