Font Selection
Author: Luc Maranget

## B.15 Font Selection

- Changing the Type Style
- Changing the Type Size
- Special Symbols

### B.15.1 Changing the Type Style

All LATEX 2є declarations and environments for changing type style are recognised. Aspect is rather like LATEX 2є output, but there is no guarantee.

As html does not provide the same variety of type styles as LATEX does. However css provide a wide variety of font properties. HEVEA uses generic properties, proper rendering will then depend upon user agent. For instance, it belongs to the user agent to make a difference between italics (rendered by the font style “italic”) and slanted (rendered by the font style “oblique”).

Here is how HEVEA implements text-style declarations by default:

`\itshape` |  | font-style:italic
`\slshape` |  | font-style:oblique
`\scshape` |  | font-variant:small-caps
`\upshape` |  | no style
`\ttfamily` |  | font-family:monospace
`\sffamily` |  | font-family:sans-serif
`\rmfamily` |  | no style
`\bfseries` |  | font-weight:bold
`\mdseries` |  | no style

Text-style commands also exists, they are defined as `\mbox{\`decl…`}`. For instance, `\texttt` is defined as a command with one argument whose body is `\mbox{\ttfamily#1}`. Finally, the `\emph` command for emphasised text also exists, it yields text-level `em` elements.

As in LATEX, type styles consists in three components: shape, series and family. HEVEA implements the three components by making one declaration to cancel the effect of other declarations of the same kind. For instance consider the following source, that exhibits shape changes:

    {\itshape italic shape \slshape slanted shape
    \scshape small caps shape \upshape upright shape}

Then, in the rendering below, “small caps shape” appears in small caps shape only and not in italics:

> italic shape slanted shape small caps shape upright shape

Old style declarations are also recognised, they translate to text-level elements. However, no elements are cancelled when using old style declaration. Thus, the source “`{\sl\sc slanted and small caps}`” yields “slanted” small caps: “slanted and small caps”. Users need probably not worry about this. However this has an important practical consequence: to change the default rendering of type styles, one should redefine old style declaration in order to benefit from the cancellation mechanism. See section 10.2 for a more thorough description.

### B.15.2 Changing the Type Size

All declarations, from `\tiny` to `\Huge` are recognised. Output is not satisfactory inside headers elements generated by sectioning commands.

### B.15.3 Special Symbols

The `\symbol{`num`}` outputs character number num (decimal) from the Unicode character set. This departs from LATEX, which output symbol number num in the current font.