TrueType(5X) TrueType(5X)
NAME
TrueType, truetype - Support for TrueType fonts in the X Server
DESCRIPTION
The X server has the capability to display TrueType fonts. The operating system currently supplies only Chinese TrueType fonts, but you can
add other TrueType fonts to your system. Doing so makes them available to applications that use TrueType fonts without having to modify
those applications. See CONFIGURATION for details.
The X server displays TrueType fonts by invoking the TrueType font rasterizer (or font renderer). The implementation of this rasterizer
includes FreeType and xfsft source code.
Note
When the TrueType rasterizer was built, the portions of source code encumbered by a third-party patent were omitted. This means that the
rasterizer does not include a bytecode interpreter. Some TrueType fonts rely on a bytecode interpreter; if so, their glyphs might be drawn
incorrectly by the rasterizer.
See LEGAL NOTICES for more information about software origin, patents, and trademarks.
FONT FILE REQUIREMENTS
The TrueType font rasterizer handles a TrueType font file that meets the following requirements: The extension of the font file is or The
file has a Unicode charmap, which means that each font glyph index is encoded in Unicode (UCS-2). See Unicode(5) for more information about
UCS-2..
CONFIGURATION
The configuration of TrueType fonts is the same as for bitmap fonts, except that the fonts.dir file has to be created manually rather than
by the mkfontdir command. Follow these steps to configure TrueType fonts: Create a directory for the new font. You can choose the name and
location of this directory. A typical location choice is under /usr/var/X11/fonts. Copy your TrueType fonts into the new directory. Cre-
ate a fonts.dir file in the new directory. Information about what to put in this file follows this list of steps. Create a fonts.alias
file, if necessary. The fonts.alias file maps font names to other font names or string identifiers. See mkfontdir(1X) for more information
about this file. If the worldwide support subsets (which include support for languages other than those that use the Latin-1 character
set) are installed on your system, the /sbin/init.d/xfs script is automatically run at system startup to ensure that the TrueType raster-
izer is included in the list of font renderers known to the font server.
If the worldwide support subsets (and therefore the /sbin/init.d/xfs script) are not installed on your system, you must add
/usr/shlib/X11/libfr_TrueType.so to the list of font renderers following the renderers keyword in the font server's configuration
file. You must then stop and restart the font server to enable TrueType font support. See xfs(1X) for more information. Use the
xset command to add the name of the new font directory to the X server's font path.
Each time the font path is set (by using the xset command), the X server and font server read the directory's fonts.dir and
fonts.alias files to obtain font information.
Following is an example fonts.dir file:
2
sample_fixed.ttf -sample-fixed-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
sample_fixed.ttf -sample-fixed-medium-r-normal--0-0-0-0-m-0-iso8859-1
In this example, 2 in the first line specifies the number of fonts defined in the file. The second and third lines are the two font defini-
tions.
Each font definition pairs the file name of the font with its XLFD font name. In this case, both of the fonts being defined are derived
from the same font file (sample_fixed.ttf) but contain glyphs for different character sets. The character set information is specified in
the CHARSET_REGISTRY-CHARSET_ENCODING field of an XLFD font name. In the first font definition the value of this field is gb2312.1980-0
(Simplified Chinese) and in the second definition the value is iso8859-1 (Latin-1, or Western European).
CHARSET_REGISTRY-CHARSET_ENCODING values are standard. The following list specifies the CHARSET_REGISTRY-CHARSET_ENCODING values for all
character sets supported by the TrueType rasterizer. The item description specifies the character set and languages associated with each
CHARSET_REGISTRY-CHARSET_ENCODING value. (Languages are listed only following the character sets for which the operating system has support
in addition to codeset converters.) ISO 8859-1 character set (Western European languages). ISO 8859-2 character set (Czech, Hungarian,
Polish, Slovak, Slovene). ISO 8859-3 character set. ISO 8859-4 character set (Lithuanian). ISO 8859-5 character set (Russian). ISO
8859-6 character set. ISO 8859-7 character set (Greek). ISO 8859-8 character set (Hebrew). ISO 8859-9 character set (Turkish). ISO
8859-15 character set (Western European languages). TIS 620-2533 character set (Thai). JIS X0201-1976 character set (Japanese JIS
Roman/Katakana). JIS X0201-1976 character set (Japanese JIS Roman/Katakana). JIS X0208-1983 character set (Japanese Ideographics). JIS
X0208-1983 character set (Japanese Ideographics). JIS X0208-1983 character set (Japanese Ideographics). JIS X0208-1983 character set (Ja-
panese Ideographics). JIS X0208-1990 character set (Japanese Ideographics). JIS X0208-1990 character set (Japanese Ideographics). JIS
X0212-1990 character set (Japanese Supplemental Ideographics). JIS X0212-1990 character set (Japanese Supplemental Ideographics). KSC
5601-1987 character set (Korean Ideographics). KSC 5601-1987 character set (Korean Ideographics). GB2312-80 character set (Simplified
Chinese Ideographics). GB2312-80 character set (Simplified Chinese Ideographics). GBK character set (Extended Simplified Chinese Ideo-
graphics). CNS 11643-1986 character set (Traditional Chinese Ideographics). CNS 11643-1986 character set (Traditional Chinese Ideograph-
ics). CNS 11643-1986 character set (Traditional Chinese Ideographics). DTSCS character set (Traditional Chinese Ideographics). Big-5
character set (Traditional Chinese Ideographics). Universal Character Set (Unicode).
Note
An XLFD font name contains a SPACING field, for which c (CharCell), m (Monospaced), or p (Proportional) can be specified. Although you can
specify m or p in font definitions for non-Asian languages, always specify c in font definitions that support Chinese, Japanese, or Korean.
The reason for this is efficiency. When font definitions contain m or p in the SPACING field, the TrueType rasterizer tries to load all the
glyphs when opening the font. Fonts for some Asian languages contain thousands of glyphs, only a subset of which will by used by most
users. Therefore, loading all of the glyphs at once takes a lot of time, much of it unnecessary. When the SPACING value is c, the raster-
izer loads glyphs as they are needed.
FILES
TrueType font files. File that defines each font by its XLFD font name and the file in which the font is stored. File that lists aliases
for font names. TrueType font rasterizer. Script that can create a font server configuration file, and start and stop the font server.
LEGAL NOTICES
TrueType is a trademark of Apple Computer, Inc., and Apple has patents on some portions of TrueType-related technology. However, the
FreeType code is built with the TT_CONFIG_OPTION_NO_INTERPRETER macro defined. This prevents any patented software from being built into
the rasterizer.
The FreeType software was developed by David Turner (david.turner@freetype.org), Robert Wilhelm (robert.wilhelm@freetype.org), and Werner
Lemberg (werner.lemberg@freetype.org). The xfsft software was developed by Juliusz Chroboczek (jec@dcs.ed.ac.uk).
SEE ALSO
Commands: mkfontdir(1X), X(1X), Xdec(1X), xfs(1X), xset(1X)
Others: i18n_intro(5), l10n_intro(5), Unicode(5)
X Window System Environment
Writing Software for the International Market
TrueType(5X)