Fonts/Use fonts distributed with ConTeXt
First, have a look at the 21 provided fonts and the associated typescript name:
Change the font used in the document
To change the font used in the entire document (including headers and footers), use \setupbodyfont and the associated typescript name.
\setupbodyfont[thetypescriptname]
By default, the font is used at 11pt. To change the font size, specify the font size with the the typescript name. For example, to switch to 10pt, use:
\setupbodyfont[typescriptname, 10pt]
By default, the serif (or roman) style of the font is used. To switch to sans serif style, add ss
to \setupbodyfont:
\setupbodyfont[typescriptname, ss]
These options can be combined. So, to get sans serif font at 12pt, use:
\setupbodyfont[typescriptname, ss, 12pt]
To learn how to use different alternative styles of a given font, like regular / bold / italic, see the Font_Switching in the Basics.
Example
-
Let see what give the defaults:
\setupbodyfont[10pt] \startbuffer[line] The quick brown fox jumps over the lazy dog \stopbuffer \startlines \normal{\getbuffer[line]} \italic{\getbuffer[line]} \bold{\getbuffer[line]} \bolditalic{\getbuffer[line]} \stoplines
-
And let's view the difference with Tex Gyre Pagella Serif font:
\setupbodyfont[pagella,10pt] \startbuffer[line] The quick brown fox jumps over the lazy dog \stopbuffer \startlines \normal{\getbuffer[line]} \italic{\getbuffer[line]} \bold{\getbuffer[line]} \bolditalic{\getbuffer[line]} \stoplines
You can switch to any other font with \switchtobodyfont.
How to mix the provided fonts
- #1. With \definefontfamily, give a name to the set of fonts you want to use, and indicate a first font.
-
- Let's start with a Serif font, for which TeX practice is to refer to them as rm for Roman
\definefontfamily[MyFontIdentifier][rm][familynameoftheseriffont]
- !!! WARNING !!!, , it's not the typescript name that we have to use, but the family name of the font
- see under each preview in the overview table
- or use
mtxrun --script font --list --file -pattern=*typescriptname*
likemtxrun --script font --list --file -pattern=*pagella*
- !!! WARNING !!!, , it's not the typescript name that we have to use, but the family name of the font
- #2. For the other fonts, just continue to add them to your font family.
-
- ss for Sans Serif, tt for TypewriTer, mm for MatheMatics.
\definefontfamily[MyFontIdentifier][ss][familynameofthesansseriffont] \definefontfamily[MyFontIdentifier][tt][familynameofthemonospacedfont] \definefontfamily[MyFontIdentifier][mm][familynameofthemathfont]
- As you see, a limit here is that in TeX practice, we only have one roman, one sans serif... per font family.
- in order to use more fonts, like width variation ("condensed",...), and weight variation ("light",...), we have to define other font family (MyFontIdentifier-condensed, MyFontIdentifier-light), and to switch between them along the document, with \switchtobodyfont.
- #3. Declare your font family as the default for your document with \setupbodyfont, as you would do for a typescript.
\setupbodyfont[MyFontIdentifier]
Example
-
This basic input is typeset with the default font, Latin Modern:
\setupbodyfont[12pt] {\rm The quick brown fox jumps over the lazy dog}\\ {\rm\bf The quick brown fox jumps over the lazy dog}\\ {\rm\it The quick brown fox jumps over the lazy dog}\\ \\ {\ss The quick brown fox jumps over the lazy dog}\\ {\ss\bf The quick brown fox jumps over the lazy dog}\\ {\ss\it The quick brown fox jumps over the lazy dog}\\ \\ {\tt The quick brown fox jumps over the lazy dog}\\ {\tt\bf The quick brown fox jumps over the lazy dog}\\ {\tt\it The quick brown fox jumps over the lazy dog}\\ \\ Inline math: $x = \frac{y}{2z} + x_{\text{center}}$\\
-
And let's view the difference with our new set of fonts:
\setupbodyfont[12pt] \definefontfamily [MyFontIdentifier] [rm] [texgyrepagella] \definefontfamily [MyFontIdentifier] [ss] [texgyreadventor] \definefontfamily [MyFontIdentifier] [tt] [texgyrecursor] \definefontfamily [MyFontIdentifier] [mm] [stixtwomath] \setupbodyfont[MyFontIdentifier] {\rm The quick brown fox jumps over the lazy dog}\\ {\rm\bf The quick brown fox jumps over the lazy dog}\\ {\rm\it The quick brown fox jumps over the lazy dog}\\ \\ {\ss The quick brown fox jumps over the lazy dog}\\ {\ss\bf The quick brown fox jumps over the lazy dog}\\ {\ss\it The quick brown fox jumps over the lazy dog}\\ \\ {\tt The quick brown fox jumps over the lazy dog}\\ {\tt\bf The quick brown fox jumps over the lazy dog}\\ {\tt\it The quick brown fox jumps over the lazy dog}\\ \\ Inline math: $x = \frac{y}{2z} + x_{\text{center}}$\\