Difference between revisions of "Fonts"

From Wiki
Jump to navigation Jump to search
 
(219 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%;"
 
+
|-
; #1. 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)
 
+
|-
; #2. Give a name to the set of fonts you want 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"
 
:* 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 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>
 
 
|
 
|
And let's add the two lines, using Tex Gyre Pagella Serif font (ref:texgyrepagella):
+
* [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
<context source=yes>
+
* [https://articles.contextgarden.net/journal/2018/83-94.pdf <i>Font installation example: IBM Plex (2018)</i>] by Taco Hoekwater and Pavneet Arora
\definefontfamily [MyFontIdentifier] [rm] [texgyrepagella]
+
|
\setupbodyfont[MyFontIdentifier]
 
\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>
 
}}
 
  
= How to use more than one of the provided fonts: 1 step, 5 sec. =
+
* See below on this [[Fonts#How-to_guides|Fonts central page]]
 
+
* [[:Category:Fonts | Wiki pages in Fonts category]]
; #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)
+
! Explanation (understanding) !! Reference (information)
:* <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:
+
* [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
\definefontfamily [MyFontIdentifier] [ss] [texgyreadventor]
+
|
\definefontfamily [MyFontIdentifier] [tt] [texgyrecursor]
+
The [[:Category:Command/Fonts | commands in Fonts category]]
\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 =
 
 
 
{{todo:How to use font from your system.}}
 
 
 
Let's take a example, we want to use [https://fonts.google.com/specimen/Noto+Serif Noto Serif].
 
  
; #1. Download
+
= How-to guides =
:*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
+
* '''[[Fonts/Use fonts distributed with ConTeXt| Use fonts distributed with ConTeXt]]'''
:* create a "Noto-serif" in the ConTeXt distribution <code>tex/texmf-fonts</code>.
+
** How to use the [[Fonts/ConTeXt distribution's Fonts|21 provided fonts]].
:* unzip and store the .ttf file in <code>tex/texmf-fonts/Noto-serif/</code>.
+
** 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)
  
; #3. Regenerate ConTeXt databases
+
== To tidy ==
:* the file database:  <code>mtxrun --generate</code>
 
:* the fonts database: <code>mtxrun --script font --reload</code>
 
  
; #4. Find how are called the 4 styles for ConTeXt:
+
* Work is also needed to merge content from [[Fonts/Fonts_in_LuaTeX| Fonts in LuaTeX]] in the pages above.
:* <code>mtxrun --script font --list --file -pattern=*noto*</code>
+
* For older content, refering to mkii, we keep a [[Fonts - Old Content|specific zone in the wiki]].
  
<c
+
[[Category:Fonts]]
\starttypescript [serif] [alegreya]
 
  \definefontsynonym[AlegreyaSerif-Regular]        [name:Alegreya-Regular]
 
  \definefontsynonym[AlegreyaSerif-Italic]          [name:Alegreya-Italic]
 
  \definefontsynonym[AlegreyaSerif-Caps]            [name:AlegreyaSC-Regular]
 
  \definefontsynonym[AlegreyaSerif-Bold]            [name:Alegreya-Bold]
 
  \definefontsynonym[AlegreyaSerif-BoldItalic]      [name:Alegreya-BoldItalic]
 
  \definefontsynonym[AlegreyaSerif-BoldCaps]        [name:AlegreyaSC-Bold]
 
  \definefontsynonym[AlegreyaSerif-Black]          [name:Alegreya-Black]
 
  \definefontsynonym[AlegreyaSerif-BlackItalic]     [name:Alegreya-BlackItalic]
 
  \definefontsynonym[AlegreyaSerif-BlackCaps]      [name:AlegreyaSC-Black]
 
\stoptypescript
 

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