Understanding how fonts work in ConTeXt - Old Content

From Wiki
Revision as of 08:40, 28 August 2008 by Mbork (talk | contribs) (A link to a page on fonts with MkIV for beginners)
Jump to navigation Jump to search

At the beginning, this page said:

This page is a draft (currently kind of a personal notebook) which I hope will evolve into some kind of ::beginner's guide to understanding what's going on in ConTeXt as far as fonts are concerned. Currently I ::can hardly understand anything about it, but I keep on asking on the mailing list;) ::(http://archive.contextgarden.net/thread/20080304.225545.5990b35d.en.html) and I'm going to post the ::answers here.

Now things have changed; I dropped the topic (I guess it was a bit too difficult for me). I'm leaving the rest of this page unchanged in case it is helpful for someone (below the next paragraph).

Recently, two things have changed. First, a chapter on fonts for the manual has been written; it is easier to read than the previous one, although still obscure in some places (at least for me). Second (and more important), I asked another question on the mailing list, concerning TeX-Gyre support in Mark IV. I think the answer deserves a new wiki page (or am I wrong?), so I post it here: A Beginner's Guide to Using Fonts in Mark IV. The idea is that the page says how to easily use fonts (or rather typescripts) in Mark IV, so that you just take a ready-to-use recipe from there and paste it into your document.

Most of the following material comes from the answers I got on the mailing list and/or the documentation (mfonts.pdf). Since crediting people for each and every answer would be cumbersome, I'd like to thank here all of you that helped me understand ConTeXt (especially Hans, of course).

Please correct any errors you spot on this page! I'm a ConTeXt newbie and write here what I guess is right, but I might as well be wrong. Don't rely on any information marked with a question sign! (Still, I hope I'll get it more or less right...)

--Mbork 15:28, 5 March 2008 (CET)

How to typeset in, say, Palatino

\usetypescriptfile[type-gyr]
\usetypescript[palatino][qx]
\setupbodyfont[palatino,10pt]

\starttext
Hello world, I'm Palatino!
\stoptext

\usetypescriptfile loads a given file (type-gyr.tex in this case). This file usually contains definitions of typescripts. The core typescript files (such as type-tmf.tex, type-one.tex in pdTeX or type-otf.tex in LuaTeX/XeTeX, ...) are already preloaded, so you would usually need this only to load your own definitions. \usetypescriptfile[type-gyr] will soon become obsolete (TeX Gyre will be the default).

\usetypescript kind of "selects" (?) the specified typescript from that file. It takes up to three parametres and their rôles are still cryptic to me...

Defining typescripts

One of the keys for defining typescripts is clever usage of the \definefontsynonym command. It takes 2 or three parameters. Example from mfonts.pdf:

\definefontsynonym[Serif][Times-Roman]
\definefontsynonym[Times-Roman][tir][encoding=texnansi]

The first case - with two arguments - makes Serif kind of an "alias" (?) for Times-Roman. Both names are completely independent of name of the font file. This is clever, since instead of fiddling with font file names one can say Times-Roman and just don't care where it resides on tbe disk. Or even better: one can say Serif and don't care whether the final version of the document will use Times, Palatino or Latin Modern.

The second one makes Times-Roman an "alias" (?) for font stored in the file called tir (probably with some extension?). The third argument specifies the encoding (it might be qx, for instance, or something else) and possibly another options, like features=smallcaps (for opentype fonts). Encoding is used by pdfTeX only - XeTeX and LuaTeX both use Unicode (Mojca - thanks for this point!). Other possibilities include mapping and handling, but don't ask me about these;).