B.7. Font Specification Options

By default, Emacs displays text in the font named 9x15, which makes each character nine pixels wide and fifteen pixels high. You can specify a different font on your command line through the option -fn name (or -font, which is an alias for -fn).

-fn name, -font=name

Use font name as the default font.

Under X, each font has a long name which consists of eleven words or numbers, separated by dashes. Some fonts also have shorter nicknames--9x15 is such a nickname. You can use either kind of name. You can use wildcard patterns for the font name; then Emacs lets X choose one of the fonts that match the pattern. Here is an example, which happens to specify the font whose nickname is 6x13:

emacs -fn "-misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1" &

You can also specify the font in your .Xdefaults file:

emacs.font: -misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1

A long font name has the following form:

-maker-family-weight-slant-widthtype-style…
…-pixels-height-horiz-vert-spacing-width-charset

maker

This is the name of the font manufacturer.

family

This is the name of the font family--for example, courier.

weight

This is normally bold, medium or light. Other words may appear here in some font names.

slant

This is r (roman), i (italic), o (oblique), ri (reverse italic), or ot (other).

widthtype

This is normally condensed, extended, semicondensed or normal. Other words may appear here in some font names.

style

This is an optional additional style name. Usually it is empty--most long font names have two hyphens in a row at this point.

pixels

This is the font height, in pixels.

height

This is the font height on the screen, measured in tenths of a printer's point--approximately 1/720 of an inch. In other words, it is the point size of the font, times ten. For a given vertical resolution, height and pixels are proportional; therefore, it is common to specify just one of them and use * for the other.

horiz

This is the horizontal resolution, in pixels per inch, of the screen for which the font is intended.

vert

This is the vertical resolution, in pixels per inch, of the screen for which the font is intended. Normally the resolution of the fonts on your system is the right value for your screen; therefore, you normally specify * for this and horiz.

spacing

This is m (monospace), p (proportional) or c (character cell).

width

This is the average character width, in pixels, multiplied by ten.

charset

This is the character set that the font depicts. Normally you should use iso8859-1.

You will probably want to use a fixed-width default font--that is, a font in which all characters have the same width. Any font with m or c in the spacing field of the long name is a fixed-width font. Here's how to use the xlsfonts program to list all the fixed-width fonts available on your system:

xlsfonts -fn '*x*' | egrep "^[0-9]+x[0-9]+"
xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-m*'
xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-c*'

To see what a particular font looks like, use the xfd command. For example:

xfd -fn 6x13

displays the entire font 6x13.

While running Emacs, you can set the font of the current frame (Section 19.12) or for a specific kind of text (Section 13.1).