Starting with Emacs 23, fonts are specified by their name, size and optional properties. The format for specifying fonts comes from the fontconfig library used in modern Free desktops:
[Family[-PointSize]][:Option1=Value1[:Option2=Value2[...]]]
The old XLFD based format is also supported for backwards compatibility.
Emacs 23 supports a number of backends. Currently, the gdi
and uniscribe font backends are supported on Windows. The
gdi font backend is available on all versions of Windows, and
supports all fonts that are natively supported by Windows. The
uniscribe font backend is available on Windows 2000 and later,
and supports Truetype and Opentype fonts. Some languages requiring
complex layout can only be properly supported by the uniscribe
backend. By default, both backends are enabled if supported, with
uniscribe taking priority over gdi.
Optional properties common to all font backends on MS-Windows are:
weightlight,
medium, demibold, bold, and black can be specified
without weight= (⁖, Courier New-12:bold). Otherwise,
the weight should be a numeric value between 100 and 900, or one of the
named weights in font-weight-table. If unspecified, a regular font
is assumed.
slantroman, italic and oblique can be specified
without slant= (⁖, Courier New-12:italic).
Otherwise, the slant should be a numeric value, or one of the named
slants in font-slant-table. On Windows, any slant above 150 is
treated as italics, and anything below as roman.
familypixelsizeadstylemono, sans, serif,
script and decorative are recognized. These are most useful
as a fallback with the font family left unspecified.
registryw32-charset-info-alist here.
spacingp spacing specifies
a proportional font, and m or c specify a monospaced font.
foundryraster for bitmapped fonts, outline for scalable fonts,
or unknown if the type cannot be determined as one of those.
Options specific to GDI fonts:
scriptThe following scripts are recognized on Windows: latin, greek,
coptic, cyrillic, armenian, hebrew, arabic,
syriac, nko, thaana, devanagari, bengali,
gurmukhi, gujarati, oriya, tamil, telugu,
kannada, malayam, sinhala, thai, lao,
tibetan, myanmar, georgian, hangul,
ethiopic, cherokee, canadian-aboriginal, ogham,
runic, khmer, mongolian, symbol, braille,
han, ideographic-description, cjk-misc, kana,
bopomofo, kanbun, yi, byzantine-musical-symbol,
musical-symbol, and mathematical.
antialiasnone
means no antialiasing, standard means use standard antialiasing,
subpixel means use subpixel antialiasing (known as Cleartype on Windows),
and natural means use subpixel antialiasing with adjusted spacing between
letters. If unspecified, the font will use the system default antialiasing.