Changes

Jump to navigation Jump to search
5,774 bytes added ,  17:57, 22 January 2023
m
typo missing }
'''Please, someone, fill this page !'''
'''This page is beeing regorganizedbeing reorganized'''
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
to "no".
== References Missing glyphs ==
You need to add the command {{cmd|checkcharactersinfont}} or(better) {{cmd|enabletrackers|[http://context.aanhet.net/svn/contextman/context-reference/en/co-fonts.pdf The new manual chapter on fontsmissing]}} in the preambleof your document.
= Using fonts ={{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.
Handling fonts in LuaTeX can be done* in a simple but limited way{{cmd|enabledirectives|2=[logs.errors=missing characters]}} throws an error and quits ConTeXt. After that, using the all you have to do is search for <code>simplefontsstart missing characters:</code> module;* in the standard way, using [[TypeScripts]]log file.
== With the In fairly recent LMTX and MkIV versions,<coderef>simplefontsCurrent latest from 2023.01.15 14:04, as the time of writing.</coderef> module only {{cmd|enabledirectives|2=[logs.errors=missing characters]}} and/or {{cmd|replacemissingcharacters}} are required.
[httpFor example, imagine this (otherwise extreme) example:<ref>The relevant section of the log file from this sample would read:<pre>fonts > start missing characters: /home/user/www.ctan.orgcontext/tex-archive/macrostexmf/fonts/data/contextgust/contriblm/contextlmroman10-simplefonts simplefonts] regular.otffonts > 2 U+003AC ά GREEK SMALL LETTER ALPHA WITH TONOSfonts > 2 U+003AD έ GREEK SMALL LETTER EPSILON WITH TONOSfonts > 2 U+003AE ή GREEK SMALL LETTER ETA WITH TONOSfonts > 2 U+003AF ί GREEK SMALL LETTER IOTA WITH TONOSfonts > 2 U+003B1 α GREEK SMALL LETTER ALPHAfonts > 2 U+003B2 β GREEK SMALL LETTER BETAfonts > 2 U+003B3 γ GREEK SMALL LETTER GAMMAfonts > 2 U+003B4 δ GREEK SMALL LETTER DELTAfonts > 2 U+003B5 ε GREEK SMALL LETTER EPSILONfonts > 2 U+003B7 η GREEK SMALL LETTER ETAfonts > 2 U+003B8 θ GREEK SMALL LETTER THETAfonts > 2 U+003B9 ι GREEK SMALL LETTER IOTAfonts > 2 U+003BA κ GREEK SMALL LETTER KAPPAfonts > 2 U+003BB λ GREEK SMALL LETTER LAMDAfonts > 2 U+003BC μ GREEK SMALL LETTER MUfonts > 2 U+003BD ν GREEK SMALL LETTER NUfonts > 2 U+003BF ο GREEK SMALL LETTER OMICRONfonts > 2 U+003C0 π GREEK SMALL LETTER PIfonts > 2 U+003C1 ρ GREEK SMALL LETTER RHOfonts > 2 U+003C2 ς GREEK SMALL LETTER FINAL SIGMAfonts > 2 U+003C3 σ GREEK SMALL LETTER SIGMAfonts > 2 U+003C4 τ GREEK SMALL LETTER TAUfonts > 2 U+003C5 υ GREEK SMALL LETTER UPSILONfonts > 2 U+003C6 φ GREEK SMALL LETTER PHIfonts > 2 U+003C7 χ GREEK SMALL LETTER CHIfonts > 2 U+003C8 ψ GREEK SMALL LETTER PSIfonts > 2 U+003C9 ω GREEK SMALL LETTER OMEGAfonts > 2 U+003CC ό GREEK SMALL LETTER OMICRON WITH TONOSfonts > 2 U+003CD ύ GREEK SMALL LETTER UPSILON WITH TONOSfonts > 2 U+003CE ώ GREEK SMALL LETTER OMEGA WITH TONOSfonts > 2 U+01F00 ἀ GREEK SMALL LETTER ALPHA WITH PSILIfonts > 2 U+01F04 ἄ GREEK SMALL LETTER ALPHA WITH PSILI AND OXIAfonts > 2 U+01F05 ἅ GREEK SMALL LETTER ALPHA WITH DASIA AND OXIAfonts > 2 U+01F10 ἐ GREEK SMALL LETTER EPSILON WITH PSILIfonts > 2 U+01F14 ἔ GREEK SMALL LETTER EPSILON WITH PSILI AND OXIAfonts > 2 U+01F21 ἡ GREEK SMALL LETTER ETA WITH DASIAfonts > 2 U+01F22 ἢ GREEK SMALL LETTER ETA WITH PSILI AND VARIAfonts > 2 U+01F27 ἧ GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENIfonts > 2 U+01F30 ἰ GREEK SMALL LETTER IOTA WITH PSILIfonts > 2 U+01F31 ἱ GREEK SMALL LETTER IOTA WITH DASIAfonts > 2 U+01F34 ἴ GREEK SMALL LETTER IOTA WITH PSILI AND OXIAfonts > 2 U+01F37 ἷ GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENIfonts > 2 U+01F41 ὁ GREEK SMALL LETTER OMICRON WITH DASIAfonts > 2 U+01F44 ὄ GREEK SMALL LETTER OMICRON WITH PSILI AND OXIAfonts > 2 U+01F45 ὅ GREEK SMALL LETTER OMICRON WITH DASIA AND OXIAfonts > 2 U+01F50 ὐ GREEK SMALL LETTER UPSILON WITH PSILIfonts > 2 U+01F51 ὑ GREEK SMALL LETTER UPSILON WITH DASIAfonts > 2 U+01F54 ὔ GREEK SMALL LETTER UPSILON WITH PSILI AND OXIAfonts > 2 U+01F56 ὖ GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENIfonts > 2 U+01F61 ὡ GREEK SMALL LETTER OMEGA WITH DASIAfonts > 2 U+01F65 ὥ GREEK SMALL LETTER OMEGA WITH DASIA AND OXIAfonts > 2 U+01F70 ὰ GREEK SMALL LETTER ALPHA WITH VARIAfonts > 2 U+01F72 ὲ GREEK SMALL LETTER EPSILON WITH VARIAfonts > 2 U+01F74 ὴ GREEK SMALL LETTER ETA WITH VARIAfonts > 2 U+01F78 ὸ GREEK SMALL LETTER OMICRON WITH VARIAfonts > 2 U+01FA7 ᾧ GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENIfonts > 2 U+01FB6 ᾶ GREEK SMALL LETTER ALPHA WITH PERISPOMENIfonts > 2 U+01FBD ᾽ GREEK KORONISfonts > 2 U+01FC6 ῆ GREEK SMALL LETTER ETA WITH PERISPOMENIfonts > 2 U+01FC7 ῇ GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENIfonts > 2 U+01FD6 ῖ GREEK SMALL LETTER IOTA WITH PERISPOMENIfonts > 2 U+01FE5 ῥ GREEK SMALL LETTER RHO WITH DASIAfonts > 2 U+01FE6 ῦ GREEK SMALL LETTER UPSILON WITH PERISPOMENIfonts > 2 U+01FF6 ῶ GREEK SMALL LETTER OMEGA WITH PERISPOMENIfonts > 2 U+01FF7 ῷ GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENIfonts > stop missing characters</pre>Of course, this is a third-party module written by Wolfgang Schusteran extreme case, since the ''Latin Roman'' typefaces lack Greek glyphs.</ref>
It simplifies the use of fonts in LuaTeX by<context source="yes">* freeing the user from writing or using \enabledirectives[logs.errors=missing characters]\mainlanguage[TypeScriptsagr]\replacemissingcharacters\startTEXpage[offset=2em];* offering an interface similar to the [http://www.ctan.org/tex\input aristotle-archivegrc\stopTEXpage</macros/xetex/latex/fontspec/ fontspec package for XeTeX]context>
For instance, assuming This particular error quits ConTeXt after the [http://wwwfirst run.josbuivenga.demon.nl/delicious.html Delicious fonts] The last two lines in the console are properly installed and recognized by ConTeXt, you can simply write:
<texcodepre>system > status > quitting due to: missing characters\usemodule[simplefonts] % load the module\setmainfont[Delicious] % set Delicious as main (serif) fontmtx-context | fatal error: return code: 1</pre>
\starttext\rm\tf roman \it italic \bf bold \bi bolditalic \sc smallcaps\stoptext</texcode>Unless you check the console messages, the log file or the whole document looking for the replaced glyphs, please consider that you might miss that your PDF document may be lacking glyphs.
=== Installing <code>simplefonts</code> ==Using fonts =
* If you're using Handling fonts in LuaTeX along with TeXlive 2009, <code>simplefonts</code> is already installedcan be done* If you're running in a simple but limited way, using 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* in the standard way, using [[TypeScripts -setup.sh --extras="t-simplefonts"Old Content]]
== 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 ====
== Example ==
 
Now to access, say the regular warnock font, the following are valid. And I ought to mention that Hans recommends the first http://article.gmane.org/gmane.comp.tex.context/43685.
= References =
<references* Chapter [http:/>/pmrb.free.fr/contextref.pdf#aut:495 ''Fonts''] from the ''ConTeXt Reference Manual'' by Hans Hagen and Taco Hoekwater (September 2013).* [https://pragma-ade.com/general/manuals/mfonts.pdf ''Fonts in ConTeXt''] by Hans Hagen (November 2005).* [https://pragma-ade.com/general/manuals/fonts-mkiv.pdf ''Fonts Out of ConteXt: Explaining LuaTeX and MkIV''] by Hans Hagen (2016)  = Footnotes = 
[[Category:Fonts]]
[[Category:International]]
[[Category:LuaTeX]]
139

edits

Navigation menu