Difference between revisions of "Fonts/Use fonts distributed with ConTeXt"
(70 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | First, have a look at the [[ConTeXt distribution's Fonts|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 {{cmd|setupbodyfont}} and the associated [[ConTeXt distribution's Fonts|typescript name]]. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | : <texcode>\setupbodyfont[thetypescriptname]</texcode> | |
− | + | 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: | |
− | : | ||
− | + | : <texcode>\setupbodyfont[typescriptname, 10pt]</texcode> | |
− | : | ||
− | To learn how to use different alternative styles of a given font, like regular / bold / italic, see the [[Font_Switching]] in the [[Basics]]. | + | By default, the serif (or roman) style of the font is used. To switch to sans serif style, add <code>ss</code> to {{cmd|setupbodyfont}}: |
+ | |||
+ | : <texcode>\setupbodyfont[typescriptname, ss]</texcode> | ||
+ | |||
+ | These options can be combined. So, to get sans serif font at 12pt, use: | ||
+ | |||
+ | : <texcode>\setupbodyfont[typescriptname, ss, 12pt]</texcode> | ||
+ | |||
+ | |||
+ | To learn how to use different alternative styles of a given font, like regular / bold / italic, see the [[Fonts/Font_Switching]] in the [[Basics]]. | ||
== Example == | == Example == | ||
Line 27: | Line 27: | ||
Let see what give the defaults: | Let see what give the defaults: | ||
<context source=yes> | <context source=yes> | ||
− | \setupbodyfont[ | + | \setupbodyfont[10pt] |
− | {The quick brown fox | + | |
− | { | + | \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 | ||
</context> | </context> | ||
| | | | ||
− | And let's | + | And let's view the difference with Tex Gyre Pagella Serif font: |
<context source=yes> | <context source=yes> | ||
− | \setupbodyfont[pagella] | + | \setupbodyfont[pagella,10pt] |
− | \ | + | |
− | {The quick brown fox | + | \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 | ||
</context> | </context> | ||
}} | }} | ||
− | = How to use | + | You can switch to any other font with {{cmd|switchtobodyfont}}. |
+ | |||
+ | = How to mix the provided fonts = | ||
+ | |||
+ | ; #1. With {{cmd|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 | ||
+ | <texcode>\definefontfamily[MyFontIdentifier][rm][familynameoftheseriffont]</texcode> | ||
+ | :* '''!!! WARNING !!!, ''', it's not the '''typescript name''' that we have to use, but the '''family name''' of the font | ||
+ | :** see under each [[ConTeXt distribution's Fonts|preview in the overview table]] | ||
+ | :** or use <code>mtxrun --script font --list --file -pattern=*typescriptname*</code> like <code>mtxrun --script font --list --file -pattern=*pagella*</code> | ||
+ | |||
+ | ; #2. For the other fonts, just continue to add them to your font family. | ||
+ | :* '''ss''' for Sans Serif, '''tt''' for TypewriTer, '''mm''' for MatheMatics. | ||
+ | <texcode> | ||
+ | \definefontfamily[MyFontIdentifier][ss][familynameofthesansseriffont] | ||
+ | \definefontfamily[MyFontIdentifier][tt][familynameofthemonospacedfont] | ||
+ | \definefontfamily[MyFontIdentifier][mm][familynameofthemathfont] | ||
+ | </texcode> | ||
+ | :* 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 {{cmd|switchtobodyfont}}. | ||
+ | |||
+ | ; #3. Declare your font family as the default for your document with {{cmd|setupbodyfont}}, as you would do for a typescript. | ||
+ | <texcode>\setupbodyfont[MyFontIdentifier]</texcode> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Example == | == Example == | ||
+ | |||
{{TwoColumnsUnderLevel1 | {{TwoColumnsUnderLevel1 | ||
| | | | ||
This basic input is typeset with the default font, Latin Modern: | This basic input is typeset with the default font, Latin Modern: | ||
<context source=yes> | <context source=yes> | ||
− | \setupbodyfont[ | + | |
− | + | ||
− | {\ | + | |
− | {\ | + | |
− | \\ | + | |
− | {\ | + | |
− | {\ | + | |
− | {\ | + | |
− | \\ | + | \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 | ||
</context> | </context> | ||
| | | | ||
− | And | + | And let's view the difference with our new set of fonts: |
<context source=yes> | <context source=yes> | ||
− | \definefontfamily [MyFontIdentifier] [rm] [texgyrepagella] | + | \definefontfamily [MyFontIdentifier] |
− | \definefontfamily [MyFontIdentifier] [ss] [texgyreadventor] | + | [rm] [texgyrepagella] |
− | \definefontfamily [MyFontIdentifier] [tt] [texgyrecursor] | + | \definefontfamily [MyFontIdentifier] |
− | \ | + | [ss] [texgyreadventor] |
− | \setupbodyfont[ | + | \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 | ||
</context> | </context> | ||
}} | }} | ||
+ | |||
+ | |||
+ | [[Category:Fonts]] |
Latest revision as of 18:22, 17 May 2024
First, have a look at the 21 provided fonts and the associated typescript name:
Contents
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 Fonts/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*
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[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] [ss] [texgyreadventor] \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