Difference between revisions of "Fonts"
(→Next ?) |
|||
Line 235: | Line 235: | ||
* Mono — Regular Italic | * Mono — Regular Italic | ||
− | Style : [http://context.aanhet.net/svn/contextman/context-reference/en/co-fonts.pdf#[4,{%22name%22:%22Fit%22}] | + | Style, see the font chapter, of the never really issued Reference Manual: |
+ | * [http://pmrb.free.fr/contextref.pdf#&#[145,{%22name%22:%22Fit%22}] in the whole manual] | ||
+ | * [http://context.aanhet.net/svn/contextman/context-reference/en/co-fonts.pdf#[4,{%22name%22:%22Fit%22}] as a separate document] | ||
== Already prepared typescript files == | == Already prepared typescript files == |
Revision as of 14:11, 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".
- #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}\\
Using a newly downloaded font
Quickly use one of the styles (3 steps, 1 min.)
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 styles:
- 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 on in your input files.
-
- Use the commands \definedfont
\definedfont[file:NotoSerif-BoldItalic at 12pt] The quick brown fox jumps over the lazy dog
Use all the styles (3 steps, 1 min.)
- #1. 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
- #2. Define them as part of your font family, here as a roman
\definefontfamily [MyFontIdentifier] [rm] [notoserif]
- #3. You are done! Finally, we have the following input file
\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.
There are any ready to go typpescript file, tex/texmf-context/tex/context/fonts/mkiv/ for example :
- Included
- DejaVu with \setupbodyfont[dejavu] or condensed version with \setupbodyfont[dejavu-condensed]
- Gentium with \setupbodyfont[gentium]
- Iwona with \setupbodyfont[iwona]
- Kurier with \setupbodyfont[kurier]
- Latin Modern with \setupbodyfont[latinmodern]
- Gentium with \setupbodyfont[gentium]
- Non included
- Sabon MT with \setupbodyfont[sabon]
- Cambria with \setupbodyfont[cambria]
- Garamond with \setupbodyfont[ebgaramond]
- Zapfino MT with \setupbodyfont[zapfino]
- Optima Nova with \setupbodyfont[optima-nova], or \setupbodyfont[optima-nova-light] \setupbodyfont[optima-nova-medium]
- Palatino Nova with \setupbodyfont[palatino-nova], or \setupbodyfont[palatino-nova-light] \setupbodyfont[palatino-nova-medium], and \setupbodyfont[palatino-sans] \setupbodyfont[palatino-informal]
- Liberation with \setupbodyfont[liberation]
- Libertine with \setupbodyfont[liberatine]
- Lucida with \setupbodyfont[lucida-opentype] OR \setupbodyfont[lucida]
- Minion with \setupbodyfont[minion]
- MacOSx default: baskerville, gillsans, futura, helvetica-neue and -ultralight, -light, -boldcondensed, ...
- IMB plex :
- plex, -thin, -extralight, -light, -text, -medium, -semibold, -bold
- ibmplexnarrow, -thin, -extralight, -light
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
Style, see the font chapter, of the never really issued Reference Manual:
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.
weight light, regular, medium, bold, extra...
width : condensed, Semi Condensed , regular, Semi Extended , Extended
shape : regular, italic
caps : regular, smallcaps
Liens
I just have realised that \definefont requires fontname of font not identifier neither familyname.
TODO: naming conventions for definefontssymonym ? (See: To-Do List) |