Changes

Jump to navigation Jump to search
1,692 bytes removed ,  08:29, 2 July 2022
m
Text replacement - "pragma-ade.com" to "pragma-ade.nl"
'''Please, someone, fill this page !'''
'''This page is being regorganizedreorganized'''
Using [[LuaTeX]] as the processing engine in ConTeXt allows one to directly use fonts installed on the user's system. Instead of converting all fonts into the standard <code>.tfm</code> and <code>.vf</code> formats (as outlined in some [[This Way - My Way#MyWay|My Way]] documents<ref>[http://dl.contextgarden.net/websitesarchive/atl/tex/OpenType.pdf OpenType in ConTeXt] by Adam Lindsay</ref><ref>[http://dl.contextgarden.net/myway/expertfonts.pdf Installing Expert Fonts: Minion Pro] by Idris Samawi Hamid</ref>), LuaTeX creates these metric files automatically at run-time. This greatly simplifies font installation in ConTeXt.
= How LuaTeX handles system fonts =
You only have to do the reload manually when you have installed updates to already installed fonts that cause the font and/or file names to change.
This normally only happens for fonts that are still in development like [[TeX Gyre- Old Content]] and [[Latin Modern]].
You can rebuild the database manually, using the already-mentioned command
(better) <code>\enabletrackers[fonts.missing]</code> in the preamble
of your document.
 
In LMTX the command {{cmd|replacemissingcharacters}} will insert boxes where missing characters are expected. The boxes adhere to font style (italics, bold) and copying the box from PDF into the text editor will insert the missing glyph, so one can see the missing character without looking at the ''missing characters'' section of the log file.
 
== References ==
[http://context.aanhet.net/svn/contextman/context-reference/en/co-fonts.pdf The new manual chapter on fonts]
= Using fonts =
Handling fonts in LuaTeX can be done* in a simple but limited way, using the <code>simplefonts<[http://pragma-ade.nl/code> module;* in the standard way, using [[TypeScripts]general/manuals/mfonts.pdf Old Fonts Manual by Hans Hagen]
== With the <code>simplefonts<[http:/code> module ==/pragma-ade.nl/general/manuals/fonts-mkiv.pdf New Fonts Manual by Hans Hagen]
[http://www.ctan.org/tex-archive/macros/context/contrib/context-simplefonts simplefonts] is a third-party module written by Wolfgang Schuster.
It simplifies the use of = Using fonts in LuaTeX by* freeing the user from writing or using [[TypeScripts]];* offering an interface similar to the [http://www.ctan.org/tex-archive/macros/xetex/latex/fontspec/ fontspec package for XeTeX]=
For instance, assuming the [http://www.exljbris.com/delicious.html Delicious Handling fonts] are properly installed and recognized by ConTeXt, you in LuaTeX can simply write: <texcode>\usemodule[simplefonts] % load the module.\setmainfont[Delicious] % set Delicious as main (serif) font% \setmonofont[mymonofont]% \setmathfont[mymathfont]% \setsansfont[mysansfont] \starttext\rm\tf roman \it italic \bf bold \bi bolditalic \sc smallcaps\stoptext</texcode> === Installing <code>simplefonts</code> ===be done* If you're in a simple but limited way, using LuaTeX along with TeXlive 2009, <code>simplefonts</code> is already installed* If you're running the [[ConTeXt Standalone]], Simplefonts - Old Content|<code>simplefonts</code> can be installed like [http://wiki.contextgarden.net/ConTeXt_Standalone#Installing_third_party_modules any third-party module]:]; first-setup.sh --modules="t-simplefonts" === Handling special cases === If the font * in question has an unusual naming scheme and is missing some features, it may be necessary to specify the names to look for and the font features to implement. In [http://archive.contextgarden.net/message/20111017.113829.e2b20bf4.en.html this example] the font names do not end with *bold and *regular but with *fett and *nor (from the german words "fett" for bold and "normal" for regular). Also the font doesn't provide an italic font facestandard way, so it has to be emulated. Wolfgang Schuster proposed the following [http://archive.contextgarden.net/message/20111017.144952.1a72175c.en.html solutions]: <texcode>\usemoduleusing [simplefonts]  \definefontfeature[fakeitalicTypeScripts - Old Content][default][slant=.25] % for fake bold use “extend=<number>”  \setmainfont [telegrotesk] [regularfont=* nor, italicfont=* nor, boldfont=* fett, bolditalicfont=* fett, italicfeatures=fakeitalic, % just the name of a fontfeature bolditalicfeatures=fakeitalic]</texcode>
== The standard way: Typescripts ==
\usetypefile[xx]
where ConTeXt prepends <code>type-</code> when it loads the file; but
<{{cmd>|usetypescriptfile</cmd> }} is the preferred command because it takes care of the<{{cmd>|starttypescriptcollection</cmd>}}/<{{cmd>|stoptypescriptcollection</cmd> }} environments.
=== Very simple example of typescript ===
=== Where to find existing typescripts ===
Each of the typescripts below defines a keyword to use with <{{cmd>|setupbodyfont</cmd>}}. Usually this is the same as the name of the typescript, but there is one exception (<code>antykwa-torunska</code>)
* Latin Modern (typescript name: <code>modern</code>; this is the default font set)
* Latin Modern variant (ts name: <code>modernvariable</code>; LM variable typewriter for serif)
* Postscript (ts name: <code>postscript</code>; Termes for serif, Heros for sans, Cursor for mono)
* Antykwa Toruńska (ts name: <code>antykwa-torunska</code>; only serif; defines <tt>antykwa</tt> as keyword for <{{cmd>|setupbodyfont</cmd>}})
* Iwona (ts name: <code>iwona</code>; only sans serif)
* Iwona Light, Medium and Heavy (ts names: <code>iwona-light</code>, <code>iwona-medium</code>, <code>iwona-heavy</code>; only sans; the medium variant is a small bit heavier than a "regular" one)
That's as simple as using a traditional ConTeXt typescript!
But ... how is it any different, then? Well, the difference is that in Mark IV, we can use an Opentype font directly, so that what is done here: when we want to use Palatino, the [[TeX Gyre- Old Content]] equivalent (“Pagella”) is called and we can use its Opentype “features”; read on.
==== Opentype features ====
[[Category:Fonts]]
[[Category:International]]
[[Category:LuaTeX]]

Navigation menu