# Difference between revisions of "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]

\startlines
\normal{Upright: The quick brown fox \unknown}
\bold{Bold: The quick brown fox \unknown}
\italic{Italic: The quick brown fox \unknown}
\bolditalic{Bolditalic: The quick brown fox \unknown}
\stoplines

• And let's view the difference with Tex Gyre Pagella Serif font:
\setupbodyfont[pagella,10pt]

\startlines
\normal{Upright: The quick brown fox \unknown}
\bold{Bold: The quick brown fox \unknown}
\italic{Italic: The quick brown fox \unknown}
\bolditalic{Bolditalic: The quick brown fox \unknown}
\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* like mtxrun --script font --list --file -pattern=*pagella*
#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[7pt]
\startbuffer[line]
The quick brown fox jumps over
\stopbuffer

\startbuffer[sample]
\startTABLE
\NC \type{\normal}
\NC \normal{\getbuffer[line]}
\NC \NR
\NC \type{\italic}
\NC \italic{\getbuffer[line]}
\NC \NR
\NC \type{\bold}
\NC \bold{\getbuffer[line]}
\NC \NR
\NC \type{\bolditalic}
\NC \bolditalic{\getbuffer[line]}
\NC \NR
\stopTABLE
\stopbuffer

\startlines
\type{\serif}
\serif{\getbuffer[sample]}

\type{\sans}
\sans{\getbuffer[sample]}

\type{\mono}
\mono{\getbuffer[sample]}

\type{\math}
\math{x = \frac{y}{2z} + x_{\text{center}}}
\stoplines

• And let's view the difference with our new set of fonts:
\definefontfamily [MyFontIdentifier]
[rm] [texgyrepagella]
\definefontfamily [MyFontIdentifier]
\definefontfamily [MyFontIdentifier]
[tt] [texgyrecursor]
\definefontfamily [MyFontIdentifier]
[mm] [stixtwomath]
\setupbodyfont[MyFontIdentifier, 7pt]
\startbuffer[line]
The quick brown fox jumps over
\stopbuffer

\startbuffer[sample]
\startTABLE
\NC \type{\normal}
\NC \normal{\getbuffer[line]}
\NC \NR
\NC \type{\italic}
\NC \italic{\getbuffer[line]}
\NC \NR
\NC \type{\bold}
\NC \bold{\getbuffer[line]}
\NC \NR
\NC \type{\bolditalic}
\NC \bolditalic{\getbuffer[line]}
\NC \NR
\stopTABLE
\stopbuffer

\startlines
\type{\serif}
\serif{\getbuffer[sample]}

\type{\sans}
\sans{\getbuffer[sample]}

\type{\mono}
\mono{\getbuffer[sample]}

\type{\math}
\math{x = \frac{y}{2z} + x_{\text{center}}}
\stoplines