TrueType, truetype - Support for TrueType fonts in the X
Server
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 [Toc] [Back] 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..
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 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 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-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 definitions.
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_REGISTRYCHARSET_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
(Japanese 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
Ideographics). CNS 11643-1986 character set (Traditional
Chinese Ideographics). CNS 11643-1986 character set (Traditional
Chinese Ideographics). 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 rasterizer loads glyphs as they are needed.
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.
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
([email protected]), Robert Wilhelm (robert.wil[email protected]), and Werner Lemberg (werner.lem[email protected]). The xfsft software was developed by
Juliusz Chroboczek ([email protected]).
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)
[ Back ] |