# Changes

,  08:35, 7 June 2020
m
__NOTOC__
First, have a look at the [[ConTeXt distribution's Fonts|21 provided fonts]] and their "nickname"the associated typescript name:
= How 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 one : : <texcode>\setupbodyfont[typescriptname, 10pt]</texcode> By default, the serif (or roman) style of the provided fonts =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>
; #1. Declare the font you want to use for your document with {{cmd|setupbodyfont}}
:* <texcode>\setupbodyfont[thefontnickname]</texcode>
; #2. Specify the font size
:* <texcode>\setupbodyfont[xxpt]</texcode>
To learn how to use different alternative styles of a given font, like regular / bold / italic, see the [[Font_Switching]] in the [[Basics]].
Let see what give the defaults:
<context source=yes>
\setupbodyfont[12pt10pt]
\startlines\normal{\rm Upright: The quick brown fox jumps over the lazy dog\unknown}\\bold{\it Bold: The quick brown fox jumps over the lazy dog\unknown}\\italic{\bf Italic: The quick brown fox jumps over the lazy dog\unknown}\\bolditalic{\bi Bolditalic: The quick brown fox jumps over the lazy dog\unknown}\\stoplines
</context>
|
And let's add view the reference to difference with Tex Gyre Pagella Serif font:
<context source=yes>
\setupbodyfont[12ptpagella,10pt] \setupbodyfont[pagella]startlines\normal{\rm Upright: The quick brown fox jumps over the lazy dog\unknown}\\bold{\it Bold: The quick brown fox jumps over the lazy dog\unknown}\\italic{\bf Italic: The quick brown fox jumps over the lazy dog\unknown}\\bolditalic{\bi Bolditalic: The quick brown fox jumps over the lazy dog\unknown}\\stoplines
</context>
}}

You can switch to any other font with {{cmd|switchtobodyfont}}.
= How to mix the provided fonts =
; #1. Give With {{cmd|definefontfamily}}, give a name to the set of fonts you want to use with {{cmd|definefontfamily}} , and select indicate a first font.:* Let's start with a Serif font, for which TeX practice is to refer to them as '''romanrm''' (=rm)for Roman:*<texcode>\definefontfamily[MyFontIdentifier][rm][theseriffontnicknamefamilynameoftheseriffont]</texcode>; #2. For the other styles, just add more fonts to your font family. :* for a Sans Serif font'''!!! WARNING !!!, ''', for which TeX practice is to refer to them as it's not the '''Sans Seriftypescript name''' (=ss):* <texcode>\definefontfamily[MyFontIdentifier][ss][thesansseriffontnickname]</texcode>:* for a monospaced fontthat we have to use, for which TeX practice is to refer to them as but the '''TypewriTerfamily name''' (=tt)of the font :* <texcode>\definefontfamily* see under each [MyFontIdentifier][ttConTeXt distribution's Fonts|preview in the overview table][themonospacedfontnickname]</texcode>:* for a math * or use <code>mtxrun --script font, for which TeX practice is to refer to them as '''MatheMatics''' (--list --file -pattern=mm):*typescriptname* <texcode/code>\definefontfamily[MyFontIdentifier][mm][themathfontnickname]like </texcodecode>; #3. Declare your mtxrun --script font family as the default for your document with {{cmd|setupbodyfont}}:--list --file -pattern=*pagella* <texcode>\setupbodyfont[MyFontIdentifier]</texcodecode>
; #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 ==

{{TwoColumnsUnderLevel1
|
This basic input is typeset with the default font, Latin Modern:
<context source=yes>
\setupbodyfont[12pt]
{    \setupbodyfont[7pt]\rm startbuffer[line]The quick brown fox jumps over the lazy dog}\stopbuffer \startbuffer[sample]\startTABLE \NC \type{\rmnormal} \NC \normal{\bf The quick brown fox jumps over the lazy doggetbuffer[line]} \NC \NR \NC \type{\rmitalic} \it The quick brown fox jumps over the lazy dogNC \italic{\getbuffer[line]} \NC \NR \NC \type{\bold} \NC \bold{\ss The quick brown fox jumps over the lazy doggetbuffer[line]} \NC \NR \NC \type{\ssbolditalic} \NC \bolditalic{\bf The quick brown fox jumps over the lazy doggetbuffer[line]} \NC \NR\stopTABLE\stopbuffer \startlines\type{\ss\it The quick brown fox jumps over the lazy dogserif}\serif{\getbuffer[sample]} \type{\sans}\sans{\tt The quick brown fox jumps over the lazy doggetbuffer[sample]} \type{\mono}\mono{\tt\bf The quick brown fox jumps over the lazy doggetbuffer[sample]} \type{\math}\math{x = \ttfrac{y}{2z} + x_{\it The quick brown fox jumps over the lazy dogtext{center}}}\\stoplines
</context>
|
And by adding let's view the two lines discussed above, and using the reference to Tex Gyre Pagella Serif font (texgyrepagella) we obtaindifference with our new set of fonts:
<context source=yes>
\definefontfamily [MyFontIdentifier] [rm] [texgyrepagella]\definefontfamily [MyFontIdentifier] [ss] [texgyreadventor]\definefontfamily [MyFontIdentifier] [tt] [texgyrecursor]\setupbodyfontdefinefontfamily [MyFontIdentifier] [mm] [stixtwomath]\setupbodyfont[12ptMyFontIdentifier, 7pt]{\rm startbuffer[line]The quick brown fox jumps over the lazy dog}\stopbuffer \startbuffer[sample]\startTABLE \NC \type{\rmnormal} \NC \normal{\bf The quick brown fox jumps over the lazy doggetbuffer[line]} \NC \NR \NC \type{\rmitalic} \NC \italic{\it The quick brown fox jumps over the lazy doggetbuffer[line]} \NC \NR \NC \type{\bold} \NC \bold{\ss The quick brown fox jumps over the lazy doggetbuffer[line]} \NC \NR \NC \type{\ssbolditalic} \NC \bolditalic{\bf The quick brown fox jumps over the lazy doggetbuffer[line]} \NC \NR\stopTABLE\stopbuffer \startlines\type{\ss\it The quick brown fox jumps over the lazy dogserif}\serif{\getbuffer[sample]} \type{\sans}\sans{\tt The quick brown fox jumps over the lazy doggetbuffer[sample]} \type{\mono}\mono{\tt\bf The quick brown fox jumps over the lazy doggetbuffer[sample]} \type{\math}\math{x = \ttfrac{y}{2z} + x_{\it The quick brown fox jumps over the lazy dogtext{center}}}\\stoplines
</context>
}}
:* the limit is that in TeX practice, we only have one roman, one sans serif... per font family.[[Category:* 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)Fonts]]