Difference between revisions of "Fonts"

From Wiki
Jump to navigation Jump to search
 
(249 intermediate revisions by 5 users not shown)
Line 1: Line 1:
= #1. How to use the provided fonts in 5 sec. =
+
{| class="wikitable" style="margin:auto; width: 100%;"
 
+
|-
; First, be aware of the [[ConTeXt distribution's Fonts|21 fonts provided]].
+
! style="width: 50%"| Tutorials (learning)
:* If required, you can [[Mtxrun#fonts| regenerate the font database]] <code>mtxrun --script font --reload --force</code>
+
! style="width: 50%"| How-to guides (goals)
 
+
|-
; Give a name to the set of fonts you wan to use and select a first font
+
|
:* Use the command {{cmd|definefontfamily}}. Sometimes, the name of the set of font is called the "typescript identifier"
+
* [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
:* Let's take an example, for a Serif font, for which TeX practice is to refer to them as '''roman''' (=rm)
+
* [https://articles.contextgarden.net/journal/2018/83-94.pdf <i>Font installation example: IBM Plex (2018)</i>] by Taco Hoekwater and Pavneet Arora
:* <texcode>\definefontfamily[MyFontIdentifier][rm][refcode to the serif font]</texcode>
+
|  
 
 
# Declare it as your default font family for your document, with {{cmd|setupbodyfont}}, and specify the font size.
 
#* \setupbodyfont[MyFontIdentifier at xxpt]
 
  
{{TwoColumnsUnderLevel1
+
* See below on this [[Fonts#How-to_guides|Fonts central page]]
 +
* [[:Category:Fonts | Wiki pages in Fonts category]]
 +
|-
 +
! Explanation (understanding) !! Reference (information)
 +
|-
 
|
 
|
This basic input is typeset with the default font, Latin Modern:
+
* [http://www.pragma-ade.nl/general/manuals/fonts-mkiv.pdf 2016 Fonts manual, all the details] for advanced users
<context source=yes>
+
* [http://context.aanhet.net/svn/contextman/context-reference/en/co-fonts.pdf the 2013 font chapter] as a separate document
The quick brown fox jumps over the lazy dog
+
* [http://pmrb.free.fr/contextref.pdf#&#91;145,{%22name%22:%22Fit%22}&#93; 2013 reference manual] never officially released, with the 2013 font chapter
</context>
+
|
|
+
The [[:Category:Command/Fonts | commands in Fonts category]]
And by adding the two lines discussed above, and using the reference to Tex Gyre Pagella font (texgyrepagella) we obtain:
+
|-
<context source=yes>
+
|}
\definefontfamily [MyFontIdentifier] [rm] [texgyrepagella]
 
\setupbodyfont[MyFontIdentifier]
 
The quick brown fox jumps over the lazy dog
 
</context>
 
}}
 
 
 
<context source=yes text="This produces:"">
 
%= Specific layout for rendering on the wiki
 
\definepapersize[sheet][width=16cm,height=11cm]
 
\setuppapersize[sheet]
 
\setuplayout[topspace=0.5mm,           
 
            backspace=0.5mm,
 
            header=0pt,
 
            headerdistance=0pt,
 
            footer=0pt,
 
            footerdistance=0pt,
 
            width=15cm,
 
            height=11cm]
 
%
 
\definefontfamily [latinmodernroman] [rm] [latinmodernroman]
 
\definefontfamily [latinmodernsans]  [rm] [latinmodernsans]
 
\definefontfamily [latinmodernmono]  [rm] [latinmodernmono]
 
\definefontfamily [texgyreadventor]  [rm] [texgyreadventor]
 
\definefontfamily [texgyrebonum]    [rm] [texgyrebonum]
 
\definefontfamily [texgyrecursor]    [rm] [texgyrecursor]
 
\definefontfamily [texgyrechorus]    [rm] [texgyrechorus]
 
\definefontfamily [texgyrepagella]  [rm] [texgyrepagella]
 
\definefontfamily [texgyreshola]    [rm] [texgyreshola]
 
\definefontfamily [texgyretermes]    [rm] [texgyretermes]
 
\definefontfamily [dejavuserif]      [rm] [dejavuserif]
 
\definefontfamily [dejavusans]      [rm] [dejavusans]
 
\definefontfamily [dejavusansmono]  [rm] [dejavusansmono]
 
\definefontfamily [gentium]          [rm] [gentium]
 
\setupbodyfont[latinmodernroman]
 
%
 
\setupbodyfont[12pt]  %== Doesn't in the wiki if different, but ok on https://live.contextgarden.net/
 
%
 
\starttext
 
%
 
\startitemize[n,packed]
 
                                    \item The quick brown fox jumps over the lazy dog (default)\\
 
\switchtobodyfont[latinmodernroman] \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[latinmodernsans]  \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[latinmodernmono]  \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[texgyreadventor]  \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[texgyrebonum]     \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[texgyrechorus]   \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[texgyrecursor]    \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[texgyrepagella]  \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[texgyreshola]    \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[texgyretermes]    \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[dejavuserif]      \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[dejavusans]      \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[dejavusansmono]  \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[gentium]          \item The quick brown fox jumps over the lazy dog\\
 
\stopitemize
 
 
 
 
 
\stoptext
 
</context>
 
 
 
 
 
 
 
 
 
#* There is mainly 2 major kind of fonts you want to setup : '''serif''' and '''sans serif'''.
 
  
#* the command {{cmd|rm}} , as Roman, will switch to Serif font
+
= How-to guides =
#* the command {{cmd|ss}} , as Sans Serif, will switch to Sans Serif font
 
  
 +
* '''[[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)
  
<context source=yes text="This produces:"">
+
== To tidy ==
%= Specific layout for rendering on the wiki
 
\definepapersize[sheet][width=16cm,height=11cm]
 
\setuppapersize[sheet]
 
\setuplayout[topspace=0.5mm,           
 
            backspace=0.5mm,
 
            header=0pt,
 
            headerdistance=0pt,
 
            footer=0pt,
 
            footerdistance=0pt,
 
            width=15cm,
 
            height=11cm]
 
%
 
\definefontfamily [latinmodernroman] [rm] [latinmodernroman]
 
\definefontfamily [latinmodernsans]  [rm] [latinmodernsans]
 
\definefontfamily [latinmodernmono]  [rm] [latinmodernmono]
 
\definefontfamily [texgyreadventor]  [rm] [texgyreadventor]
 
\definefontfamily [texgyrebonum]    [rm] [texgyrebonum]
 
\definefontfamily [texgyrecursor]    [rm] [texgyrecursor]
 
\definefontfamily [texgyrechorus]    [rm] [texgyrechorus]
 
\definefontfamily [texgyrepagella]  [rm] [texgyrepagella]
 
\definefontfamily [texgyreshola]    [rm] [texgyreshola]
 
\definefontfamily [texgyretermes]    [rm] [texgyretermes]
 
\definefontfamily [dejavuserif]      [rm] [dejavuserif]
 
\definefontfamily [dejavusans]      [rm] [dejavusans]
 
\definefontfamily [dejavusansmono]  [rm] [dejavusansmono]
 
\definefontfamily [gentium]          [rm] [gentium]
 
\setupbodyfont[latinmodernroman]
 
%
 
\setupbodyfont[12pt]  %== Doesn't in the wiki if different, but ok on https://live.contextgarden.net/
 
%
 
\starttext
 
%
 
\startitemize[n,packed]
 
                                    \item The quick brown fox jumps over the lazy dog (default)\\
 
\switchtobodyfont[latinmodernroman] \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[latinmodernsans]  \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[latinmodernmono]  \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[texgyreadventor]  \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[texgyrebonum]    \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[texgyrechorus]    \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[texgyrecursor]    \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[texgyrepagella]  \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[texgyreshola]    \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[texgyretermes]    \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[dejavuserif]      \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[dejavusans]      \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[dejavusansmono]  \item The quick brown fox jumps over the lazy dog\\
 
\switchtobodyfont[gentium]          \item The quick brown fox jumps over the lazy dog\\
 
\stopitemize
 
  
 +
* Work is also needed to merge content from [[Fonts/Fonts_in_LuaTeX| Fonts in LuaTeX]] in the pages above.
 +
* For older content, refering to mkii, we keep a [[Fonts - Old Content|specific zone in the wiki]].
  
\stoptext
+
[[Category:Fonts]]
</context>
 

Latest revision as of 13:01, 18 May 2024

Tutorials (learning) How-to guides (goals)
Explanation (understanding) Reference (information)

The commands in Fonts category

How-to guides

To tidy