Chinese Fonts
字体技术 Font Technologies
Click on any word to see more details.
A computer font is a file including a set of glyphs, characters, or symbols and a way to map the numeric codes for text into graphic images. The difference between a character and a glyph is that a character is a concept and a glyph is the image that is displayed. In most fonts there will be a single glyph for each character but this is not the case in some languages, such as Arabic, where the glyph for a character depends on the adjacent characters. Many fonts also include information on how to layout characters that are next to each other.
The three basic types of fonts are
- Bitmap fonts, also known as raster fonts, that represent characters as a series of pixels
- Vector fonts, also known as outline fonts, that represent fonts in terms of the outlines of the characters using Bézier curves
- Stroke fonts, which outline the glyphs instead of individual characters
Bitmap fonts are the simplest to create and render quickly. Their disadvantage is that they need to be created for each individual size of font, since they do not scale well.
Vector fonts have overcome the advantage of bitmap fonts in that they do not need to be specified for each individual font size. They do this by leveraging the ability of vector graphics to scale more effectively. This scaling, however, is not perfect, which results in the need of the font designer to provide hinting on how to render the fonts at low resolutions. There are a number of standards for vector font files:
- PostScript, a vector graphics and vector font file format from Adobe
- TrueType, a standard developed by Apple Computer in the 1980s
- OpenType, a standard developed by Microsoft, with contributions from Adobe, announced in 1996. This is commonly used on all major computing platforms today.
- Scalable Vector Graphics (SVG) defined by the World Wide Web Consortium (W3C). This is a relatively new format, specified in an XML file.
Outline fonts typically use paths to describe the outlines of characters, including Bézier curves (splines) and line segments. PostScript fonts use cubic splines. TrueType fonts use quadratic splines. SVG fonts can use either cubic or quadratic splines. All paths in an outline font must be closed. A closed path has a direction, either clockwise or counter-clockwise (anti-clockwise). Every glyph in a fonts has its own Cartesian coordinate system with the origin at the font baseline. This is different to a graphics coordinate system, which is inverted with the origin at the upper left corner. Most font file formats use integers between -32768 and 32767 to describe path coordinates.
Outline fonts are scalable, that is the user of the font can set the size, usually in points. So the designer of the font cannot be design in terms of points. An em is a relative font unit. For example, if a font is 20 points then one em will be 20 points. Fonts are usually designed in terms of em's and fractions of an em. Different font formats also divide em's into internal units. PostScript uses 1000 units to the em; Truetype uses either 1024 or 2048 units to the em.
Font metrics describe the proportions of the font in relation to a baseline. The baseline is the line that Latin characters rest on. Font metrics include the distance of the descent, the distance that the font drops to below the baseline; the x-height, the distance above the baseline of the mean height; the ascent, the height above the mean height, and; the cap height, the distance from the baseline to the top of an upper case letter.
Each glyph has an advance width that is the horizontal distance from origin of one character to the origin of the next. CJK glyphs also have a vertical advance with to allow for them to be written from top to bottom.
Here are some terms that you may come across when dealing with font technology:
- "Hinting" is a technique to draw font lines nicely at low resolutions. This is a PostScript term; TrueType uses the term "Instructing".
- Compact Font Format (CFF) is a format used by OpenType.
- A Character Identifier (CID), a number used to refer to CJK characters in some PostScript files.
Glyphs can also be built using references to other glyphs. This was done with accented characters in mind but might also be useful for CJK radicals.
TeX was an early technology for typesetting for high quality fonts on computers initiated by Donald Knuth. One of the main focuses of TeX was display and layout of elegant but complex mathematical formulae. Knuth initiated this project in the 1970s when he found the computer technology for mathematical formulae and high quality printing in general to be lacking after experiences publishing the second edition of his classic book The Art of Computer Programming. Today, there are a number of technologies for rendering fonts in widespread use, including
- Uniscribe, the Microsoft font rendering engine for Unicode fonts
- FreeType, a GPL open source font rending engine
- Pango, an LGPL open source font rending engine
Chinese companies have innovated considerably in font technologies. An example is the company Hanwang with its input devices and e-book.
For more on OpenType technology see Type Technology [Adobe 2010a]. For more on TrueType technology see Fonts at [Apple 2010a]. For more on Microsoft font technologies see the Microsoft Typography web page [Microsoft 2010c]. For more on Freetype open source project see the Freetype Project web page [Freetype]. For more on SVG fonts see the Scalable Vector Graphics web page [W3C 2010]. For more on Hanwang e-book technologies see [Hanwang 2010].
Dictionary cache status: not loaded