next up previous contents
Next: Font file loading information Up: Font installation Previous: Font definition files

Font definition file commands

Note: A font definition file should contain only commands from this subsection.

Note that these commands can also be used outside a font definition file: they can be put in package or class files, or even in the preamble of a document.


The file should announce itself with a \ProvidesFile command, as described in LaTeX2e for Class and Package Writers. For example:

   \ProvidesFile{t1ptm.fd}[1994/06/01 Adobe Times font definitions]

\DeclareFontFamily {<encoding>} {<family>} {<loading-settings>}

Declares a font family <family> to be available in encoding scheme <encoding>.

The <loading-settings> are executed immediately after loading any font with this encoding and family.

Checks that <encoding> was previously declared.

This example refers to the Computer Modern Typewriter font family in the Cork encoding:


Each .fd file should contain exactly one \DeclareFontFamily command, and it should be for the appropriate encoding/family combination.

\DeclareFontShape {<encoding>} {<family>} {<series>} {<shape>}
{<loading-info>} {<loading-settings>}

Declares a font shape combination; here <loading-info> contains the information that combines sizes with external fonts. The syntax is complex and is described in Section 4.3 below.

The <loading-settings> are executed after loading any font with this font shape. They are executed immediately after the `loading-settings' which were declared by \DeclareFontFamily and so they can be used to overwrite the settings made at the family level.

Checks that the combination <encoding><family> was previously declared via \DeclareFontFamily.


             <<5-8>> sub * cmr/m/n
             <<8>> cmsl8
             <<9>> cmsl9
             <<10>> <<10.95>> cmsl10
             <<12>> <<14.4>> <<17.28>> <<20.74>> <<24.88>> cmsl12
The file can contain any number of \DeclareFontShape commands, which should be for the appropriate <encoding> and <family>.

The font family declarations for the OT1-encoded fonts now all contain:

This enables the use of an alternative \hyphenchar in other encodings whilst maintaining the correct value for all fonts.

Rainer Schoepf
Thu Jan 8 11:52:24 MET 1998