Changes

Jump to navigation Jump to search
3,815 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__
; #1Using fonts with TeX was once a Jedi fight, before XeTeX and LuaTeX development. FirstNowadays, be aware of the [[ConTeXt distribution's Fonts|21 using fonts provided]]is simple.:* If required, you can [[Mtxrun#fonts| regenerate the font database]] <code>mtxrun --script font --reload --force</code>
; #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][refcode to 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 =={{TwoColumnsUnderLevel1|Let see what give the defaults:<context source=yes>\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>TwoColumnsHighlight
|
And let's add the two lines, using Tex Gyre Pagella Serif font (ref:texgyrepagella):<context source=yes>\definefontfamily == [MyFontIdentifier] [rmUse fonts distributed with ConTeXt| Use fonts distributed with ConTeXt] [texgyrepagella]=== \setupbodyfont* How to use the [[MyFontIdentifierConTeXt distribution's Fonts|21 provided fonts]\setupbodyfont[12pt].{The quick brown fox jumps over * These are the lazy dog}\\basics you may want to start with, in 2 or 3 steps, less than 3 minutes.{\bf The quick brown fox jumps over the lazy dog}\\| {\it The quick brown fox jumps over the lazy dog}\\=== [[Use_the_fonts_you_want| Use any other font ]] === * Case 1: Quick "one shot" (</context>5min.)* 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 select a second font
:* for a Sans Serif font, for which TeX practice is to refer to them as '''Sans Serif''' (=ss)
:* <texcode>\definefontfamily[MyFontIdentifier][ss][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 to the monospaced font]</texcode>
 
 
== 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>
}}
 
 
= How to use my new font: 6 steps, 3 minutes =
 
Let's take a example, we want to use [https://fonts.google.com/specimen/Noto+Serif Noto Serif].
 
; #1. Download
:*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
 
; #2. 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>.
 
; #3. Regenerate ConTeXt databases
:* the file database: <code>mtxrun --generate</code>
:* the fonts database: <code>mtxrun --script font --reload</code>
 
; #4. Check if the 4 files are identified by ConTeXt now:
:* <code>mtxrun --script font --list --file -pattern=*noto*</code>
 
; #5. 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>
 
; #6. Define them as part of your font family, here as a roman
<texcode>
\definefontfamily [MyFontIdentifier] [rm] [notoserif]
</texcode>
 
 
Finally, we shoud have:
 
<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>
 
[[File:result_of_test_with_noto-serif.png]]
 
= Next ? =
== You want The actual use of fonts within your document is detailed in '''[[Font Switching]]''':* 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 play another fonts with bigger set of font ? =={{cmd|switchtobodyfont}}* how to underline, strike...
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= Advanced stuff =
You will have to define specific font== The Manuals ==
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[http://www.pragma-ade.nl/general/manuals/fonts-mkiv.pdf 2016 Fonts manual, all the details] for advanced users* Mono — Regular[http://context.aanhet.net/svn/contextman/context-reference/en/co-fonts.pdf the 2013 font chapter] as a separate document* Mono — Regular Italic[http://pmrb.free.fr/contextref.pdf#&#91;145,{%22name%22:%22Fit%22}&#93; 2013 reference manual] never officially released, with the 2013 font chapter
== Already prepared typescript files Deep dive into typescripts ==
* [[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= I just want to use fonts of my system yes</code> for lining numbers** <code>kern=yes</code> for kerning** See [[Ligatures]] (2017). <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, 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).
* [https://source.contextgarden.net/?search== I want specific features ==s-fonts- the source browser] for s-fonts- files, that a user can run (to get an example) or use as module for own fonts * Lua Font Goodies with examples.
* Small caps
* Ligatures
* Kerning
tlig=yesFinally, ccmp=yesfor older content, language=dfltrefering to mkii, protrusion=quality, expansion=qualitywe keep a [[Fonts - Old Content|specific zone in the wiki]]. Work is also need to merge content of [[Fonts_in_LuaTeX]]here.
* {{cmd|definefontfamily}}
* {{cmd|definedfont}}
{{todo|naming conventions for definefontssymonym ?}}
{{todo[[Category:How to use font from your system.}}Fonts]]

Navigation menu