Use fonts distributed with ConTeXt

From Wiki
Jump to navigation Jump to search


First, have a look at the 21 provided fonts and the associated typescript name:

How to use one of the provided fonts

#1. Declare the font you want to use for your document with \setupbodyfont and the associated typescript name.
  • \setupbodyfont[thetypescriptname]
#2. Specify the font size
  • \setupbodyfont[xxpt]

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[12pt]
    
    {\rm The quick brown fox jumps over the lazy dog}\\
    {\it The quick brown fox jumps over the lazy dog}\\
    {\bf The quick brown fox jumps over the lazy dog}\\
    {\bi The quick brown fox jumps over the lazy dog}\\
    
  • And let's view the difference with Tex Gyre Pagella Serif font:
    \setupbodyfont[12pt]
    \setupbodyfont[pagella]
    {\rm The quick brown fox jumps over the lazy dog}\\
    {\it The quick brown fox jumps over the lazy dog}\\
    {\bf The quick brown fox jumps over the lazy dog}\\
    {\bi The quick brown fox jumps over the lazy dog}\\
    

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 roman (=rm)
  • here, 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).
  • \definefontfamily[MyFontIdentifier][rm][familynameoftheseriffont]
#2. For the other styles, just add more fonts 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]
#3. Declare your font family as the default for your document with \setupbodyfont
  • \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}\\
    
  • And by adding the two lines discussed above, and using the reference to Tex Gyre Pagella Serif font (texgyrepagella) we obtain:
    \definefontfamily [MyFontIdentifier] [rm] [texgyrepagella]
    \definefontfamily [MyFontIdentifier] [ss] [texgyreadventor]
    \definefontfamily [MyFontIdentifier] [tt] [texgyrecursor]
    \setupbodyfont[MyFontIdentifier]
    \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}\\
    
  • the limit is that in TeX practice, we only have one roman, one sans serif... per font family.
  • in order to use more (like width variation like "condensed", or weight variation like "light" etc...) we have to define other font family (MyFontIdentifier-condensed, MyFontIdentifier-light)