Difference between revisions of "TypeScripts - Old Content"
Jump to navigation
Jump to search
(new (moved links from Fonts, wrote intro)) |
(added map file) |
||
Line 6: | Line 6: | ||
Sample typescript for the free text font [http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=Gentium Gentium]. | Sample typescript for the free text font [http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=Gentium Gentium]. | ||
+ | A typescript must live in your project folder to be found, even if I'd prefer <tt>(texmf)/fonts/typescripts</tt>... | ||
<texcode> | <texcode> | ||
+ | % type-sil-gentium.tex | ||
% Typescript for serif family SIL Gentium | % Typescript for serif family SIL Gentium | ||
Line 15: | Line 17: | ||
\stoptypescript | \stoptypescript | ||
− | % mapping from PostScript name (or visible font name, | + | % mapping from PostScript name (or visible font name, if it's a TrueType font) to TFM file name |
\starttypescript [serif] [gentium] [\defaultencoding] | \starttypescript [serif] [gentium] [\defaultencoding] | ||
\definefontsynonym [GentiumAlt-Italic] [\defaultencoding-genai101][encoding=\defaultencoding] | \definefontsynonym [GentiumAlt-Italic] [\defaultencoding-genai101][encoding=\defaultencoding] | ||
Line 38: | Line 40: | ||
% sample family definition | % sample family definition | ||
% here we define only the serif (rm) version. | % here we define only the serif (rm) version. | ||
− | \starttypescript [ | + | \starttypescript [my] [sil-gentium] |
\definetypeface [sil-gentium] [rm] [serif] [gentium] [default][encoding=\defaultencoding] | \definetypeface [sil-gentium] [rm] [serif] [gentium] [default][encoding=\defaultencoding] | ||
% \definetypeface [sil-gentium] [ss] [sans] [default] [default][encoding=\defaultencoding] | % \definetypeface [sil-gentium] [ss] [sans] [default] [default][encoding=\defaultencoding] | ||
Line 46: | Line 48: | ||
</texcode> | </texcode> | ||
− | To use | + | The multiple mapping is not strictly needed, but increases flexibility. |
+ | |||
+ | To use your new typescript, write the following in your environment file (or single TeX file): | ||
<texcode> | <texcode> | ||
\setupencoding[default=ec] % defines \defaultencoding | \setupencoding[default=ec] % defines \defaultencoding | ||
\usetypescriptfile[type-sil-gentium] | \usetypescriptfile[type-sil-gentium] | ||
− | \usetypescript[ | + | \usetypescript[my][sil-gentium] |
\setupbodyfont [sil-gentium, rm, 12pt] | \setupbodyfont [sil-gentium, rm, 12pt] | ||
Line 57: | Line 61: | ||
</texcode> | </texcode> | ||
− | The map file was written by [[texfont]] and lives in <tt>(texmf)/fonts/map/pdftex/context</tt> | + | The map file was written by [[texfont]] and lives in <tt>(texmf)/fonts/map/pdftex/context</tt>. |
+ | It combines raw TFM (metrics), PostScript name, font file and encoding | ||
+ | <texcode> | ||
+ | % ec-sil-gentium.map | ||
+ | ec-raw-genai101 GentiumAlt-Italic 4 < genai101.pfb ec.enc | ||
+ | ec-raw-genar101 GentiumAlt 4 < genar101.pfb ec.enc | ||
+ | ec-raw-geni101 Gentium-Italic 4 < geni101.pfb ec.enc | ||
+ | ec-raw-genr101 Gentium 4 < genr101.pfb ec.enc | ||
+ | </texcode> | ||
Revision as of 21:22, 12 April 2005
< Fonts >
Typescripts are the ConTeXt way of using fonts and defining font families.
Basics
Sample typescript for the free text font Gentium. A typescript must live in your project folder to be found, even if I'd prefer (texmf)/fonts/typescripts...
% type-sil-gentium.tex % Typescript for serif family SIL Gentium % load mapfile \starttypescript [map] [\defaultencoding] \loadmapfile [\defaultencoding-sil-gentium.map] \stoptypescript % mapping from PostScript name (or visible font name, if it's a TrueType font) to TFM file name \starttypescript [serif] [gentium] [\defaultencoding] \definefontsynonym [GentiumAlt-Italic] [\defaultencoding-genai101][encoding=\defaultencoding] \definefontsynonym [GentiumAlt] [\defaultencoding-genar101][encoding=\defaultencoding] \definefontsynonym [Gentium-Italic] [\defaultencoding-geni101][encoding=\defaultencoding] \definefontsynonym [Gentium] [\defaultencoding-genr101][encoding=\defaultencoding] \stoptypescript % mapping from generic family name to PostScript name \starttypescript [serif] [gentium] [name] \definefontsynonym [SerifBook] [Gentium] \definefontsynonym [SerifBookItalic] [Gentium-Italic] \stoptypescript % additional mapping to alternate glyphs, not further used \starttypescript [serif] [gentium-alt] [name] \usetypescript [serif] [gentium] [\defaultencoding] % use font name mapping \definefontsynonym [SerifBook] [GentiumAlt] \definefontsynonym [SerifBookItalic] [GentiumAlt-Italic] \stoptypescript % sample family definition % here we define only the serif (rm) version. \starttypescript [my] [sil-gentium] \definetypeface [sil-gentium] [rm] [serif] [gentium] [default][encoding=\defaultencoding] % \definetypeface [sil-gentium] [ss] [sans] [default] [default][encoding=\defaultencoding] % \definetypeface [sil-gentium] [tt] [mono] [default] [default][encoding=\defaultencoding] % \definetypeface [sil-gentium] [mm] [math] [default] [default][encoding=\defaultencoding] \stoptypescript
The multiple mapping is not strictly needed, but increases flexibility.
To use your new typescript, write the following in your environment file (or single TeX file):
\setupencoding[default=ec] % defines \defaultencoding \usetypescriptfile[type-sil-gentium] \usetypescript[my][sil-gentium] \setupbodyfont [sil-gentium, rm, 12pt] \setupbodyfontenvironment[default] [em=italic] % slanted is default emphasize in ConTeXt
The map file was written by texfont and lives in (texmf)/fonts/map/pdftex/context. It combines raw TFM (metrics), PostScript name, font file and encoding
% ec-sil-gentium.map
ec-raw-genai101 GentiumAlt-Italic 4 < genai101.pfb ec.enc
ec-raw-genar101 GentiumAlt 4 < genar101.pfb ec.enc
ec-raw-geni101 Gentium-Italic 4 < geni101.pfb ec.enc
ec-raw-genr101 Gentium 4 < genr101.pfb ec.enc
Links
- examples of using typescripts by Pragma
- example typescripts for free and commercial fonts, by Hraban (partly outdated)
- typescripts for some fonts from the FontSite500 CD on the Font Site page, by Holger Schöner
- typescripts for lazy font combinations on the Flexi Face page
- some pointers on extending typescripts to accommodate access to “variants,” like old-style figures, are on the Font Variants page
- Fonts in XeTeX gives some details about the XeTeX-specific typescripts in type-xtx