Fonts in XFree86 : Additional notes about TrueType support
Previous: Fonts and internationalisation
Next: Appendix: background and terminology

5. Additional notes about TrueType support

This version of XFree86 comes with two TrueType backends, FreeType (module `freetype', formerly known as xfsft) and X-TrueType (module `xtt'). These two backends are not compatible: only one of them can be used at any one time.

In order to use the FreeType backend, please check that the `Module' section of your `XF86Config' file contains a line that reads

Load "freetype"

In order to use the X-TrueType backend, replace the line in your XF86Config file that loads the freetype module with a line that reads

    Load "xtt"

Both TrueType backends delay glyph rasterisation up to the time at which a glyph is first used. For this reason, they only provide an approximate value for the ``average width'' font property.

Both backends also support an optimisation for character-cell fonts (fonts with all glyph metrics equal, or terminal fonts). A font with an XLFD specifying a character-cell spacing `c', as in

-misc-mincho-medium-r-normal--0-0-0-0-c-0-jisx0208.1990-0
will not rasterise glyphs at metrics computation time, but instead trust the font really to be a character-cell font. You are encouraged to make use of this optimisation when useful, but be warned that not all monospaced fonts are character-cell fonts.

5.1. The FreeType TrueType backend

The FreeType backend (formerly xfsft) is a backend based on the FreeType library (see the FreeType web site) and has support for the ``fontenc'' style of internationalisation (see Section The fontenc layer). This backend supports TrueType Font files (`*.ttf') and TrueType Collections (`*.ttc').

In order to access the faces in a TrueType Collection file, the face number must be specified in the fonts.dir file before the filename within colons. For example,

:2:mincho.ttc -misc-mincho-medium-r-normal--0-0-0-0-c-0-jisx0208.1990-0
refers to face 2 in the `mincho.ttc' TrueType Collection file.

The FreeType backend uses the fontenc layer in order to support recoding of fonts; this was described in Section The fontenc layer and especially Section FreeType-specific notes about fontenc earlier in this document.

5.2. The X-TrueType TrueType backend

The `X-TrueType' backend is another backend based on the FreeType library. X-TrueType doesn't use the `fontenc' layer for managing font encodings, but instead uses its own database of encodings. However, X-TrueType includes a large number of encodings, and any encoding you need is likely to be present in X-TrueType.

X-TrueType extends the `fonts.dir' syntax with a number of options, known as `TTCap'. A `TTCap' entry follows the general syntax

:option=value:
and should be specified before the filename.

The most useful TTCap option is used to specify the face number to use with TTCs; this is the `fn' TTCap option. For example, face 2 of font file `mincho.ttc' is specified using:

:fn=2:mincho.ttc -misc-mincho-medium-r-normal--0-0-0-0-c-0-jisx0208.1990-0
More information on the TTCap syntax, and on X-TrueType in general, may be found on the X-TrueType home page.


Fonts in XFree86 : Additional notes about TrueType support
Previous: Fonts and internationalisation
Next: Appendix: background and terminology