Changes

Jump to navigation Jump to search
4,542 bytes removed ,  20:50, 1 June 2020
= 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 (2013 / 2015 ?) and their "nickname"LuaTeX development.:* If required, you can [[Mtxrun#fonts| regenerate the font database]] <code>mtxrun --script font --reload --force</code>
; #2. Give = Nowadays, Fonts are a name to the set piece of 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''' (cake =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 of 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 =={{TwoColumnsUnderLevel1ThreeColumnsHighlight
|
Let see what give the defaults:<context source=yes>\setupbodyfont== [[12ptUse_fonts_provided_with_ConTeXt|#1 Use fonts provided with ConTeXt]]=== {The quick brown fox jumps over Really the lazy dog}\\basics, in 2 or 3 steps, less than 1 minute.{\bf The quick brown fox jumps over | === [[Use fonts found on the lazy dog}\\web|#2 Use fonts found on the web]] === {\it The quick brown fox jumps over Also the lazy dog}\\</context>basics, in 2 or 3 steps, less than 5 minutes.
|
And let's add the two lines, using Tex Gyre Pagella Serif font (ref:texgyrepagella):<context source=yes>\definefontfamily == [MyFontIdentifier] [rmUse_fonts_of_your_Operating_System|#3 Use fonts of your Operating System] [texgyrepagella]===\setupbodyfont[MyFontIdentifier]\setupbodyfont[12pt]{The quick brown fox jumps over the lazy dog}\\{\bf The quick brown fox jumps over the lazy dog}\\{\Few preliminary commands, then it The quick brown fox jumps over the lazy dog}\\</context>'s as easy as '''#2'''
}}
= How to use more than one of the provided fonts: 1 step, 5 sec. =
; #1. Very similarly to above, just add more font The actual use of fonts within your document are details in your font family. :* for a Sans Serif font, for which TeX practice is to refer to them as '''Sans Serif''' (=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 practice, we only have one romanhow to switch between serif, 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>}}
= How {{todo| continue to use my new font: 6 steps, 3 minutes =link with existing and up-to-date wiki material + references to manuals + improve structure}}
Let's take a example, we want to use [https://fonts.google.com/specimen/Noto+Serif Noto Serif].== A little bit further ==
; #1. Download Vocabulary, What is the scope of ==> reference to manuals pages ?:*The google website enable us to download a zip file with the 4 alternative styles:font:*a style* Regular 400a fontfamily:** Regular 400 italica typeface:** Bold 700a typescript:** Bold 700 italica typescriptcollection
; #2. Store them is a dedicated folderHow to work with fonts which include: :* create a "Notodifferent weights (light, extra-serif" in the ConTeXt distribution <code>tex/texmflight, dark, extra-fonts</code>.bold)* different widths (condensed, expanded)* different style (inline, shadowed, outline):* unzip and store [[Fontsize|What defines the .ttf file size in <code>tex/texmf-fonts/Noto-serif/</code>.a font?]] (2019)* [[Optical Size]] ('''!!! WARNING !!!''' 2010 = TO KEEP OR NOT ?)
; #3. Regenerate ConTeXt databases:* the file database: <code>mtxrun --generate</code>:* the fonts database: <code>mtxrun --script font --reload</code>== Deep dive into typescripts ==
; #4* [https://source.contextgarden. Check if net/?search=type-imp- the 4 source browser] for type-imp- files are identified .* [[Alegreya Typescript]]: a quite complete example (2019), MkIV for the Alegreya fonts by ConTeXt nowHuerta Tipográfica / Juan Pablo del Peral, downloadable from [https://fonts.google.com/?query=Alegreya Google Fonts].* [[Fraktur_fonts|Summary of experiences of three Fraktur]] (2019):* <code>mtxrun --script font --list --file -pattern=[[Typescripts_examples]] (Cf Thomas Hala)*notoUsing Font Fallbacks (and perhaps a different page for Fallbacks for math fonts)*</code>Creating virtual math fonts from type 1 fonts (still needed?)
; #5. Define them as a new typescript (ConTeXt vocabulary) in your input file.:* Use the commands {{cmd|starttypescript}} and {{cmd|definefontsynonym}} to declare== Activate fonts features ==
<texcode>* Small caps\starttypescript * [serif[Ligatures] [notoserif](2017) \definefontsynonym[NotoSerif-Regular] [file:NotoSerif-Regular]* protrusion \definefontsynonym[NotoSerif-Italic] [file:NotoSerif-Italic]* old style numbers \definefontsynonym[NotoSerif-Bold] [file:NotoSerif-Bold]* Kerning \definefontsynonym* [NotoSerif-BoldItalic] [filehttps:NotoSerif-BoldItalic]\stoptypescript</texcode> ; #6/source.contextgarden. Define them as part of your font family, here as a roman<texcode>\definefontfamily [MyFontIdentifier] [rm] [notoserif]<net/texcode>  Finally, we have: <texcode>\starttypescript [serif] [notoserif] \definefontsynonym[NotoSerif?search=s-Regular] [file:NotoSeriffonts-Regularthe source browser] \definefontsynonym[NotoSeriffor s-Italic] [file:NotoSeriffonts-Italic]files, that a user can run (to get an example) or use as module for own fonts \definefontsynonym[NotoSerif-Bold] [file:NotoSerif-Bold] \definefontsynonym[NotoSerif-BoldItalic] [file:NotoSerif-BoldItalic]\stoptypescript* Lua Font Goodies with examples.
\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.
* Font chapter of the reference manual
** [http://www.pragma-ade.com/general/manuals/cont-enp.pdf#&#91;106,{%22name%22:%22Fit%22}&#93; 2001 reference manual] ('''!!! WARNING !!!''' TO KEEP OR NOT TO KEEP)
** [http://pmrb.free.fr/contextref.pdf#&#91;145,{%22name%22:%22Fit%22}&#93; 2013 reference manual] never officially released, with a font chapter
** [http://context.aanhet.net/svn/contextman/context-reference/en/co-fonts.pdf the 2013 font chapter] as a separate document
{{todo|naming conventions for definefontssymonym ?}}
* {{todo:How to use font from your system.cmd|definefontfamily}}* {{cmd|definedfont}}

Navigation menu