Difference between revisions of "Fonts"
(→Liens) |
|||
Line 113: | Line 113: | ||
; #4. Check if the 4 files are identified by ConTeXt now: | ; #4. Check if the 4 files are identified by ConTeXt now: | ||
:* <code>mtxrun --script font --list --file -pattern=*noto*</code> | :* <code>mtxrun --script font --list --file -pattern=*noto*</code> | ||
+ | :* <code>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 | ||
+ | </code> | ||
; #5. Define them as a new typescript (ConTeXt vocabulary) in your input file. | ; #5. Define them as a new typescript (ConTeXt vocabulary) in your input file. |
Revision as of 09:14, 1 June 2020
Contents
How to use one of the provided fonts: 4 steps, 10 sec.
- #1. First, be aware of the 21 fonts provided and their "nickname".
-
- If required, you can regenerate the font database
mtxrun --script font --reload --force
- If required, you can regenerate the font database
- #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][nickname of the serif font]
- #3. Declare it as your default font family for your document
-
- Use the command with \setupbodyfont
\setupbodyfont[MyFontIdentifier]
- #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 add more font in your font family.
-
- 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]
- for a math font, for which TeX practice is to refer to them as MatheMatics (=mm)
\definefontfamily[MyFontIdentifier][mm][refcode to the math font]
- the limit is that in TeX practice, we only have one roman, one sans serif, per font family.
- in order to use more (like variation condensed, extralight etc...) we have to define other font family (MyFontIdentifier-condensed, MyFontIdentifier-light)
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: 6 steps, 3 minutes
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
- The google website enable us to download a zip file with the 4 alternative styles:
- #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/
.
- create a "Noto-serif" in the ConTeXt distribution
- #3. Regenerate ConTeXt databases
-
- the file database:
mtxrun --generate
- the fonts database:
mtxrun --script font --reload
- the file database:
- #4. Check if the 4 files are identified by ConTeXt now
-
mtxrun --script font --list --file -pattern=*noto*
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
- #5. Define them as a new typescript (ConTeXt vocabulary) in your input file.
-
- Use the commands \starttypescript and \definefontsynonym to declare
\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]
Finally, we have:
\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 \definefontfamily [MyFontIdentifier] [rm] [notoserif] \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}\\
And it gives:
Next ?
You want to play with bigger set of font ?
For example, how to use the 7 weights of Noto Serif SC ?
- Extra-light 200
- Light 300
- Regular 400
- Medium 500
- Semi-bold 600
- Bold 700
- Black 900
You have to define specific name like
- \starttypescript [serif] [notoserifscextralight]
- \starttypescript [serif] [notoserifsclight]
- \starttypescript [serif] [notoserifscreg]
- \starttypescript [serif] [notoserifscmed]
and you will switch between each other with \switchtobodyfont[notoserifscxxx] like it's done for this example of the available fonts.
You have to define "definefontfallback"
A quite complete example: Alegreya_Typescript
And to swith during
I want IBM Plex
- Sans — Thin
- Sans — Thin Italic
- Sans — Regular
- Sans — Regular Italic
- Sans — Bold
- Sans — Bold Italic
- Sans Condensed — Regular
- Sans Condensed — Regular Italic
- Serif — Regular
- Serif — Regular Italic
- Mono — Regular
- Mono — Regular Italic
Already prepared typescript files
I just want to use fonts of my system
I want use specific features
- Small caps
- Ligatures
- Kerning
- expansion=quality
- protrusion=quality,
- other: tlig, ccmp, fonts-mkiv.pdf page 65.
Liens
I just have realised that \definefont requires fontname of font not identifier neither familyname.
TODO: naming conventions for definefontssymonym ? (See: To-Do List) |