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 operat‐
ing 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 ras‐
terizer (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.
Create 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 sup‐
port for languages other than those that use the Latin-1 character set)
are installed on your system, the /sbin/init.d/xfs script is automati‐
cally run at system startup to ensure that the TrueType rasterizer 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-nor‐
mal--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 defi‐
nitions.
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 (Simpli‐
fied 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 descrip‐
tion 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, Pol‐
ish, 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 charac‐
ter 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 char‐
acter set (Japanese Ideographics). JIS X0208-1983 character set (Japa‐
nese Ideographics). JIS X0208-1983 character set (Japanese Ideograph‐
ics). JIS X0208-1990 character set (Japanese Ideographics). JIS
X0208-1990 character set (Japanese Ideographics). JIS X0212-1990 char‐
acter set (Japanese Supplemental Ideographics). JIS X0212-1990 charac‐
ter set (Japanese Supplemental Ideographics). KSC 5601-1987 character
set (Korean Ideographics). KSC 5601-1987 character set (Korean Ideo‐
graphics). GB2312-80 character set (Simplified Chinese Ideographics).
GB2312-80 character set (Simplified Chinese Ideographics). GBK charac‐
ter set (Extended Simplified Chinese Ideographics). CNS 11643-1986
character set (Traditional Chinese Ideographics). CNS 11643-1986 char‐
acter set (Traditional Chinese Ideographics). CNS 11643-1986 character
set (Traditional Chinese Ideographics). DTSCS character set (Tradi‐
tional 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 rasterizer loads
glyphs as they are needed.
FILESTrueType 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 NOTICESTrueType 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 raster‐
izer.
The FreeType software was developed by David Turner
(david.turner@freetype.org), Robert Wilhelm (robert.wil‐
helm@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)