Fonts/Use the fonts you want
< Fonts
Revision as of 17:28, 1 June 2020 by Garulfo (talk | contribs) (→Use of the different font variations)
Quick use of a new font
Let's take a example, we want to use Noto Serif. The google website enable us to download a zip file with the 4 alternative variations (Regular 400, Regular 400 italic, Bold 700, Bold 700 italic).
- #1. 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/
.
- create a "Noto-serif" in the ConTeXt distribution
- #2. Regenerate ConTeXt databases
-
- the file database:
mtxrun --generate
- the fonts database:
mtxrun --script font --reload
- and check the situation
mtxrun --script font --list --file -pattern=*noto*
:
- the file database:
familyname weight style width variant fontname filename subfont fontweight notoserif bold normal normal normal notoserifbold NotoSerif-Bold.ttf notoserif bold italic normal normal notoserifbolditalic NotoSerif-BoldItalic.ttf notoserif normal italic normal normal notoserifitalic NotoSerif-Italic.ttf notoserif normal normal normal normal notoserif NotoSerif-Regular.ttf
- #3. Your are done! You can use the font anywhere in your input files with \definedfont
\definedfont[file:NotoSerif-BoldItalic at 12pt] The quick brown fox jumps over the lazy dog
Use of the different font variations
- It's not nice to have to write \definedfont[file:YourSuperFont-WeightStyle at xxpt] each time you want to use a particular font.
- That why it's worth defining a typescript. It's just 3 steps, and less than 5 minutes. Then, you will be able to easily switch between fonts with \tf, \it, \bf, \bi (see Font_Switching#Font_styles_and_alternatives), and all the typesetting of your document will use a consistent set of fonts.
- Many typescripts are ready for use on usual free and commercial fonts.
- #1. Define a new typescript in your input file, with \starttypescript.
-
- Define the links between filenames and Human readable names with \definefontsynonym.
- In this example, the typescript is called mynotoserif.
\starttypescript [mynotoserif] % \definefontsynonym[Human readable] [file:filename without extension] \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
- #2. The boring step, define the links between ConTeXt basics names and the Human readable names.
-
- It's good to add a fallback.
\starttypescript [mynotoserif] \setups[font:fallback:serif] % security: if not found==> bask to defaults % \definefontsynonym[ConTeXt bascics name] [Human readable] [features=default] \definefontsynonym[Serif] [NotoSerif-Regular] [features=default] \definefontsynonym[SerifItalic] [NotoSerif-Italic] [features=default] \definefontsynonym[SerifBold] [NotoSerif-Bold] [features=default] \definefontsynonym[SerifBoldItalic] [NotoSerif-BoldItalic] [features=default] \stoptypescript
- #3. Define the pack of the 4 variations as the roman typeface of the typescript
mynotoserif
\starttypescript [mynotoserif] \definetypeface [mynotoserif] [rm] [serif] [mynotoserif] [default] \stoptypescript
- #3. You are done! Finally, we have the following input file
\starttypescript [mynotoserif] \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 \starttypescript [mynotoserif] \setups[font:fallback:serif] \definefontsynonym[Serif] [NotoSerif-Regular] [features=default] \definefontsynonym[SerifItalic] [NotoSerif-Italic] [features=default] \definefontsynonym[SerifBold] [NotoSerif-Bold] [features=default] \definefontsynonym[SerifBoldItalic] [NotoSerif-BoldItalic] [features=default] \stoptypescript \starttypescript [mynotoserif] \definetypeface [mynotoserif] [rm] [serif] [mynotoserif] [default] \stoptypescript \setupbodyfont[mynotoserif] \setupbodyfont[12pt] { 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 it gives: