|
|
(175 intermediate revisions by 5 users not shown) |
Line 1: |
Line 1: |
− | * [[Use_the_fonts_of_the_distribution_(2020)]]
| + | {| class="wikitable" style="margin:auto; width: 100%;" |
− | ** [[Use_the_fonts_of_the_distribution_complexe]] (to delete after) | + | |- |
− | * [[Use_fonts_not_provided_by_the_distribution_(2020)]] | + | ! style="width: 50%"| Tutorials (learning) |
| + | ! style="width: 50%"| How-to guides (goals) |
| + | |- |
| + | | |
| + | * [https://meeting.contextgarden.net/2021/talks/2021-09-23/typescripts-presentation.pdf ''Handling fonts in ConTEXt (2021)''] ConTEXt-Meeting 15th, 2021, Willi Egger, 38 invaluable slides |
| + | * [https://articles.contextgarden.net/journal/2018/83-94.pdf <i>Font installation example: IBM Plex (2018)</i>] by Taco Hoekwater and Pavneet Arora |
| + | | |
| | | |
| + | * See below on this [[Fonts#How-to_guides|Fonts central page]] |
| + | * [[:Category:Fonts | Wiki pages in Fonts category]] |
| + | |- |
| + | ! Explanation (understanding) !! Reference (information) |
| + | |- |
| + | | |
| + | * [http://www.pragma-ade.nl/general/manuals/fonts-mkiv.pdf 2016 Fonts manual, all the details] for advanced users |
| + | * [http://context.aanhet.net/svn/contextman/context-reference/en/co-fonts.pdf the 2013 font chapter] as a separate document |
| + | * [http://pmrb.free.fr/contextref.pdf#[145,{%22name%22:%22Fit%22}] 2013 reference manual] never officially released, with the 2013 font chapter |
| + | | |
| + | The [[:Category:Command/Fonts | commands in Fonts category]] |
| + | |- |
| + | |} |
| | | |
− | = Using a newly downloaded font = | + | = How-to guides = |
| | | |
− | == Quickly use one of the styles (3 steps, 1 min.) ==
| + | * '''[[Fonts/Use fonts distributed with ConTeXt| Use fonts distributed with ConTeXt]]''' |
| + | ** How to use the [[Fonts/ConTeXt distribution's Fonts|21 provided fonts]]. |
| + | ** These are the basics you may want to start with, in 2 or 3 steps, less than 3 minutes. |
| + | * '''[[Fonts/Use_the_fonts_you_want| Use any other font ]]''' |
| + | ** Case 1: Quick "one shot" (< 5min.) |
| + | ** Case 2: Comprehensive approach (~10min.) |
| + | * '''[[Fonts/Font Switching| "Font Switching", or "how-to use the different fonts within your document"]]''' |
| + | ** how to define font size, |
| + | ** how to use alternative styles like regular / bold / italic / small caps |
| + | ** how to switch between serif, sans serif, monospaced, or to another fonts with {{cmd|switchtobodyfont}} |
| + | ** how to underline, strike... |
| + | * '''[[Visual_Debugging#Fonts_and_Type | Visual help and debugging]]''' for Fonts |
| + | * '''[[Fonts/Featuresets|OpenType features]]''' for some common options for {{cmd|definefontfeature}} like: |
| + | ** '''[[Fonts/Ligatures|Ligatures]]''' |
| + | ** '''[[Fonts/Protrusion]]''' (also known as hanging or font handling) |
| + | * '''[[Fonts/Typescripts examples|Typescripts examples]]''' |
| + | * Technical details |
| + | ** [[Fonts/Optical Size | How to set up a font family with optical size options]] |
| + | ** [[Fonts/Fontsize | What defines the size in a font]] ('natural' size. 'design' size) |
| + | ** Get examples from [https://source.contextgarden.net/?search=s-fonts- s-fonts- files], that you can compile and/or use as module for own fonts (with lua font goodies) |
| | | |
− | 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:
| + | == To tidy == |
− | * Regular 400
| |
− | * Regular 400 italic
| |
− | * Bold 700
| |
− | * Bold 700 italic
| |
| | | |
− | ; #1. Store them is a dedicated folder
| + | * Work is also needed to merge content from [[Fonts/Fonts_in_LuaTeX| Fonts in LuaTeX]] in the pages above. |
− | :* create a "Noto-serif" in the ConTeXt distribution <code>tex/texmf-fonts</code>.
| + | * For older content, refering to mkii, we keep a [[Fonts - Old Content|specific zone in the wiki]]. |
− | :* unzip and store the .ttf file in <code>tex/texmf-fonts/Noto-serif/</code>.
| |
| | | |
− | ; #2. Regenerate ConTeXt databases
| + | [[Category:Fonts]] |
− | :* 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 ? =
| |
− | | |
− | == 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 [[ConTeXt_distribution's_Fonts#Overview| 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:
| |
− | * [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#[3,{%22name%22:%22Fit%22}] as a separate document] section "Simple font definitions"
| |
− | | |
− | == 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 =
| |
− | | |
− | * [[Style_and_Color_Parameters]]
| |
− | * {{cmd|definefontfamily}}
| |
− | * {{cmd|definedfont}}
| |
− | | |
− | 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 ?}}
| |
− | | |
− | {{todo:How to use font from your system.}}
| |