Difference between revisions of "Fonts"

From Wiki
Jump to navigation Jump to search
Line 3: Line 3:
 
* [[Use_fonts_not_provided_by_the_distribution_(2020)]]
 
* [[Use_fonts_not_provided_by_the_distribution_(2020)]]
  
 
= Using a newly downloaded font  =
 
 
== Quickly use one of the styles (3 steps, 1 min.) ==
 
 
Let's take a example, we want to use [https://fonts.google.com/specimen/Noto+Serif 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 <code>tex/texmf-fonts</code>.
 
:* unzip and store the .ttf file in <code>tex/texmf-fonts/Noto-serif/</code>.
 
 
; #2. Regenerate ConTeXt databases
 
:* the file database:  <code>mtxrun --generate</code>
 
:* the fonts database: <code>mtxrun --script font --reload</code>
 
:* and check the situation <code>mtxrun --script font --list --file -pattern=*noto*</code>:
 
<texcode>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
 
</texcode>
 
 
; #3. Your are done! You can use the font anywhere on in your input files.
 
:* Use the commands {{cmd|definedfont}}
 
<texcode>
 
\definedfont[file:NotoSerif-BoldItalic at 12pt]
 
The quick brown fox jumps over the lazy dog
 
</texcode>
 
[[File:result_of_test_with_noto-serif_one.png]]
 
 
== Use all the styles (3 steps, 1 min.) ==
 
 
; #1. Define them as a new typescript (ConTeXt vocabulary) in your input file.
 
:* Use the commands {{cmd|starttypescript}} and {{cmd|definefontsynonym}} to declare
 
 
<texcode>
 
\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
 
</texcode>
 
 
; #2. Define them as part of your font family, here as a roman
 
<texcode>
 
\definefontfamily [MyFontIdentifier] [rm] [notoserif]
 
</texcode>
 
 
; #3. You are done! Finally, we have the following input file:
 
 
<texcode>
 
\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}\\
 
</texcode>
 
 
And it gives:
 
 
[[File:result_of_test_with_noto-serif.png]]
 
  
 
= Next ? =
 
= Next ? =

Revision as of 14:38, 1 June 2020


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.

https://source.contextgarden.net/tex/context/fonts/mkiv


TODO: naming conventions for definefontssymonym ? (See: To-Do List)


Template:todo:How to use font from your system.