Additional notes about TrueType support

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