Fonts

From Wiki
Jump to navigation Jump to search

How to use one of the provided fonts: 4 steps, 10 sec.

#1. First, be aware of the 21 fonts provided.
#2. Give a name to the set of fonts you want to use and select a first font
  • Use the command \definefontfamily.
  • Let's take an example, for a Serif font, for which TeX practice is to refer to them as roman (=rm)
  • \definefontfamily[MyFontIdentifier][rm][refcode to the serif font]
#3. Declare it as your default font family for your document
#4. 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]
    {The quick brown fox jumps over the lazy dog}\\
    {\bf The quick brown fox jumps over the lazy dog}\\
    {\it The quick brown fox jumps over the lazy dog}\\
    
  • And let's add the two lines, using Tex Gyre Pagella Serif font (ref:texgyrepagella):
    \definefontfamily [MyFontIdentifier] [rm] [texgyrepagella]
    \setupbodyfont[MyFontIdentifier]
    \setupbodyfont[12pt]
    {The quick brown fox jumps over the lazy dog}\\
    {\bf The quick brown fox jumps over the lazy dog}\\
    {\it The quick brown fox jumps over the lazy dog}\\
    

How to use more than one of the provided fonts: 1 step, 5 sec.

#1. Very similarly to above, just select a second font
  • for a Sans Serif font, for which TeX practice is to refer to them as Sans Serif (=ss)
  • \definefontfamily[MyFontIdentifier][ss][refcode to the sans serif font]
  • for a monospaced font, for which TeX practice is to refer to them as TypewriTer (=tt)
  • \definefontfamily[MyFontIdentifier][tt][refcode to the monospaced font]


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}\\
    


How to use my new font

Let's take a example, we want to use Noto Serif.

#1. Download
  • The google website enable us to download a zip file with the 4 alternative styles:
    • Regular 400
    • Regular 400 italic
    • Bold 700
    • Bold 700 italic
#2. Store them is a dedicated folder
  • create a "Noto-serif" in the ConTeXt distribution tex/texmf-fonts.
  • unzip and store the .ttf file in tex/texmf-fonts/Noto-serif/.
#3. Regenerate ConTeXt databases
  • the file database: mtxrun --generate
  • the fonts database: mtxrun --script font --reload
#4. Find how are called the 4 styles for ConTeXt
  • mtxrun --script font --list --file -pattern=*noto*
#5. Define them as a new typescript (ConTeXt vocabulary)
\starttypescript [serif] [notoserif]
  \definefontsynonym[NotoSerif-Regular]         [file:NotoSerif-Regular]
  \definefontsynonym[NotoSerif-Italic]          [file:NotoSerif-Italic]
  \definefontsynonym[NotoSerif-Bold]            [file:NotoSerif-Bold]
  \definefontsynonym[NotoSerif-BoldItalic]      [file:NotoSerif-BoldItalic]
\stoptypescript
#6. Define them as part of your font family, here as a roman
\definefontfamily [MyFontIdentifier] [rm] [notoserif]

TODO: naming conventions for definefontssymonym ? (See: To-Do List)


Template:todo:How to use font from your system.