Difference between revisions of "TypeScripts - Old Content"

From Wiki
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, this is a TrueType font) to TFM file 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 [fiee] [sil-gentium]
+
\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 it, write the following in your environment file (or single TeX file):
+
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[fiee][sil-gentium]
+
\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