Changes

Jump to navigation Jump to search
3,597 bytes removed ,  08:26, 2 July 2022
m
Text replacement - "pragma-ade.com" to "pragma-ade.nl"
__NOTOC__
= Using fonts with TeX was once a newly downloaded font =Jedi fight, before XeTeX and LuaTeX development. Nowadays, using fonts is simple.
== Quickly use one of the styles (3 steps, 1 min.) =Using fonts =
Let's take a exampleYou will find here the preliminary steps before actually playing with the fonts in your input file.At the end, we want with one or two commands, you will make your document enable to use [https://any fontsavailable on your computer.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 {{TwoColumnsHighlight|=== [[Use fonts distributed with ConTeXt| Use fonts distributed with ConTeXt databases]] === :* How to use the file database: <code>mtxrun --generate</code>[[ConTeXt distribution's Fonts|21 provided fonts]].:* These are the fonts database: <code>mtxrun --script basics you may want to start with, in 2 or 3 steps, less than 3 minutes.| === [[Use_the_fonts_you_want| Use any other font --reload</code>]] === * Case 1:* and check the situation Quick "one shot" (<code>mtxrun --script font --list --file -pattern=5min.)*noto*</code>Case 2:Comprehensive approach (~10min.)<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 The actual use the of fonts within your document is detailed in '''[[Font Switching]]''':* how to define font anywhere on in your input files.size, * how to use alternative styles like regular / bold / italic / small caps:* Use the commands how to switch between serif, sans serif, monospaced, or to another fonts with {{cmd|definedfontswitchtobodyfont}}<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* how to underline, strike...png]]
== Use all the styles (3 steps, 1 min.) =Advanced stuff =
; #1. Define them as a new typescript (ConTeXt vocabulary) in your input file.:* Use the commands {{cmd|starttypescript}} and {{cmd|definefontsynonym}} to declare== The Manuals ==
<texcode>\starttypescript * [serif] [notoserif] \definefontsynonym[NotoSerifhttp://www.pragma-Regular] [file:NotoSerifade.nl/general/manuals/fonts-Regularmkiv.pdf 2016 Fonts manual, all the details]for advanced users \definefontsynonym* [NotoSerifhttp://context.aanhet.net/svn/contextman/context-Italic] [file:NotoSerifreference/en/co-Italicfonts.pdf the 2013 font chapter]as a separate document \definefontsynonym* [NotoSerif-Bold] [filehttp:NotoSerif-Bold] \definefontsynonym[NotoSerif-BoldItalic] [file//pmrb.free.fr/contextref.pdf#&#91;145,{%22name%22:NotoSerif-BoldItalic%22Fit%22}&#93; 2013 reference manual]\stoptypescript</texcode>never officially released, with the 2013 font chapter
; #2. Define them as part of your font family, here as a roman<texcode>\definefontfamily [MyFontIdentifier] [rm] [notoserif]</texcode>== Deep dive into typescripts ==
; #3* [[Typescripts examples]] look at the existing examples to build your own Typescripts.* [[Featuresets]], and here some of common option for {{cmd|definefontfeature}}** <code>onum=yes</code> for old style numbers, vs <code>lnum=yes</code> for lining numbers** <code>kern=yes</code> for kerning** See [[Ligatures]] (2017). You are done! Finally<code>liga=yes</code> for common ligature and <code>dlig=yes</code> for discretionary ligature (like st), <code>calt=yes</code> for contextual alternates. ** for small caps, we have the following input filefont must propose Caps variation like "EBGaramondSC12-Regular.otf" et "AlegreyaSC-Regular.otf"** [https://helpx.adobe.com/fonts/using/open-type-syntax.html Syntax for OpenType features] from Adobe* [[Fontsize|What defines the size in a font?]] (2019)* [[Optical Size|How to set up a font family with optical size options]]* [[Protrusion]] (also known as hanging or font handling) is a more subtle typographic effect (2012 need update).
<texcode>\starttypescript [serif] [notoserif] \definefontsynonym[NotoSerif-Regular] [file:NotoSerif-Regular] \definefontsynonym[NotoSerif-Italic] * [filehttps:NotoSerif//source.contextgarden.net/?search=s-Italic] \definefontsynonym[NotoSeriffonts-Boldthe source browser] [file:NotoSeriffor s-Bold] \definefontsynonym[NotoSeriffonts-BoldItalic] [file:NotoSerif-BoldItalic]files, that a user can run (to get an example) or use as module for own fonts \stoptypescript* Lua Font Goodies with examples.
\definefontfamily [MyFontIdentifier] [rm] [notoserif]
\setupbodyfontFinally, for older content, refering to mkii, we keep a [MyFontIdentifier[Fonts - Old Content|specific zone in the wiki]]\setupbodyfont. Work is also need to merge content of [[12ptFonts_in_LuaTeX]]{\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>here.
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#&#91;145,{%22name%22:%22Fit%22}&#93; in the whole manual]
* [http://context.aanhet.net/svn/contextman/context-reference/en/co-fonts.pdf#&#91;3,{%22name%22:%22Fit%22}&#93; 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[[Category:How to use font from your system.}}Fonts]]

Navigation menu