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.

`\ProvidesFile{<file-name>}[<release-info>]`

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>.

Checks that <encoding> was previously declared.

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

`   \DeclareFontFamily{T1}{cmtt}{\hyphenchar\font=-1}`

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

`\DeclareFontShape` {<encoding>} {<family>} {<series>} {<shape>}

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`.

Example:

```   \DeclareFontShape{OT1}{cmr}{m}{sl}{%
<<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:

`  \hyphenchar\font=`\-`
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