Difference between revisions of "Fonts"

From Wiki
Jump to navigation Jump to search
 
(230 intermediate revisions by 5 users not shown)
Line 1: Line 1:
= How to use one of the provided fonts: 4 steps, 10 sec. =
+
{| class="wikitable" style="margin:auto; width: 70%;"
 +
|-
 +
! style="width: 50%"| Tutorials (learning)
 +
! style="width: 50%"| How-to guides (goals)
 +
|-
 +
|
 +
* [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
 +
* [https://articles.contextgarden.net/journal/2018/83-94.pdf <i>Font installation example: IBM Plex (2018)</i>] by Taco Hoekwater and Pavneet Arora
 +
|
  
; #1. First, be aware of the [[ConTeXt distribution's Fonts|21 fonts provided]].
+
* See below on this [[Fonts#How-to_guides|Fonts central page]]
:* If required, you can [[Mtxrun#fonts| regenerate the font database]] <code>mtxrun --script font --reload --force</code>
+
* [[:Category:Fonts | Wiki pages in Fonts category]]
 
+
|-
; #2. Give a name to the set of fonts you want to use and select a first font
+
! Explanation (understanding) !! Reference (information)
:* Use the command {{cmd|definefontfamily}}. Sometimes, the name of the set of font is called the "typescript identifier"
+
|-
:* 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>
 
 
 
; #3. Declare it as your default font family for your document
 
:* Use the command with {{cmd|setupbodyfont}}
 
:* <texcode>\setupbodyfont[MyFontIdentifier]</texcode>
 
 
 
; #4. Specify the font size
 
:* <texcode>\setupbodyfont[xxpt]</texcode>
 
 
 
To learn how to use different alternative of a given font, like regular / bold / italic, see the [[Font_Switching]] in the [[Basics]].
 
 
 
== Example ==
 
{{TwoColumnsUnderLevel1
 
|
 
<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>
 
 
|
 
|
And by adding the two lines discussed above, and using the reference to Tex Gyre Pagella Serif font (texgyrepagella) we obtain:
+
* [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
\definefontfamily [MyFontIdentifier] [rm] [texgyrepagella]
+
* [http://pmrb.free.fr/contextref.pdf#&#91;145,{%22name%22:%22Fit%22}&#93; 2013 reference manual] never officially released, with the 2013 font chapter
\setupbodyfont[MyFontIdentifier]
+
|
\setupbodyfont[12pt]
+
The [[:Category:Command/Fonts | commands in Fonts category]]
{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>
 
}}
 
  
 +
= How-to guides =
  
= How to use more than one of the provided fonts: 1 step, 5 sec. =
+
* '''[[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...
 +
* '''[[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)
  
; #1. Very similarly to above, just select a second font
+
== To tidy ==
:* 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>
 
  
 +
* 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]].
  
== Example ==
+
[[Category:Fonts]]
{{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>
 
}}
 

Latest revision as of 20:18, 17 May 2024

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

The commands in Fonts category

How-to guides

To tidy