Fonts in XeTeX - Old Content

From Wiki
Revision as of 01:41, 26 November 2004 by Adam (talk | contribs) (New page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

< XeTeX | Fonts >

Fonts get special treatment in XeTeX. By supporting a rich, within-TeX means of font specification, one avoids the usual difficulties associated with the TeX font mess: no dealing with map files, encodings, Karl Berry naming schemes, tfms, or virtual fonts. This page describes the various typescripts introduced with type-xtx.

Common among all these typescripts is the Unicode encoding: [encoding=uc]

Compatibility Typescripts

The first class of typescript enables one to use familiar typescripts, such as times, palatino, postscript, and the like, from type-exa. The following typescripts are defined for the uc encoding:

times 
Times Roman - no slanted, no small caps
palatino 
Book Antiqua - (Apple's Palatino clone) no slanted, no small caps
helvetica 
Helvetica Neue - Apple's default Helvetica doesn't offer an oblique, so Helvetica Neue is substituted
courier 
Courier - No italics or oblique. None of Apple's default monospaced fonts ship with an oblique, so this typescript is necessarily limited.
lucida 
Lucida Bright, Sans, Typewriter, Calligraphy, Handwriting, and Fax are all provided with Microsoft's Office 2004. For those with that software and those fonts, these typescripts are provided to take advantage of the predefined ones in ConTeXt. Keep in mind that the lucida math fonts are still for-pay only.

You can simply invoke these typescripts with the familiar calls, except that they have the uc encoding:

\usetypescript[times][uc]
\setupbodyfont[times]

Please note that there is absolutely no attempt to retain font metrics, so this will almost certainly re-flow legacy documents.

Wildcard typescripts

XeTeX offers some nice features in terms of automatically finding related fonts in a family, namely the italic, bold, and bolditalic alternatives. To take advantage of that, there's a set of wildcard typescripts that take an arbitrary Macintosh font name as input, and provide as many of the alternatives it can find. To set these typescripts (and the calling conventions) apart from the familiar ones, the typescripts are identified with Xserif, Xsans, and Xmono. As they use some specific XeTeX features, they all use the uc encoding.

To call the typescripts, it's most convenient to define a typeface that uses these features. The named font slot should contain the display name of the Regular alternative (not the family name) of the font in question. The typefaces are callable with four, five, or six arguments:

\definetypeface[myface][rm][Xserif][Baskerville]
\definetypeface[myface][ss][Xsans] [Optima Regular][default][encoding=uc,rscale=.87]
\definetypeface[myface][tt][Xmono] [Courier]       [default]

As you can see, you can activate relative scaling of face sizes. The above definitions look very much like any other typeface definition, except that the serif/sans/mono identifier is preceded with X, and that there is no underlying "Optima Regular" typescript defined anywhere. The rest is typescript and XeTeX magic.

Other typescripts

Creating your own typescripts

Other font specifications

--Adam 02:39, 26 Nov 2004 (CET)