Changes

Jump to navigation Jump to search
Minimum effort to save yet another jargon from being orphan with a link *intentionally* set to point to a snapshot of the repo so that it will never point to a random parenthesis or a nonexistent file at all as some other links in this wiki do.
* '''TeX users create a new folder for each new font in <code>tex/texmf-fonts/fonts/</code>''', following [http://tug.org/tds/ TeX Directory Structure].
** it helps the algorithms to deal with the incredibly wide variety of fonts's variables and parameters.
** People who handle a lot of fonts can be more structured by using *: <code>tex/texmf-fonts/fonts/truetype/vendor/fontfamily</code>.
But it it's very likely that you also want to use the '''fonts already available on your Operating System''':
;1. Specify where ConTeXt should looked for fonts, by setting the '''OSFONTDIR''' environment variable.
:* WINDOWS: <code>set OSFONTDIR=c:/windows/fonts/</code>
:* MAC: <code>export OSFONTDIR=/Library/Fonts/;:/System/Library/Fonts;:$HOME/Library/Fonts</code>:* GNU/LINUX: <code>export OSFONTDIR=$HOME/.fonts;:/usr/share/fonts</code>
:* Add it to your .bashrc or shell equivalent to make the declaration permanent.
;2. Run ConTeXt to index the files:* update of and the file databasefonts : <codetexcode>mtxrun --generate</code>:* update of the fonts database: <code>mtxrun --script font --reload</codetexcode>;3. Check by looking for the specific font you want to use next:* a very . A common example :<codetexcode>mtxrun --script font --list --file -pattern=*helvetica*</codetexcode>
Now, let's learn how to use them for typesetting.
= Practical application #1 - Quick use of a new font =
Let's take a an example: we want to use [https://fonts.google.com/specimen/Noto+Serif Noto Serif].
If it is already installed on your computer, and you already updated the ConTeXt databases like shown previously, go directly to '''#2'''.
It not, you have to download and store it first. The Google website provides a zip file with the 4 alternative variations (Regular 400, Regular 400 italic, Bold 700, Bold 700 italic).
; #1. Store them is in a dedicated folder [[#Fonts location on your computer|indexed by ConTeXt]].
:* for example, create a "Noto-serif" in the ConTeXt distribution <code>tex/texmf-fonts/fonts/</code>.
:* unzip and store the .ttf file in <code>tex/texmf-fonts/fonts/Noto-serif/</code>.
; #2. Now you can check the ''fontname'' used to identify the fonts,
:*run <code>mtxrun --script font --list --file -pattern=*noto*</code>. You should obtain something like
<texcode>familyname weight style style width variant fontname filename subfont fontweight
notoserif bold bold normal normal normal normal notoserifbold NotoSerif-Bold.ttfnotoserif bold bold italic normal normal normal notoserifbolditalic NotoSerif-BoldItalic.ttfnotoserif normal italic normal normal normal notoserifitalic NotoSerif-Italic.ttfnotoserif normal normal normal normal normal notoserif NotoSerif-Regular.ttf
</texcode>
; #3. Your You are done! You can use the font anywhere in your input files with {{cmd|definedfont}}
:* it's good to add <code>*default</code> to benefit from default features, like for example [http://www.pragma-ade.com/general/manuals/fonts-mkiv.pdf#&#91;169,{%22name%22:%22Fit%22}&#93; kerning].
<texcode>
* It's not nice to have to write \definedfont[name:yoursuperfont-weightstyle*default at xxpt] each time you want to use a particular font.
* That why it's worth defining a '''typescript'''. It's just 3 steps, and less than 5 minutes. Then, you will be able to easily switch between fonts with {{cmd|tf}}, {{cmd|it}}, {{cmd|bf}}, {{cmd|bi}} (see [[Font_Switching#Font_styles_and_alternatives|Font styles and alternatives]]), and all the typesetting of your document will use a consistent set of fonts.
* [[Typescripts_examples| Many typescripts are ready]] for use on usual free and commercial fonts, and obviously for the [[ConTeXt_distribution's_Fonts|ConTeXt distribution's Fonts]].
</texcode>
; #2. The boring step, define the links between ''[https://github.com/contextgarden/context-mirror/blob/a0270f13065d116355a953c6f246cbba26289fc2/tex/context/base/mkiv/font-sel.lua#L514 ConTeXt basics names]'' and the ''People-readable names''.
:* It's good to add a fallback.
<texcode>
\starttypescript [mynotoserif]
\setups[font:fallback:serif] % security: if not found==> bask back to defaults% \definefontsynonym[ConTeXt bascics basics name] [Human readable] [features=default]
\definefontsynonym[Serif] [NotoSerif-Regular] [features=default]
\definefontsynonym[SerifItalic] [NotoSerif-Italic] [features=default]
= Install your new typescript to use it anywhere =
You will probably want to use your new customized typescript definition across different documents, so you have to install them in the distribution. Here is , we remind the definition.:
<texcode>
# Save your file as <code>type-(fontname|foundrysome-name-you-like).tex</code>, for example here <code>type-mynotoserif.tex</code>
# Copy the typescript files into <code>tex/texmf-fonts/tex/context/user/</code>
# Run <code>context --generate</code> to update ConTeXt file database
# You are It's done!Now, two lines at the beginning of any input will declare to typeset with the new fonts:<texcode>#* you can add \usetypescriptfile[mynotoserif] at % this is the beginning 'some-name-you-like' part of any input filethe saved filename#* and \setupbodyfont[mynotoserif] will declare % this is the first argument to typeset with your new font.\definetypeface</texcode> [[Category:Fonts]]
17

edits

Navigation menu