Changes

Jump to navigation Jump to search
5,832 bytes removed ,  08:26, 2 July 2022
m
Text replacement - "pragma-ade.com" to "pragma-ade.nl"
= How to use one of the provided fonts: 4 steps, 10 sec. =__NOTOC__
; #1. FirstUsing fonts with TeX was once a Jedi fight, be aware of the [[ConTeXt distribution's Fonts|21 fonts provided]] before XeTeX and their "nickname"LuaTeX development.:* If requiredNowadays, you can [[Mtxrun#using fonts| regenerate the font database]] <code>mtxrun --script font --reload --force</code>is simple.
; #2. Give a name to the set of = Using fonts you want to use and select a first font:* Use the command {{cmd|definefontfamily}}.:* Let's take an example, for a Serif font, for which TeX practice is to refer to them as '''roman''' (=rm):* <texcode>\definefontfamily[MyFontIdentifier][rm][nickname of the serif font]</texcode>
; #3You will find here the preliminary steps before actually playing with the fonts in your input file. Declare it as your default font family for your document:* Use At the command end, with {{cmd|setupbodyfont}}:* <texcode>\setupbodyfont[MyFontIdentifier]</texcode>one or two commands, you will make your document enable to use any fonts available on your computer.
; #4. Specify the font size
:* <texcode>\setupbodyfont[xxpt]</texcode>
To learn how to use different alternative styles of a given font, like regular / bold / italic, see the [[Font_Switching]] in the [[Basics]]. == Example =={{TwoColumnsUnderLevel1TwoColumnsHighlight
|
Let see what give the defaults:<context source=yes>\setupbodyfont== [[12ptUse fonts distributed with ConTeXt| Use fonts distributed with ConTeXt]] === {The quick brown fox jumps over * How to use the lazy dog}\\[[ConTeXt distribution's Fonts|21 provided fonts]].{\bf The quick brown fox jumps over * These are the lazy dog}\\{\it The quick brown fox jumps over the lazy dog}\\</context>basics you may want to start with, in 2 or 3 steps, less than 3 minutes.|And let's add the two lines, using Tex Gyre Pagella Serif font (ref:texgyrepagella):<context source=yes>\definefontfamily == [MyFontIdentifier] [rmUse_the_fonts_you_want| Use any other font ] [texgyrepagella]=== \setupbodyfont[MyFontIdentifier]* Case 1: Quick "one shot" (< 5min.)\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}\\</context>* Case 2: Comprehensive approach (~10min.)
}}
= How to use more than one of the provided fonts: 1 step, 5 sec. =
; #1. Very similarly to above, just add more font in The actual use of fonts within your font family. :* for a Sans Serif font, for which TeX practice document is to refer to them as '''Sans Serifdetailed in ''' (=ss):* <texcode>\definefontfamily[MyFontIdentifier][ssFont Switching][refcode to the sans serif font]</texcode>:* for a monospaced font, for which TeX practice is to refer to them as '''TypewriTer''' (=tt)::* <texcode>\definefontfamily[MyFontIdentifier][tt][refcode how to the monospaced font]</texcode>:* for a math define fontsize, for which TeX practice is to refer to them as '''MatheMatics''' (=mm):* <texcode>\definefontfamily[MyFontIdentifier][mm][refcode how to the math font]<use alternative styles like regular / bold / italic /texcode>small caps:* the limit is that in TeX practicehow to switch between serif, we only have one roman, one sans serif, per font family.monospaced, or to another fonts with {{cmd|switchtobodyfont}}:* in order how to use more (like variation condensedunderline, extralight etcstrike...) we have to define other font family (MyFontIdentifier-condensed, MyFontIdentifier-light)
=Advanced stuff = Example =={{TwoColumnsUnderLevel1|This basic input is typeset with the default font, Latin Modern:<context source=yes>\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}\\</context>|And by adding the two lines discussed above, and using the reference to Tex Gyre Pagella Serif font (texgyrepagella) we obtain:<context source=yes>\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}\\</context>}}
= Using a newly downloaded font = The Manuals ==
== Quickly use one of * [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 styles (3 steps2013 font chapter] as a separate document* [http://pmrb.free.fr/contextref.pdf#&#91;145, 1 min.) =={%22name%22:%22Fit%22}&#93; 2013 reference manual] never officially released, with the 2013 font chapter
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== Deep dive into typescripts ==
; #1* [[Typescripts examples]] look at the existing examples to build your own Typescripts. Store them is a dedicated folder:* create a "Noto-serif" in the ConTeXt distribution [[Featuresets]], and here some of common option for {{cmd|definefontfeature}}** <code>onum=yes</code> for old style numbers, vs <code>texlnum=yes</texmf-fontscode> for lining numbers** <code>kern=yes</code>.for kerning:* unzip and store the * See [[Ligatures]] (2017).ttf file in <code>texliga=yes</texmf-fonts/Noto-serifcode> for common ligature and <code>dlig=yes</code> for discretionary ligature (like st), <code>calt=yes</code>for contextual alternates. ** for small caps, the font 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).
; #2. Regenerate ConTeXt databases:* the file database[https: <code>mtxrun //source.contextgarden.net/?search=s-fonts-generate</code>:* the source browser] for s-fonts database: <code>mtxrun --script font --reload</code>files, that a user can run (to get an example) or use as module for own fonts :* and check the situation <code>mtxrun --script font --list --file -pattern=*noto*</code>:<texcode>familyname weight style width variant fontname filename subfont fontweightLua Font Goodies with examples.
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 Finally, for older content, refering to mkii, we keep a [[Fonts - Old Content|specific zone in your input files.:* Use the commands {{cmd|definedfont}}<texcode>\definedfont[file:NotoSerif-BoldItalic at 12ptwiki]]The quick brown fox jumps over the lazy dog</texcode>. Work is also need to merge content of [[File:result_of_test_with_noto-serif_one.pngFonts_in_LuaTeX]]here.
== 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]].
 
 
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 =
 
* [[Style_and_Color_Parameters]]
* {{cmd|definefontfamily}}
* {{cmd|definedfont}}
I just have realised that \definefont requires fontname of font not identifier neither familyname.
 
 
{{todo|naming conventions for definefontssymonym ?}}
{{todo[[Category:How to use font from your system.}}Fonts]]

Navigation menu