xref: /plan9/sys/src/cmd/gs/doc/Fonts.htm (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
13ff48bf5SDavid du Colombier<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
27dd7cddfSDavid du Colombier<html>
37dd7cddfSDavid du Colombier<head>
47dd7cddfSDavid du Colombier<title>Fonts and font facilities supplied with Ghostscript</title>
5*593dc095SDavid du Colombier<!-- $Id: Fonts.htm,v 1.51 2005/10/20 19:46:23 ray Exp $ -->
67dd7cddfSDavid du Colombier<!-- Originally: fonts.txt -->
73ff48bf5SDavid du Colombier<link rel="stylesheet" type="text/css" href="gs.css" title="Ghostscript Style">
87dd7cddfSDavid du Colombier</head>
97dd7cddfSDavid du Colombier
107dd7cddfSDavid du Colombier<body>
117dd7cddfSDavid du Colombier<!-- [1.0 begin visible header] ============================================ -->
127dd7cddfSDavid du Colombier
137dd7cddfSDavid du Colombier<!-- [1.1 begin headline] ================================================== -->
147dd7cddfSDavid du Colombier
153ff48bf5SDavid du Colombier<h1>Fonts and font facilities supplied with Ghostscript</h1>
167dd7cddfSDavid du Colombier
177dd7cddfSDavid du Colombier<!-- [1.1 end headline] ==================================================== -->
187dd7cddfSDavid du Colombier
197dd7cddfSDavid du Colombier<!-- [1.2 begin table of contents] ========================================= -->
207dd7cddfSDavid du Colombier
217dd7cddfSDavid du Colombier<h2>Table of contents</h2>
227dd7cddfSDavid du Colombier
237dd7cddfSDavid du Colombier<blockquote><ul>
247dd7cddfSDavid du Colombier<li><a href="#About">About Ghostscript fonts</a>
257dd7cddfSDavid du Colombier<li><a href="#Free_fonts">Ghostscript's free fonts</a>
267dd7cddfSDavid du Colombier<li><a href="#Other_fonts">Other free fonts</a>
277dd7cddfSDavid du Colombier<ul>
287dd7cddfSDavid du Colombier<li><a href="#Computer_Modern">Computer Modern Fontmap</a>
297dd7cddfSDavid du Colombier<li><a href="#Chinese">Free Chinese (Hanzi) fonts</a>
307dd7cddfSDavid du Colombier<li><a href="#Japanese">Free Japanese (Kanji) fonts</a>
317dd7cddfSDavid du Colombier<li><a href="#Unicode_CMaps">Unicode CMaps</a>
327dd7cddfSDavid du Colombier<li><a href="#Cyrillic">Free Cyrillic fonts</a>
337dd7cddfSDavid du Colombier<li><a href="#Partial_Unicode_fonts">(Partial) Unicode fonts</a>
347dd7cddfSDavid du Colombier</ul>
357dd7cddfSDavid du Colombier<li><a href="#Get_fonts">How Ghostscript gets fonts when it runs</a>
367dd7cddfSDavid du Colombier<li><a href="#Platform_fonts">Platform fonts</a>
377dd7cddfSDavid du Colombier<li><a href="#Add_fonts">Adding your own fonts</a>
387dd7cddfSDavid du Colombier<ul>
397dd7cddfSDavid du Colombier<li><a href="#Convert_BDF">Converting BDF fonts</a>
407dd7cddfSDavid du Colombier</ul>
417dd7cddfSDavid du Colombier<li><a href="#For_developers">For developers only</a>
427dd7cddfSDavid du Colombier<ul>
437dd7cddfSDavid du Colombier<li><a href="#Font_contents">Contents of fonts</a>
447dd7cddfSDavid du Colombier<li><a href="#Precompiling">Precompiling fonts</a>
457dd7cddfSDavid du Colombier<li><a href="#Short_identifiers">Precompiling fonts on platforms with identifier length limits</a>
467dd7cddfSDavid du Colombier<li><a href="#Unique_IDs">Font names and unique IDs</a>
477dd7cddfSDavid du Colombier<li><a href="#Codes">Codes used to make font file names</a>
487dd7cddfSDavid du Colombier</ul>
497dd7cddfSDavid du Colombier<li><a href="#Use_gs_fonts_with_X">Using Ghostscript fonts on X Windows displays</a>
507dd7cddfSDavid du Colombier<ul>
517dd7cddfSDavid du Colombier<li><a href="#Using_xset">Using <b><tt>xset</tt></b></a>
527dd7cddfSDavid du Colombier<li><a href="#Font_permanent_installation">Permanent installation</a>
537dd7cddfSDavid du Colombier<ul>
547dd7cddfSDavid du Colombier<li><a href="#Configure_xfs">Configuring the <b><tt>xfs</tt></b> font server</a>
557dd7cddfSDavid du Colombier<li><a href="#Configure_Xfree86">Xfree86 display servers</a>
567dd7cddfSDavid du Colombier</ul>
577dd7cddfSDavid du Colombier</ul>
587dd7cddfSDavid du Colombier</ul></blockquote>
597dd7cddfSDavid du Colombier
607dd7cddfSDavid du Colombier<!-- [1.2 end table of contents] =========================================== -->
617dd7cddfSDavid du Colombier
627dd7cddfSDavid du Colombier<!-- [1.3 begin hint] ====================================================== -->
637dd7cddfSDavid du Colombier
647dd7cddfSDavid du Colombier<p>For other information, see the <a href="Readme.htm">Ghostscript
657dd7cddfSDavid du Colombieroverview</a>.
667dd7cddfSDavid du Colombier
677dd7cddfSDavid du Colombier<!-- [1.3 end hint] ======================================================== -->
687dd7cddfSDavid du Colombier
697dd7cddfSDavid du Colombier<hr>
707dd7cddfSDavid du Colombier
717dd7cddfSDavid du Colombier<!-- [1.0 end visible header] ============================================== -->
727dd7cddfSDavid du Colombier
737dd7cddfSDavid du Colombier<!-- [2.0 begin contents] ================================================== -->
747dd7cddfSDavid du Colombier
757dd7cddfSDavid du Colombier<h2><a name="About"></a>About Ghostscript fonts</h2>
767dd7cddfSDavid du Colombier
777dd7cddfSDavid du Colombier<p>
787dd7cddfSDavid du ColombierGhostscript is distributed with two kinds of files related to fonts:
797dd7cddfSDavid du Colombier
807dd7cddfSDavid du Colombier<ul>
817dd7cddfSDavid du Colombier<li>the fonts themselves in individual files, and
827dd7cddfSDavid du Colombier<li>a file "<tt><b>Fontmap</b></tt>" that defines for
837dd7cddfSDavid du ColombierGhostscript which file represents which font.
847dd7cddfSDavid du Colombier</ul>
857dd7cddfSDavid du Colombier
867dd7cddfSDavid du Colombier<p>
87*593dc095SDavid du ColombierAdditionally, a file <tt><b>cidfmap</b></tt> can be used
88*593dc095SDavid du Colombierto create CID fonts for CJK font files on the system See
89*593dc095SDavid du Colombierthe section on <a href="Use.htm#CIDFontSubstitution">CID Font Substitution</a>
90*593dc095SDavid du Colombierfor details.
91*593dc095SDavid du Colombier
92*593dc095SDavid du Colombier<p>
937dd7cddfSDavid du ColombierMost of the font files supplied with Ghostscript have the extension
947dd7cddfSDavid du Colombier<tt><b>.pfb</b></tt>, and a few have <tt><b>.pfa</b></tt> or
957dd7cddfSDavid du Colombier<tt><b>.gsf</b></tt>.  Each file defines one ordinary PostScript Type 1
967dd7cddfSDavid du Colombieroutline font which any PostScript language interpreter can use.  Files with
977dd7cddfSDavid du Colombier<tt><b>.pfa</b></tt> or <tt><b>.pfb</b></tt> extensions are also compatible
987dd7cddfSDavid du Colombierwith Adobe Type Manager (ATM) and with tools that don't include a full
997dd7cddfSDavid du ColombierPostScript language interpreter; files with <tt><b>.gsf</b></tt> extension
1007dd7cddfSDavid du Colombierare incompatible with ATM and other tools. Ghostscript compiled with the
1017dd7cddfSDavid du Colombier"ttfont" option can also use TrueType fonts with the extension
1027dd7cddfSDavid du Colombier<tt><b>.ttf</b></tt>.
1037dd7cddfSDavid du Colombier
1047dd7cddfSDavid du Colombier<p><a name="Fontmap"></a>
1057dd7cddfSDavid du ColombierWhen Ghostscript needs a font, it must have some way to know where to look
1067dd7cddfSDavid du Colombierfor it: that's the purpose of the <b><tt>Fontmap</tt></b> file, which
1077dd7cddfSDavid du Colombierassociates the names of <em>fonts</em> such as <b><tt>/Times-Roman</tt></b>
1087dd7cddfSDavid du Colombierwith the names of font <em>files</em>, such as
1097dd7cddfSDavid du Colombier<tt><b>n021003l.pfb</b></tt>.  <b><tt>Fontmap</tt></b> can also create
1107dd7cddfSDavid du Colombieraliases for font names, so that for instance,
1117dd7cddfSDavid du Colombier<b><tt>/NimbusNo9L-Regu</tt></b> means the same font as
1127dd7cddfSDavid du Colombier<b><tt>/Times-Roman</tt></b>.
1137dd7cddfSDavid du Colombier
1147dd7cddfSDavid du Colombier<hr>
1157dd7cddfSDavid du Colombier
1167dd7cddfSDavid du Colombier<h2><a name="Free_fonts"></a>Ghostscript's free fonts</h2>
1177dd7cddfSDavid du Colombier
1187dd7cddfSDavid du Colombier<p>
1197dd7cddfSDavid du ColombierTwo sets of free fonts are supplied for Ghostscript:
1207dd7cddfSDavid du Colombier
1217dd7cddfSDavid du Colombier<ul>
1227dd7cddfSDavid du Colombier<li>35 commercial-quality Type 1 basic PostScript fonts -- Times,
1237dd7cddfSDavid du ColombierHelvetica, Courier, Symbol, etc. -- contributed by URW++ Design and
1247dd7cddfSDavid du ColombierDevelopment Incorporated, of Hamburg, Germany
1257dd7cddfSDavid du Colombier(<a href="http://www.urwpp.de/">http://www.urwpp.de/</a>).  Fontmap names
1267dd7cddfSDavid du Colombierthem all.
1277dd7cddfSDavid du Colombier
1287dd7cddfSDavid du Colombier<li>A miscellaneous set including Cyrillic, kana, and fonts derived from
1297dd7cddfSDavid du Colombierthe free Hershey fonts, with improvements (such as adding accented
1307dd7cddfSDavid du Colombiercharacters) by Thomas Wolff.  The Hershey-based fonts are quite different
1317dd7cddfSDavid du Colombierfrom traditional printer or display fonts; you can read about them in more
1327dd7cddfSDavid du Colombierdetail in the <a href="Hershey.htm">documentation on Hershey fonts</a>.
1337dd7cddfSDavid du Colombier
1347dd7cddfSDavid du Colombier</ul>
1357dd7cddfSDavid du Colombier
1367dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0>
1377dd7cddfSDavid du Colombier<tr><th colspan=7 bgcolor="#CCCC00"><hr><font size="+1">Font packages</font><hr>
1387dd7cddfSDavid du Colombier<tr>	<td><b>System</b>
1397dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
1407dd7cddfSDavid du Colombier	<td><b>File name</b>
1417dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
1427dd7cddfSDavid du Colombier	<td><b>Contents</b>
1437dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
1447dd7cddfSDavid du Colombier	<td><b>Types</b>
1457dd7cddfSDavid du Colombier<tr>	<td colspan=7><hr>
1467dd7cddfSDavid du Colombier<tr valign=top>	<td>DOS and<br>MS Windows
1477dd7cddfSDavid du Colombier	<td>&nbsp;
1487dd7cddfSDavid du Colombier	<td><b><tt>gs###fn1.zip</tt></b>
1497dd7cddfSDavid du Colombier	<td>&nbsp;
1507dd7cddfSDavid du Colombier	<td>Basic
1517dd7cddfSDavid du Colombier	<td>&nbsp;
1527dd7cddfSDavid du Colombier	<td><b><tt>.pfb</tt></b>
1537dd7cddfSDavid du Colombier<tr valign=top>	<td>&nbsp;
1547dd7cddfSDavid du Colombier	<td>&nbsp;
1557dd7cddfSDavid du Colombier	<td><b><tt>gs###fn2.zip</tt></b>
1567dd7cddfSDavid du Colombier	<td>&nbsp;
1577dd7cddfSDavid du Colombier	<td>Miscellaneous
1587dd7cddfSDavid du Colombier	<td>&nbsp;
1597dd7cddfSDavid du Colombier	<td>Various, for<br>different fonts
1607dd7cddfSDavid du Colombier<tr>	<td colspan=7><hr>
1617dd7cddfSDavid du Colombier<tr valign=top>	<td>Unix
1627dd7cddfSDavid du Colombier	<td>&nbsp;
1637dd7cddfSDavid du Colombier	<td><b><tt>ghostscript-fonts-std-#.##.tar.gz</tt></b>
1647dd7cddfSDavid du Colombier	<td>&nbsp;
1657dd7cddfSDavid du Colombier	<td>Basic
1667dd7cddfSDavid du Colombier	<td>&nbsp;
1677dd7cddfSDavid du Colombier	<td><b><tt>.afm</tt></b>,
1687dd7cddfSDavid du Colombier	    <b><tt>.pfb</tt></b>,<br><b><tt>.pfm</tt></b> <tr valign=top> <td>&nbsp;
1697dd7cddfSDavid du Colombier	<td>&nbsp;
1707dd7cddfSDavid du Colombier	<td><b><tt>ghostscript-fonts-other-#.##.tar.gz</tt></b>
1717dd7cddfSDavid du Colombier	<td>&nbsp;
1727dd7cddfSDavid du Colombier	<td>Miscellaneous
1737dd7cddfSDavid du Colombier	<td>&nbsp;
1747dd7cddfSDavid du Colombier	<td><b><tt>.afm</tt></b>,
1757dd7cddfSDavid du Colombier	    <b><tt>.gsf</tt></b>,<br><b><tt>.pfa</tt></b>, <b><tt>.pfm</tt></b>
1767dd7cddfSDavid du Colombier
1777dd7cddfSDavid du Colombier</table>
1787dd7cddfSDavid du Colombier</blockquote>
1797dd7cddfSDavid du Colombier
1807dd7cddfSDavid du Colombier<p>
1817dd7cddfSDavid du Colombier"#.##" and "###" are the version number with and without punctuation.
1827dd7cddfSDavid du ColombierFonts can be found at
1837dd7cddfSDavid du Colombier
1847dd7cddfSDavid du Colombier<blockquote>
1853ff48bf5SDavid du Colombierftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs###/ (for a particular version)<br>
1863ff48bf5SDavid du Colombier<a href="ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/fonts/"
1873ff48bf5SDavid du Colombierclass="offsite">ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/fonts/</a> (for
1883ff48bf5SDavid du Colombierseveral versions)
1897dd7cddfSDavid du Colombier</blockquote>
1907dd7cddfSDavid du Colombier
1917dd7cddfSDavid du Colombier<hr>
1927dd7cddfSDavid du Colombier
1937dd7cddfSDavid du Colombier<h2><a name="Other_fonts"></a>Other free fonts</h2>
1947dd7cddfSDavid du Colombier
1957dd7cddfSDavid du Colombier<h3><a name="Computer_Modern"></a>Computer Modern Fontmap</h3>
1967dd7cddfSDavid du Colombier
1977dd7cddfSDavid du Colombier<p>
1987dd7cddfSDavid du ColombierDon Knuth's Computer Modern fonts are popular, free, and widely available.
1993ff48bf5SDavid du ColombierA Fontmap appropriate for these fonts is available from:
2003ff48bf5SDavid du Colombier
2013ff48bf5SDavid du Colombier<blockquote>
2023ff48bf5SDavid du Colombier<a
2033ff48bf5SDavid du Colombierhref="ftp://tug.ctan.org/tex-archive/fonts/cm/ps-type1/contrib/Fontmap.cmr"
2043ff48bf5SDavid du Colombierclass="offsite">
2053ff48bf5SDavid du Colombierftp://tug.ctan.org/tex-archive/fonts/cm/ps-type1/contrib/Fontmap.cmr</a>
2063ff48bf5SDavid du Colombier</blockquote>
2073ff48bf5SDavid du Colombier
2083ff48bf5SDavid du Colombier<p>
209*593dc095SDavid du Colombieror from other <a href="http://www.ctan.org/" class="offsite">CTAN</a> sites.
2107dd7cddfSDavid du Colombier
2117dd7cddfSDavid du Colombier<h3><a name="Chinese"></a>Free Chinese (Hanzi) fonts</h3>
2127dd7cddfSDavid du Colombier
2137dd7cddfSDavid du Colombier<p>
2147dd7cddfSDavid du ColombierA free Chinese font, originally provided by courtesy of Jackson Technology,
2157dd7cddfSDavid du ColombierLtd., Taiwan under the GPL and now distributed by the Taiwan NeXT User
2167dd7cddfSDavid du ColombierGroup, is available from:
2177dd7cddfSDavid du Colombier
2187dd7cddfSDavid du Colombier<blockquote>
2193ff48bf5SDavid du Colombier<a href="ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/3rdparty/fonts/hanzi/"
2203ff48bf5SDavid du Colombierclass="offsite">ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/3rdparty/fonts/hanzi/</a>
2217dd7cddfSDavid du Colombier</blockquote>
2227dd7cddfSDavid du Colombier
2237dd7cddfSDavid du Colombier<p>
2247dd7cddfSDavid du ColombierProf. Wu of the Department of Economics of National Taiwan University has
2257dd7cddfSDavid du Colombiercreated several free Type 1 Chinese fonts designed to be used with TeX.  His
2267dd7cddfSDavid du Colombiere-mail is <a
2277dd7cddfSDavid du Colombierhref="mailto:ntut019@ccms.ntu.edu.tw">ntut019@ccms.ntu.edu.tw</a>.  The
2287dd7cddfSDavid du Colombierfonts are available from
2297dd7cddfSDavid du Colombier
2307dd7cddfSDavid du Colombier<blockquote>
2313ff48bf5SDavid du Colombier<a href="ftp://cle.linux.org.tw/pub/fonts/cwfont/"
2323ff48bf5SDavid du Colombierclass="offsite">ftp://cle.linux.org.tw/pub/fonts/cwfont/</a><br>
2337dd7cddfSDavid du Colombier</blockquote>
2347dd7cddfSDavid du Colombier
2357dd7cddfSDavid du Colombier<p>
2367dd7cddfSDavid du ColombierArphic Technology Co., Ltd., has made several free TrueType Chinese fonts
2377dd7cddfSDavid du Colombieravailable under the Arphic Public License, a license very similar to the
2387dd7cddfSDavid du ColombierGPL.  (Ghostscript can use TrueType fonts if Ghostscript is compiled with
2397dd7cddfSDavid du Colombierthe <tt><b>ttfont</b></tt> feature included: see <a
2407dd7cddfSDavid du Colombierhref="Make.htm#Features_and_devices">here</a> for more information.)  The
2417dd7cddfSDavid du Colombierfonts and license are available from
2427dd7cddfSDavid du Colombier
2437dd7cddfSDavid du Colombier<blockquote>
2443ff48bf5SDavid du Colombier<a href="ftp://cle.linux.org.tw/pub/fonts/arphic/"
2453ff48bf5SDavid du Colombierclass="offsite">ftp://cle.linux.org.tw/pub/fonts/arphic/</a><br>
2467dd7cddfSDavid du Colombier</blockquote>
2477dd7cddfSDavid du Colombier
2487dd7cddfSDavid du Colombier<h3><a name="Japanese"></a>Free Japanese (Kanji) fonts</h3>
2497dd7cddfSDavid du Colombier
2507dd7cddfSDavid du Colombier<p>
2517dd7cddfSDavid du ColombierMr. Tetsurou Tanaka of the Department of Engineering, University of Tokyo,
2527dd7cddfSDavid du Colombierhas created a set of free Kanji fonts available from
2537dd7cddfSDavid du Colombier
2547dd7cddfSDavid du Colombier<blockquote>
2553ff48bf5SDavid du Colombier<a href="ftp://ftp.ipl.t.u-tokyo.ac.jp/Font/"
2563ff48bf5SDavid du Colombierclass="offsite">ftp://ftp.ipl.t.u-tokyo.ac.jp/Font/</a><br>
2577dd7cddfSDavid du Colombier</blockquote>
2587dd7cddfSDavid du Colombier
2597dd7cddfSDavid du Colombier<p>
2607dd7cddfSDavid du Colombieralong with documentation in Japanese and English describing their
2617dd7cddfSDavid du Colombierconditions of use and how to use them.  An older copy of these fonts, under
2627dd7cddfSDavid du Colombiersomewhat different names, is available at the Ghostscript site:
2637dd7cddfSDavid du Colombier
2647dd7cddfSDavid du Colombier<blockquote>
2653ff48bf5SDavid du Colombier<a href="ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/3rdparty/fonts/kanji/">
2663ff48bf5SDavid du Colombierftp://mirror.cs.wisc.edu/pub/mirrors/ghost/3rdparty/fonts/kanji/</a><br>
2677dd7cddfSDavid du Colombier</blockquote>
2687dd7cddfSDavid du Colombier
2697dd7cddfSDavid du Colombier<p>
2707dd7cddfSDavid du ColombierMr. Norio Katayama has done some work to make Ghostscript work well with
2717dd7cddfSDavid du ColombierKanji fonts.  An easy-to-install Kanji font for Ghostscript, with
2727dd7cddfSDavid du Colombierinstallation instructions, is at
2737dd7cddfSDavid du Colombier
2747dd7cddfSDavid du Colombier<blockquote>
2753ff48bf5SDavid du Colombier<a href="http://www.cit.ics.saitama-u.ac.jp/~far/howto/gs-ttf.html"
2763ff48bf5SDavid du Colombierclass="offsite">http://www.cit.ics.saitama-u.ac.jp/~far/howto/gs-ttf.html</a>
2777dd7cddfSDavid du Colombier</blockquote>
2787dd7cddfSDavid du Colombier
2797dd7cddfSDavid du Colombier<p>
2807dd7cddfSDavid du ColombierThe same site has patches to make Ghostscript work with Japanese VF fonts,
2817dd7cddfSDavid du Colombierwith documentation in both English and Japanese:
2827dd7cddfSDavid du Colombier
2837dd7cddfSDavid du Colombier<blockquote>
2843ff48bf5SDavid du Colombier<a href="http://www.cit.ics.saitama-u.ac.jp/~far/howto/gs-vflib.html"
2853ff48bf5SDavid du Colombierclass="offsite">http://www.cit.ics.saitama-u.ac.jp/~far/howto/gs-vflib.html</a>
2867dd7cddfSDavid du Colombier</blockquote>
2877dd7cddfSDavid du Colombier
2887dd7cddfSDavid du Colombier<p>
2897dd7cddfSDavid du ColombierHere are some other resources in Japanese relating to VFlib and using
2907dd7cddfSDavid du ColombierGhostscript with Japanese fonts:
2917dd7cddfSDavid du Colombier
2927dd7cddfSDavid du Colombier<blockquote><dl compact>
2933ff48bf5SDavid du Colombier<dt><a href="http://kakugawa.aial.hiroshima-u.ac.jp/~kakugawa/Hacks/"
2943ff48bf5SDavid du Colombierclass="offsite">http://kakugawa.aial.hiroshima-u.ac.jp/~kakugawa/Hacks/</a>
2953ff48bf5SDavid du Colombier<dt><a href="http://itohws03.ee.noda.sut.ac.jp/~matsuda/VFlib-FT/"
2963ff48bf5SDavid du Colombierclass="offsite">http://itohws03.ee.noda.sut.ac.jp/~matsuda/VFlib-FT/</a>
2977dd7cddfSDavid du Colombier<dd>Author &lt;<a href="mailto:matsuda@itohws01.ee.noda.sut.ac.jp">matsuda@itohws01.ee.noda.sut.ac.jp</a>&gt;
2983ff48bf5SDavid du Colombier<dt><a href="http://www.rd.nacsis.ac.jp/~katayama/homepage/ghostscript/Japanese.html"
2993ff48bf5SDavid du Colombierclass="offsite">http://www.rd.nacsis.ac.jp/~katayama/homepage/ghostscript/Japanese.html</a>
3003ff48bf5SDavid du Colombier<dd>Author &lt;<a href="mailto:katayama@rd.nacsis.ac.jp">katayama@rd.nacsis.ac.jp</a>&gt;
3017dd7cddfSDavid du Colombier</dl></blockquote>
3027dd7cddfSDavid du Colombier
3037dd7cddfSDavid du Colombier<h3><a name="Unicode_CMaps"></a>Unicode CMaps</h3>
3047dd7cddfSDavid du Colombier
3057dd7cddfSDavid du Colombier<p>
306*593dc095SDavid du ColombierSome Unicode CMaps that can be used with Ghostscript are freely downloadable from
3077dd7cddfSDavid du Colombier
3087dd7cddfSDavid du Colombier<blockquote>
3093ff48bf5SDavid du Colombier<a href="ftp://ftp.oreilly.com/pub/examples/nutshell/ujip/adobe/"
3103ff48bf5SDavid du Colombierclass="offsite">ftp://ftp.oreilly.com/pub/examples/nutshell/ujip/adobe/</a>
3117dd7cddfSDavid du Colombier</blockquote>
3127dd7cddfSDavid du Colombier
3137dd7cddfSDavid du Colombier<h3><a name="Cyrillic"></a>Free Cyrillic fonts</h3>
3147dd7cddfSDavid du Colombier
3157dd7cddfSDavid du Colombier<p>
3167dd7cddfSDavid du ColombierN. Glonty and A. Samarin created in 1989 a Cyrillic extension of TeX's
3177dd7cddfSDavid du Colombier"Computer Modern" fonts, now freely available through the
318*593dc095SDavid du Colombier<a href="http://www.ctan.org/" class="offsite">Comprehensive TeX Archive Network</a> (CTAN),
3197dd7cddfSDavid du Colombierfor instance at
3207dd7cddfSDavid du Colombier
3217dd7cddfSDavid du Colombier<blockquote>
3223ff48bf5SDavid du Colombier<a href="ftp://ctan.tug.org/tex-archive/fonts/cyrillic/cmcyr/"
3233ff48bf5SDavid du Colombierclass="offsite">ftp://ctan.tug.org/tex-archive/fonts/cyrillic/cmcyr/</a>
3247dd7cddfSDavid du Colombier</blockquote>
3257dd7cddfSDavid du Colombier
3267dd7cddfSDavid du Colombier<p>
327*593dc095SDavid du Colombier<a href="http://www.ctan.org/" class="offsite">CTAN's</a> entire collection of Cyrillic fonts
3287dd7cddfSDavid du Colombieris, for instance, at
3297dd7cddfSDavid du Colombier
3307dd7cddfSDavid du Colombier<blockquote>
3313ff48bf5SDavid du Colombier<a href="ftp://ctan.tug.org/tex-archive/fonts/cyrillic/"
3323ff48bf5SDavid du Colombierclass="offsite">ftp://ctan.tug.org/tex-archive/fonts/cyrillic/</a>
3337dd7cddfSDavid du Colombier</blockquote>
3347dd7cddfSDavid du Colombier
3357dd7cddfSDavid du Colombier<p>
3367dd7cddfSDavid du ColombierBasil K. Malyshev created the "Paradissa Fonts Collection" in 1993.  It
3373ff48bf5SDavid du Colombiercontained 165 fonts, including the Glonty and Samarin font above plus other
3387dd7cddfSDavid du ColombierComputer Modern, Euler, and LaTeX fonts, all in PostScript Type 1 format
3393ff48bf5SDavid du Colombierwith <code>.afm</code> and <code>.pfm</code> files, compatible with ATM.
3403ff48bf5SDavid du ColombierThe collection could once be found through CTAN, for instance at
3417dd7cddfSDavid du Colombier
3427dd7cddfSDavid du Colombier<blockquote>
3433ff48bf5SDavid du Colombierhttp://www.ctan.org/tex-archive/fonts/
3443ff48bf5SDavid du Colombier<!-- orginal was ftp://ctan.tug.org/tex-archive/fonts/postscript/cm/ -->
3457dd7cddfSDavid du Colombier</blockquote>
3467dd7cddfSDavid du Colombier
3477dd7cddfSDavid du Colombier<p>
3483ff48bf5SDavid du Colombierbut the collection no longer seems to be available. However, the
3493ff48bf5SDavid du Colombier<a href="http://www.ctan.org/tex-archive/fonts/" class="offsite">ctan fonts directory</a>
3503ff48bf5SDavid du Colombierremains an excellent source of free fonts, many of which are offered in
3513ff48bf5SDavid du Colombierpostscript as well we as TeX Metafont format.
3527dd7cddfSDavid du Colombier
3537dd7cddfSDavid du Colombier<hr>
3547dd7cddfSDavid du Colombier
3557dd7cddfSDavid du Colombier<h3><a name="Partial_Unicode_fonts"></a>(Partial) Unicode fonts</h3>
3567dd7cddfSDavid du Colombier
3577dd7cddfSDavid du Colombier<p>
3587dd7cddfSDavid du ColombierGeorge W. Wilson is distributing some free partial Unicode fonts he created.
3597dd7cddfSDavid du ColombierThese fonts currently lack Arabic and CJK characters, but they include a
3607dd7cddfSDavid du Colombiervery large subset of the remaining Unicode set.  They are available in both
3617dd7cddfSDavid du ColombierType 1 and TrueType formats.  See
3627dd7cddfSDavid du Colombier
3637dd7cddfSDavid du Colombier<blockquote>
3643ff48bf5SDavid du Colombier<a href="http://bibliofile.mc.duke.edu/gww/fonts/Unicode.html"
3653ff48bf5SDavid du Colombierclass="offsite">http://bibliofile.mc.duke.edu/gww/fonts/Unicode.html</a>
3667dd7cddfSDavid du Colombier</blockquote>
3677dd7cddfSDavid du Colombier
3687dd7cddfSDavid du Colombier<h2><a name="Get_fonts"></a>How Ghostscript gets fonts when it runs</h2>
3697dd7cddfSDavid du Colombier
3707dd7cddfSDavid du Colombier<p>
3717dd7cddfSDavid du ColombierFonts occupy about 50KB each, so Ghostscript doesn't load them all
3727dd7cddfSDavid du Colombierautomatically when it runs.  Instead, as part of normal initialization
3737dd7cddfSDavid du ColombierGhostscript runs a file <tt><b>gs_fonts.ps</b></tt>, which arranges to load
3747dd7cddfSDavid du Colombierfonts on demand using information from the font map.  To preload all of the
3757dd7cddfSDavid du Colombierknown fonts, invoke the procedure
3767dd7cddfSDavid du Colombier
3777dd7cddfSDavid du Colombier<blockquote><tt><b>
3787dd7cddfSDavid du Colombierloadallfonts
3797dd7cddfSDavid du Colombier</b></tt></blockquote>
3807dd7cddfSDavid du Colombier
3817dd7cddfSDavid du Colombier<p>
3827dd7cddfSDavid du ColombierThe file <tt><b>prfont.ps</b></tt> contains code to print a sample page of
3837dd7cddfSDavid du Colombiera font.  Load this program by including it in the <tt><b>gs</b></tt>
3847dd7cddfSDavid du Colombiercommand line or by invoking
3857dd7cddfSDavid du Colombier
3867dd7cddfSDavid du Colombier<blockquote><tt><b>
3877dd7cddfSDavid du Colombier(prfont.ps) run
3887dd7cddfSDavid du Colombier</b></tt></blockquote>
3897dd7cddfSDavid du Colombier
3907dd7cddfSDavid du Colombier<p>
3917dd7cddfSDavid du ColombierThen to produce a sampler of a particular font XYZ, invoke
3927dd7cddfSDavid du Colombier
3937dd7cddfSDavid du Colombier<blockquote><tt><b>
3947dd7cddfSDavid du Colombier/XYZ DoFont
3957dd7cddfSDavid du Colombier</b></tt></blockquote>
3967dd7cddfSDavid du Colombier
3977dd7cddfSDavid du Colombier<p>For example,
3987dd7cddfSDavid du Colombier
3997dd7cddfSDavid du Colombier<blockquote><tt><b>
4007dd7cddfSDavid du Colombier/Times-Roman DoFont
4017dd7cddfSDavid du Colombier</b></tt></blockquote>
4027dd7cddfSDavid du Colombier
4037dd7cddfSDavid du Colombier<p>
4047dd7cddfSDavid du ColombierFor more information about how Ghostscript loads fonts during execution,
4057dd7cddfSDavid du Colombiersee <a href="Use.htm#Font_lookup">here</a>.
4067dd7cddfSDavid du Colombier
4077dd7cddfSDavid du Colombier<hr>
4087dd7cddfSDavid du Colombier
4097dd7cddfSDavid du Colombier<h2><a name="Platform_fonts"></a>Platform fonts</h2>
4107dd7cddfSDavid du Colombier
4117dd7cddfSDavid du Colombier<p>
4127dd7cddfSDavid du ColombierGhostscript displays text on screen using whatever font technology is
4137dd7cddfSDavid du Colombierprovided by the system on which it runs, by calling the system's API to
4147dd7cddfSDavid du Colombierdisplay text.  On platforms with X Windows, this is X Windows; on MS
4157dd7cddfSDavid du ColombierWindows it may be TrueType or ATM; Ghostscript neither knows nor cares.
4167dd7cddfSDavid du Colombier
4177dd7cddfSDavid du Colombier<p>
4187dd7cddfSDavid du ColombierThe PostScript language specifies that fonts are data structures with
4197dd7cddfSDavid du Colombierparticular contents (for instance, they include a bounding box for the
4207dd7cddfSDavid du Colombierfont, an Encoding vector to specify the character set, etc.), and it is
4217dd7cddfSDavid du Colombiercommon for PostScript files to use this fact; also, characters can be used
4227dd7cddfSDavid du Colombieras clipping regions, and can be arbitrarily algorithmically rotated,
4237dd7cddfSDavid du Colombierskewed, expanded or condensed, etc. Most of this information is available
4247dd7cddfSDavid du Colombierin some form from the underlying graphics system, but one crucial piece is
4257dd7cddfSDavid du Colombiernot: the actual scalable outlines of the characters, which Ghostscript
4267dd7cddfSDavid du Colombierneeds in order to implement both clipping with character shapes and
4277dd7cddfSDavid du Colombierarbitrarily transformed characters.  Consequently
4287dd7cddfSDavid du Colombier
4297dd7cddfSDavid du Colombier<blockquote>
4307dd7cddfSDavid du ColombierGhostscript needs the scalable outlines of any font mentioned in a
4317dd7cddfSDavid du Colombierdocument, and loads them from the disk (<tt><b>.pfa</b></tt>,
4327dd7cddfSDavid du Colombier<tt><b>.pfb</b></tt>, or <tt><b>.gsf</b></tt>
4337dd7cddfSDavid du Colombierfile) in the usual way, even if it uses the platform's font machinery to
4347dd7cddfSDavid du Colombierdisplay the characters. In other words, Ghostscript must still be able to
4357dd7cddfSDavid du Colombierfind its font files.
4367dd7cddfSDavid du Colombier</blockquote>
4377dd7cddfSDavid du Colombier
4387dd7cddfSDavid du Colombier<p>
4397dd7cddfSDavid du ColombierTo make matters worse, platforms use different names for their standard
4407dd7cddfSDavid du Colombierfonts.  For example, the Times Roman font, for which PostScript files use
4417dd7cddfSDavid du Colombierthe name "<b><tt>Times-Roman</tt></b>", may be known as
4427dd7cddfSDavid du Colombier"<b><tt>Times-Roman</tt></b>", "<b><tt>Times&nbsp;Roman</tt></b>",
4437dd7cddfSDavid du Colombier"<b><tt>Tms&nbsp;Rmn</tt></b>",
4447dd7cddfSDavid du Colombier"<b><tt>Times&nbsp;New&nbsp;Roman</tt></b>", or
4457dd7cddfSDavid du Colombier"<b><tt>TimesNewRoman</tt></b>".  The name may even be completely
4467dd7cddfSDavid du Colombierdifferent: the usual Helvetica-equivalent TrueType font is called
4477dd7cddfSDavid du Colombier"<b><tt>Arial</tt></b>".  It is possible to deal with this situation by
4487dd7cddfSDavid du Colombierintroducing aliases in Fontmap, but there are two reasons why Ghostscript
4497dd7cddfSDavid du Colombierdoes not currently do this:
4507dd7cddfSDavid du Colombier
4517dd7cddfSDavid du Colombier<ol>
4527dd7cddfSDavid du Colombier<li>Methods of naming in different systems are so unstandardized that there
4537dd7cddfSDavid du Colombierseems to be no small set of alternative names likely to cover most
4547dd7cddfSDavid du Colombiersituations.  All five of the names above for Times Roman have been seen
4557dd7cddfSDavid du Colombierunder Windows and OS/2, depending on the version of the system, whether it
4567dd7cddfSDavid du Colombieruses TrueType or ATM, and other unknown factors.
4577dd7cddfSDavid du Colombier
4587dd7cddfSDavid du Colombier<li>Each alias takes up space at run time.  If each of the standard fonts
4597dd7cddfSDavid du Colombierhas three additional aliases, this might amount to 50KB of wasted space,
4607dd7cddfSDavid du Colombierwhich may be a lot on some smaller systems.
4617dd7cddfSDavid du Colombier</ol>
4627dd7cddfSDavid du Colombier
4637dd7cddfSDavid du Colombier<p>
4647dd7cddfSDavid du ColombierIf you don't seem to be getting nice characters on the screen under MS
4657dd7cddfSDavid du ColombierWindows, you can try adding aliases to Fontmap, according to the
4667dd7cddfSDavid du Colombierdocumentation you'll find in there.
4677dd7cddfSDavid du Colombier
4687dd7cddfSDavid du Colombier<hr>
4697dd7cddfSDavid du Colombier
4707dd7cddfSDavid du Colombier<h2><a name="Add_fonts"></a>Adding your own fonts</h2>
4717dd7cddfSDavid du Colombier
4727dd7cddfSDavid du Colombier<p>
4737dd7cddfSDavid du ColombierGhostscript can use any Type 0, 1, 3, 4, or 42 font acceptable to
4747dd7cddfSDavid du Colombierother PostScript language interpreters or to ATM, including MultiMaster
4757dd7cddfSDavid du Colombierfonts.  Beginning with release 4.0, Ghostscript can also use TrueType fonts
4767dd7cddfSDavid du Colombierif it was compiled with the "ttfont" option.
4777dd7cddfSDavid du Colombier
4787dd7cddfSDavid du Colombier<p>
4797dd7cddfSDavid du ColombierTo add fonts of your own, you must edit Fontmap to include at the end an
4807dd7cddfSDavid du Colombierentry for your new font; the format for entries is documented
4817dd7cddfSDavid du Colombierin Fontmap itself.  Since later entries in Fontmap override earlier
4827dd7cddfSDavid du Colombierentries, a font you add at the end supersedes any corresponding fonts supplied
4837dd7cddfSDavid du Colombierwith Ghostscript and defined earlier in the file.
4847dd7cddfSDavid du Colombier
4857dd7cddfSDavid du Colombier<p>
4867dd7cddfSDavid du ColombierIn the PC world, Type 1 fonts are customarily given names ending in
4873ff48bf5SDavid du Colombier<tt><b>.PFA</b></tt> or <tt><b>.PFB</b></tt>.  Ghostscript can use these
4883ff48bf5SDavid du Colombierdirectly: you just need to make the entry in Fontmap.  If you want to use
4893ff48bf5SDavid du Colombierwith Ghostscript a commercial Type 1 font (such as fonts obtained in
4903ff48bf5SDavid du Colombierconjunction with Adobe Type Manager), please read carefully the license that
4913ff48bf5SDavid du Colombieraccompanies the font to satisfy yourself that you may do so legally; we take
4923ff48bf5SDavid du Colombierno responsibility for any possible violations of such licenses.  The same
4933ff48bf5SDavid du Colombierapplies to TrueType fonts.
4947dd7cddfSDavid du Colombier
4957dd7cddfSDavid du Colombier<h3><a name="Convert_BDF"></a>Converting BDF fonts</h3>
4967dd7cddfSDavid du Colombier
4977dd7cddfSDavid du Colombier<p>
4987dd7cddfSDavid du ColombierGhostscript provides a way to construct a (low-quality) Type 1 font from a
4997dd7cddfSDavid du Colombierbitmap font in the BDF format popular in the Unix world.  The shell script
5007dd7cddfSDavid du Colombier<tt><b>bdftops</b></tt> (Unix) or the command file
5017dd7cddfSDavid du Colombier<tt><b>bdftops.bat</b></tt> (DOS) converts a BDF file to a
5027dd7cddfSDavid du Colombierscalable outline using <tt><b>bdftops.ps</b></tt> .  Run the
5037dd7cddfSDavid du Colombiershell command
5047dd7cddfSDavid du Colombier
5057dd7cddfSDavid du Colombier<blockquote><tt><b>
5067dd7cddfSDavid du Colombierbdftops&nbsp;BDF_filename&nbsp;[AFM_file1_name&nbsp;...]&nbsp;gsf_filename&nbsp;fontname<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UniqueID&nbsp;[XUID]&nbsp;[encodingname]
5077dd7cddfSDavid du Colombier</b></tt></blockquote>
5087dd7cddfSDavid du Colombier
5097dd7cddfSDavid du Colombier<p>
5107dd7cddfSDavid du ColombierThe arguments have these meanings:
5117dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0>
5127dd7cddfSDavid du Colombier<tr valign=top>	<td><tt><b>BDF_filename</b></tt>
5137dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
5147dd7cddfSDavid du Colombier	<td>Input bitmap file in BDF format
5157dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
5167dd7cddfSDavid du Colombier	<td>&nbsp;
5177dd7cddfSDavid du Colombier<tr valign=top>	<td><tt><b>AFM_file1_name</b></tt>
5187dd7cddfSDavid du Colombier	<td>&nbsp;
5197dd7cddfSDavid du Colombier	<td>AFM files giving metrics
5207dd7cddfSDavid du Colombier	<td>&nbsp;
5217dd7cddfSDavid du Colombier	<td>(Optional)
5227dd7cddfSDavid du Colombier<tr valign=top>	<td><tt><b>gsf_filename</b></tt>
5237dd7cddfSDavid du Colombier	<td>&nbsp;
5247dd7cddfSDavid du Colombier	<td>Output file
5257dd7cddfSDavid du Colombier	<td>&nbsp;
5267dd7cddfSDavid du Colombier	<td>&nbsp;
5277dd7cddfSDavid du Colombier<tr valign=top>	<td><tt><b>fontname</b></tt>
5287dd7cddfSDavid du Colombier	<td>&nbsp;
5297dd7cddfSDavid du Colombier	<td>Name of the font
5307dd7cddfSDavid du Colombier	<td>&nbsp;
5317dd7cddfSDavid du Colombier	<td>&nbsp;
5327dd7cddfSDavid du Colombier<tr valign=top>	<td><tt><b>UniqueID</b></tt>
5337dd7cddfSDavid du Colombier	<td>&nbsp;
5347dd7cddfSDavid du Colombier	<td>UniqueID (<a href="#Unique_IDs">as described below</a>)
5357dd7cddfSDavid du Colombier	<td>&nbsp;
5367dd7cddfSDavid du Colombier	<td>&nbsp;
5377dd7cddfSDavid du Colombier<tr valign=top>	<td><tt><b>XUID</b></tt>
5387dd7cddfSDavid du Colombier	<td>&nbsp;
5397dd7cddfSDavid du Colombier	<td>XUID, in the form <tt><b>n1.n2.n3...</b></tt> (<a href="#Unique_IDs">as described below</a>)
5407dd7cddfSDavid du Colombier	<td>&nbsp;
5417dd7cddfSDavid du Colombier	<td>(Optional)
5427dd7cddfSDavid du Colombier<tr valign=top>	<td><tt><b>encodingname</b></tt>
5437dd7cddfSDavid du Colombier	<td>&nbsp;
5447dd7cddfSDavid du Colombier	<td>"StandardEncoding" (the default), "ISOLatin1Encoding",<br>"SymbolEncoding", "DingbatsEncoding"
5457dd7cddfSDavid du Colombier	<td>&nbsp;
5467dd7cddfSDavid du Colombier	<td>(Optional)
5477dd7cddfSDavid du Colombier</table></blockquote>
5487dd7cddfSDavid du Colombier
5497dd7cddfSDavid du Colombier<p>
5507dd7cddfSDavid du ColombierFor instance
5517dd7cddfSDavid du Colombier
5527dd7cddfSDavid du Colombier<blockquote><tt><b>
5537dd7cddfSDavid du Colombierbdftops&nbsp;pzdr.bdf&nbsp;ZapfDingbats.afm&nbsp;pzdr.gsf&nbsp;ZapfDingbats&nbsp;4100000&nbsp;1000000.1.41
5547dd7cddfSDavid du Colombier</b></tt></blockquote>
5557dd7cddfSDavid du Colombier
5567dd7cddfSDavid du Colombier<p>
5577dd7cddfSDavid du ColombierThen make an entry in Fontmap for the <tt><b>.gsf</b></tt>
5587dd7cddfSDavid du Colombierfile (<tt><b>pzdr.gsf</b></tt> in the example) as
5597dd7cddfSDavid du Colombier<a href="#Add_fonts">described above</a>.
5607dd7cddfSDavid du Colombier
5617dd7cddfSDavid du Colombier<hr>
5627dd7cddfSDavid du Colombier
5637dd7cddfSDavid du Colombier<h2><a name="For_developers"></a>For developers only</h2>
5647dd7cddfSDavid du Colombier
5657dd7cddfSDavid du Colombier<p>
5667dd7cddfSDavid du ColombierThe rest of this document is very unlikely to be of value to ordinary
5677dd7cddfSDavid du Colombierusers.
5687dd7cddfSDavid du Colombier
5697dd7cddfSDavid du Colombier<h3><a name="Font_contents"></a>Contents of fonts</h3>
5707dd7cddfSDavid du Colombier
5717dd7cddfSDavid du Colombier<p>
5727dd7cddfSDavid du ColombierAs noted above, Ghostscript accepts fonts in the same formats as PostScript
5737dd7cddfSDavid du Colombierinterpreters.  Type 0, 1, and 3 fonts are documented in the PostScript
5747dd7cddfSDavid du ColombierLanguage Reference Manual (Second Edition); detailed documentation for Type
5757dd7cddfSDavid du Colombier1 fonts appears in a separate Adobe book.  Type 2 (compressed format) fonts
5767dd7cddfSDavid du Colombierare documented in separate Adobe publications.  Type 4 fonts are not
5777dd7cddfSDavid du Colombierdocumented anywhere; they are essentially Type 1 fonts with a BuildChar or
5787dd7cddfSDavid du ColombierBuildGlyph procedure.  Types 9, 10, and 11 (CIDFontType 0, 1, and 2) and
5797dd7cddfSDavid du ColombierType 32 (downloaded bitmap) fonts are documented in Adobe supplements.
5807dd7cddfSDavid du ColombierType 42 (encapsulated TrueType) fonts are documented in an Adobe
5817dd7cddfSDavid du Colombiersupplement; the TrueType format is documented in publications available
5827dd7cddfSDavid du Colombierfrom Apple and Microsoft.  Ghostscript does not support Type 14 (Chameleon)
5837dd7cddfSDavid du Colombierfonts, which use a proprietary Adobe format.
5847dd7cddfSDavid du Colombier
5857dd7cddfSDavid du Colombier<h3><a name="Precompiling"></a>Precompiling fonts</h3>
5867dd7cddfSDavid du Colombier
5877dd7cddfSDavid du Colombier<p>
5887dd7cddfSDavid du ColombierYou can precompile -- convert -- any Type 1 font into C, then compile and
5897dd7cddfSDavid du Colombierbuild it into the Ghostscript executable.  (Type 1 fonts include any font
5907dd7cddfSDavid du Colombierwhose name ends with <tt><b>.pfa</b></tt> or
5917dd7cddfSDavid du Colombier<tt><b>.pfb</b></tt>, and it also includes all the
5927dd7cddfSDavid du ColombierGhostscript <tt><b>.gsf</b></tt> fonts except the Hershey
5937dd7cddfSDavid du Colombierfonts.)  This has no effect on rendering speed, but it eliminates the time
5947dd7cddfSDavid du Colombierto load the font dynamically, which may make a big improvement in total
5957dd7cddfSDavid du Colombierrendering time, especially for multi-page documents.  It also reduces the
5967dd7cddfSDavid du Colombiernumber of auxiliary files required at run time.  Fonts precompiled and
5977dd7cddfSDavid du Colombierbuilt into Ghostscript this way need not appear in Fontmap, although if
5987dd7cddfSDavid du Colombierthey do appear there, no harm is done.
5997dd7cddfSDavid du Colombier
6007dd7cddfSDavid du Colombier<p><a name="font2c"></a> The utility for precompiling fonts is named
6017dd7cddfSDavid du Colombier<tt><b>font2c</b></tt>.  Note that since
6027dd7cddfSDavid du Colombier<tt><b>font2c</b></tt> uses the PostScript language program
6037dd7cddfSDavid du Colombier<tt><b>font2c.ps</b></tt>, Ghostscript must already be
6047dd7cddfSDavid du Colombieravailable to run it, and Fontmap must contain entries for the fonts you
6057dd7cddfSDavid du Colombierwant to compile.  For example, to precompile the Times-Italic font,
6067dd7cddfSDavid du Colombier
6077dd7cddfSDavid du Colombier<blockquote><tt><b>
6087dd7cddfSDavid du Colombierfont2c Times-Italic ptmri.c
6097dd7cddfSDavid du Colombier</b></tt></blockquote>
6107dd7cddfSDavid du Colombier
6117dd7cddfSDavid du Colombier<p>
6127dd7cddfSDavid du ColombierThe first argument ("<b><tt>Times-Italic</tt></b>" above) is the font's
6137dd7cddfSDavid du Colombiername and the second ("<b><tt>ptmri.c</tt></b>") is the name of the
6147dd7cddfSDavid du Colombierresulting C file.  You can use any file name you want, as long as it ends
6157dd7cddfSDavid du Colombierin "<tt><b>.c</b></tt>".  It needn't be limited to eight characters unless
6167dd7cddfSDavid du Colombieryour operating system requires this.  If "<b><tt>XYZ.gsf</tt></b>" or
6177dd7cddfSDavid du Colombier"<b><tt>XYZ.pfa</tt></b>" is the font file's name in Fontmap,
6187dd7cddfSDavid du Colombier"<b><tt>XYZ.c</tt></b>" is a good choice for the C file.
6197dd7cddfSDavid du Colombier
6207dd7cddfSDavid du Colombier<p>
6217dd7cddfSDavid du ColombierUnder VMS, or other systems whose the C compilers limit the length of
6227dd7cddfSDavid du Colombieridentifiers, you must do something slightly more complicated; for that see
6237dd7cddfSDavid du Colombierthe section on <a href="#Short_identifiers">short identifiers in C</a>.  On
6247dd7cddfSDavid du ColombierVMS also, you must quote the font name ("{font name}") to preserve the
6257dd7cddfSDavid du Colombiername's mixed upper and lower case.  For VMS environments in general see
6267dd7cddfSDavid du Colombier<a href="Make.htm#VMS">the VMS directions</a> in the documentation on
6277dd7cddfSDavid du Colombierbuilding Ghostscript, and ignore the rest of this section.
6287dd7cddfSDavid du Colombier
6297dd7cddfSDavid du Colombier<p>
6307dd7cddfSDavid du ColombierNote that fonts are not supplied with Ghostscript in precompiled form, since
6317dd7cddfSDavid du Colombierthose files are quite large and can easily be recreated using <a
6327dd7cddfSDavid du Colombierhref="#font2c"><tt><b>font2c</b></tt></a>.  There is a makefile target to
6337dd7cddfSDavid du Colombierrun <tt><b>font2c</b></tt> on all the fonts supplied with Ghostscript.
6347dd7cddfSDavid du ColombierInvoke it with
6357dd7cddfSDavid du Colombier
6367dd7cddfSDavid du Colombier<blockquote><b><tt>
6377dd7cddfSDavid du Colombiermake fonts_standard_c
6387dd7cddfSDavid du Colombier</tt></b></blockquote>
6397dd7cddfSDavid du Colombier
6407dd7cddfSDavid du Colombier<p>Besides running <tt><b>font2c</b></tt>, you must compile the fonts and
6417dd7cddfSDavid du Colombierlink them into the executable.  To do this, add the compiled fonts feature
6427dd7cddfSDavid du Colombierto your platform-specific makefile.  See the
6437dd7cddfSDavid du Colombier<a href="Make.htm#Makefile_overview">overview of makefiles</a> in the
6447dd7cddfSDavid du Colombierdocumentation on building Ghostscript for the list of makefiles for each
6457dd7cddfSDavid du Colombierplatform.  Find the definition of the <tt><b>FEATURE_DEVS</b></tt> macro in
6467dd7cddfSDavid du Colombierthe makefile, which looks something like this:
6477dd7cddfSDavid du Colombier
6487dd7cddfSDavid du Colombier<blockquote><tt><b>
6497dd7cddfSDavid du ColombierFEATURE_DEVS=$(PSD)psl3.dev&nbsp;$(PSD)pdf.dev&nbsp;$(PSD)dpsnext.dev&nbsp;$(PSD)pipe.dev
6507dd7cddfSDavid du Colombier</b></tt></blockquote>
6517dd7cddfSDavid du Colombier
6527dd7cddfSDavid du Colombier<p>
6537dd7cddfSDavid du Colombierand add "ccfonts.dev":
6547dd7cddfSDavid du Colombier
6557dd7cddfSDavid du Colombier<blockquote><tt><b>
6567dd7cddfSDavid du ColombierFEATURE_DEVS=$(PSD)psl3.dev&nbsp;$(PSD)pdf.dev&nbsp;$(PSD)dpsnext.dev&nbsp;$(PSD)pipe.dev&nbsp;$(PSD)ccfonts.dev
6577dd7cddfSDavid du Colombier</b></tt></blockquote>
6587dd7cddfSDavid du Colombier
6597dd7cddfSDavid du Colombier<p>
6607dd7cddfSDavid du ColombierNext you must add the specific fonts to <tt><b>int.mak</b></tt>, the
6617dd7cddfSDavid du Colombierplatform-independent makefile for the interpreter.  This makefile already
6627dd7cddfSDavid du Colombierhas rules for the standard fonts supplied with Ghostscript, so if you just
6637dd7cddfSDavid du Colombierwant to compile the standard fonts, you needn't do anything else.  Now we
6647dd7cddfSDavid du Colombierdescribe how to compile other fonts into the executable, such as the Utopia
6657dd7cddfSDavid du Colombieror Kana fonts, or your own fonts.
6667dd7cddfSDavid du Colombier
6677dd7cddfSDavid du Colombier<p>
6687dd7cddfSDavid du ColombierSuppose you want to compile the Kana fonts into the executable.  First pick
6697dd7cddfSDavid du Colombierone of <b><tt>ccfonts10</tt></b> through <b><tt>ccfonts15</tt></b> as the
6707dd7cddfSDavid du Colombierplace you will do this, say <b><tt>ccfonts10</tt></b>.  Add your compiled
6717dd7cddfSDavid du Colombierfont file names, for instance
6727dd7cddfSDavid du Colombier
6737dd7cddfSDavid du Colombier<blockquote><tt><b>
6747dd7cddfSDavid du Colombierccfonts10_=$(CFOBJ)fhirw.$(OBJ)
6757dd7cddfSDavid du Colombier</b></tt></blockquote>
6767dd7cddfSDavid du Colombier
6777dd7cddfSDavid du Colombier<p>
6787dd7cddfSDavid du Colombier(Note the underscore "_".) If this makes the line too long, use another
6797dd7cddfSDavid du Colombierline of the same form, for instance,
6807dd7cddfSDavid du Colombier
6817dd7cddfSDavid du Colombier<blockquote><tt><b>
6827dd7cddfSDavid du Colombierccfonts11_=$(CFOBJ)fkarw.$(OBJ)
6837dd7cddfSDavid du Colombier</b></tt></blockquote>
6847dd7cddfSDavid du Colombier
6857dd7cddfSDavid du Colombier<p>
6867dd7cddfSDavid du ColombierJust below the <b><tt>ccfonts10_=</tt></b> line is a line
6877dd7cddfSDavid du Colombier
6887dd7cddfSDavid du Colombier<blockquote><tt><b>
6897dd7cddfSDavid du Colombierccfonts10=
6907dd7cddfSDavid du Colombier</b></tt></blockquote>
6917dd7cddfSDavid du Colombier
6927dd7cddfSDavid du Colombier<p>
6937dd7cddfSDavid du Colombier(Note no underscore.) Add your own fonts to the end of this line, replacing
6947dd7cddfSDavid du Colombierdashes ("-") with underscores ("_") in the font names.  For instance:
6957dd7cddfSDavid du Colombier
6967dd7cddfSDavid du Colombier<blockquote><tt><b>
6977dd7cddfSDavid du Colombierccfonts10=Calligraphic_Hiragana
6987dd7cddfSDavid du Colombier</b></tt></blockquote>
6997dd7cddfSDavid du Colombier
7007dd7cddfSDavid du Colombier<p>
7017dd7cddfSDavid du ColombierAgain, if a line becomes too long, add another line of the same form, for
7027dd7cddfSDavid du Colombierinstance,
7037dd7cddfSDavid du Colombier
7047dd7cddfSDavid du Colombier<blockquote><tt><b>
7057dd7cddfSDavid du Colombierccfonts10=Calligraphic_Hiragana<br>
7067dd7cddfSDavid du Colombierccfonts11=Calligraphic_Katakana
7077dd7cddfSDavid du Colombier</b></tt></blockquote>
7087dd7cddfSDavid du Colombier
7097dd7cddfSDavid du Colombier<p>
7107dd7cddfSDavid du ColombierAfter all the lines of this form, add a pair of lines to compile each font,
7117dd7cddfSDavid du Colombierseparating these entries from the "ccfonts*" lines and from each other with
7127dd7cddfSDavid du Colombiera blank line.  In our example this becomes
7137dd7cddfSDavid du Colombier
7147dd7cddfSDavid du Colombier<blockquote>
7157dd7cddfSDavid du Colombier<pre>$(CFOBJ)fhirw.$(OBJ): $(CFGEN)fhirw.c $(CCFONT)
7167dd7cddfSDavid du Colombier	$(CFCC) $(CFO_)fhirw.$(OBJ) $(C_) $(CFGEN)fhirw.c
7177dd7cddfSDavid du Colombier
7187dd7cddfSDavid du Colombier$(CFOBJ)fkarw.$(OBJ): $(CFGEN)fkarw.c $(CCFONT)
7197dd7cddfSDavid du Colombier	$(CFCC) $(CFO_)fkarw.$(OBJ) $(C_) $(CFGEN)fkarw.c
7207dd7cddfSDavid du Colombier</pre></blockquote>
7217dd7cddfSDavid du Colombier
7227dd7cddfSDavid du Colombier<p>
7237dd7cddfSDavid du ColombierFinally, run <tt><b>make</b></tt> to build an executable that includes the
7247dd7cddfSDavid du Colombierfonts you added.  They are present in <b><tt>FontDirectory</tt></b> when
7257dd7cddfSDavid du ColombierGhostscript starts up.
7267dd7cddfSDavid du Colombier
7277dd7cddfSDavid du Colombier<h3><a name="Short_identifiers"></a>Precompiling fonts on platforms with identifier length limits</h3>
7287dd7cddfSDavid du Colombier
7297dd7cddfSDavid du Colombier<p>
7307dd7cddfSDavid du ColombierOn some platforms the C compiler or linker limits the number of significant
7317dd7cddfSDavid du Colombiercharacters usable in an identifier.  On such platforms, you must do a
7327dd7cddfSDavid du Colombierlittle extra work.
7337dd7cddfSDavid du Colombier
7347dd7cddfSDavid du Colombier<p>
7357dd7cddfSDavid du ColombierLet <em><b>N</b></em> be the maximum number of significant characters in an
7367dd7cddfSDavid du Colombieridentifier (typically 31).  For each font whose name is longer than
7377dd7cddfSDavid du Colombier<em><b>N</b></em>-5 characters, pick an arbitrary identifier that we will
7387dd7cddfSDavid du Colombiercall the "short name".  This can be any string you want, as long as it
7397dd7cddfSDavid du Colombiercontains only letters, digits, and underscores; is no longer than
7407dd7cddfSDavid du Colombier<em><b>N</b></em>-5 characters; and is different from all other font names
7417dd7cddfSDavid du Colombierand short names.  A good choice for this is the name of the C file.  There
7427dd7cddfSDavid du Colombieris no harm in doing this for fonts with names shorter than
7437dd7cddfSDavid du Colombier<em><b>N</b></em>-5 characters, but it's unnecessary.
7447dd7cddfSDavid du Colombier
7457dd7cddfSDavid du Colombier<p>
7467dd7cddfSDavid du ColombierYou must do two different things for fonts that require a short name.
7477dd7cddfSDavid du Colombier
7487dd7cddfSDavid du Colombier<ol>
7497dd7cddfSDavid du Colombier<li>You must supply the short name as a third argument to
7507dd7cddfSDavid du Colombier<tt><b>font2c</b></tt>.  For example, to compile
7517dd7cddfSDavid du Colombier<b><tt>NewCenturySchlbk-BoldItalic</tt></b> using the short name
7527dd7cddfSDavid du Colombier<b><tt>pncbi</tt></b>,
7537dd7cddfSDavid du Colombier
7547dd7cddfSDavid du Colombier<blockquote><tt><b>
7557dd7cddfSDavid du Colombierfont2c&nbsp;NewCenturySchlbk-BoldItalic&nbsp;pncbi.c&nbsp;pncbi
7567dd7cddfSDavid du Colombier</b></tt></blockquote>
7577dd7cddfSDavid du Colombier
7587dd7cddfSDavid du Colombier<li>
7597dd7cddfSDavid du ColombierThen when you add the font name to the definition of one of the ccfonts*
7607dd7cddfSDavid du Colombiermacros in the makefile, use the short name, not the actual font name, for
7617dd7cddfSDavid du Colombierinstance,
7627dd7cddfSDavid du Colombier
7637dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0>
7647dd7cddfSDavid du Colombier<tr>	<td>Use
7657dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;&nbsp;&nbsp;
7667dd7cddfSDavid du Colombier	<td><tt><b>ccfonts12=pncbi</b></tt>
7677dd7cddfSDavid du Colombier<tr>	<td>Rather than
7687dd7cddfSDavid du Colombier	<td>&nbsp;
7697dd7cddfSDavid du Colombier	<td><tt><b>ccfonts12=NewCenturySchlbk_BoldItalic</b></tt>
7707dd7cddfSDavid du Colombier</table></blockquote>
7717dd7cddfSDavid du Colombier</ol>
7727dd7cddfSDavid du Colombier
7737dd7cddfSDavid du Colombier<p>
7747dd7cddfSDavid du ColombierEverything else is as described above.  This procedure doesn't change the
7757dd7cddfSDavid du Colombiername of the font in Fontmap or as seen from within Ghostscript; it just
7767dd7cddfSDavid du Colombierworks around a limitation of some older compilers.
7777dd7cddfSDavid du Colombier
7787dd7cddfSDavid du Colombier<hr>
7797dd7cddfSDavid du Colombier
7807dd7cddfSDavid du Colombier<h3><a name="Unique_IDs"></a>Font names and unique IDs</h3>
7817dd7cddfSDavid du Colombier
7827dd7cddfSDavid du Colombier<p>
7837dd7cddfSDavid du ColombierIf you create your own fonts and will use them only within your own
7847dd7cddfSDavid du Colombierorganization, you should use <tt><b>UniqueID</b></tt> values between
7857dd7cddfSDavid du Colombier4000000 and 4999999, coded like this (see the <a href="#Codes">tables of
7867dd7cddfSDavid du Colombiercodes</a> for font file names below):
7877dd7cddfSDavid du Colombier
7887dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0>
7897dd7cddfSDavid du Colombier<tr><th colspan=5 bgcolor="#CCCC00"><hr><font size="+1">Coding of UniqueID "<tt><b>4TTWVE0</b></tt>"</font><hr>
7907dd7cddfSDavid du Colombier<tr>	<td><tt><b>TT</b></tt>
7917dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
7927dd7cddfSDavid du Colombier	<td><a href="#Typeface">Typeface</a>
7937dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
7947dd7cddfSDavid du Colombier	<td>two-digit identifier
7957dd7cddfSDavid du Colombier<tr>	<td><tt><b>W</b></tt>
7967dd7cddfSDavid du Colombier	<td>&nbsp;
7977dd7cddfSDavid du Colombier	<td><a href="#Weight">Weight</a>
7987dd7cddfSDavid du Colombier	<td>&nbsp;
7997dd7cddfSDavid du Colombier	<td>normal, bold, etc.
8007dd7cddfSDavid du Colombier<tr>	<td><tt><b>V</b></tt>
8017dd7cddfSDavid du Colombier	<td>&nbsp;
8027dd7cddfSDavid du Colombier	<td><a href="#Variant">Variant</a>
8037dd7cddfSDavid du Colombier	<td>&nbsp;
8047dd7cddfSDavid du Colombier	<td>normal, italic, etc.
8057dd7cddfSDavid du Colombier<tr>	<td><tt><b>E</b></tt>
8067dd7cddfSDavid du Colombier	<td>&nbsp;
8077dd7cddfSDavid du Colombier	<td><a href="#Expansion">Expansion</a>
8087dd7cddfSDavid du Colombier	<td>&nbsp;
8097dd7cddfSDavid du Colombier	<td>normal, condensed, etc.
8107dd7cddfSDavid du Colombier</table></blockquote>
8117dd7cddfSDavid du Colombier
8127dd7cddfSDavid du Colombier<p>
8137dd7cddfSDavid du ColombierThis scheme will not work forever: as soon there are more than 99
8147dd7cddfSDavid du Colombiertypefaces, or more than 9 weights or variants, we will have to do something
8157dd7cddfSDavid du Colombierelse. But it suffices for the near future.
8167dd7cddfSDavid du Colombier
8177dd7cddfSDavid du Colombier<p>
8187dd7cddfSDavid du ColombierIf you plan to distribute fonts, ask Adobe to assign you some UniqueIDs and
8197dd7cddfSDavid du Colombieralso an <tt><b>XUID</b></tt> for your organization. Contact
8207dd7cddfSDavid du Colombier
8217dd7cddfSDavid du Colombier<blockquote><address>
8227dd7cddfSDavid du ColombierUnique ID Coordinator<br>
8237dd7cddfSDavid du ColombierAdobe Developers Association<br>
8247dd7cddfSDavid du ColombierAdobe Systems, Inc.<br>
8257dd7cddfSDavid du Colombier345 Park Avenue<br>
8267dd7cddfSDavid du ColombierSan Jose, CA  95110-2704<br>
8277dd7cddfSDavid du Colombier+1-408-536-9000 telephone (ADA)<br>
8287dd7cddfSDavid du Colombier+1-408-536-6883 fax<br>
8297dd7cddfSDavid du Colombier<a href="mailto:fontdev-person@adobe.com">fontdev-person@adobe.com</a><br>
8307dd7cddfSDavid du Colombier</address></blockquote>
8317dd7cddfSDavid du Colombier
8327dd7cddfSDavid du Colombier<p>
8337dd7cddfSDavid du ColombierThe XUID is a Level 2 PostScript feature that serves the same function as
8347dd7cddfSDavid du Colombierthe UniqueID, but is not limited to a single 24-bit integer.  The
8357dd7cddfSDavid du Colombier<tt><b>bdftops</b></tt> program creates XUIDs of the form
8363ff48bf5SDavid du Colombier"<tt><b>[-X-&nbsp;0&nbsp;-U-]</b></tt>" where "<tt><b>-X-</b></tt>" is the
8373ff48bf5SDavid du Colombierorganization XUID and "<tt><b>-U-</b></tt>" is the UniqueID.  (Aladdin
8383ff48bf5SDavid du ColombierEnterprises' organization XUID, which appears in a few places in various
8393ff48bf5SDavid du Colombierfont-related files distributed with Ghostscript, is 107; do not use this for
8403ff48bf5SDavid du Colombieryour own fonts that you distribute.)
8417dd7cddfSDavid du Colombier
8427dd7cddfSDavid du Colombier<p>
8437dd7cddfSDavid du ColombierBecause Ghostscript runs on many different systems, including DOS, the
8447dd7cddfSDavid du Colombiernames of font files can be no longer than 8 characters.  We therefore
8457dd7cddfSDavid du Colombierconstruct a font's filename <tt><b>FTTWVVVE.gsf</b></tt>
8467dd7cddfSDavid du Colombiersimilarly to the construction for temporary UniqueIDs.
8477dd7cddfSDavid du Colombier
8487dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0>
8497dd7cddfSDavid du Colombier<tr><th colspan=5 bgcolor="#CCCC00"><hr><font size="+1">Coding of font file name "<tt><b>FTTWVVVE.gsf</b></tt>"</font><hr>
8507dd7cddfSDavid du Colombier<tr>	<td><tt><b>F</b></tt>
8517dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
8527dd7cddfSDavid du Colombier	<td><a href="#Foundries">Foundry</a>
8537dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
8547dd7cddfSDavid du Colombier	<td>&nbsp;
8557dd7cddfSDavid du Colombier<tr>	<td><tt><b>TT</b></tt>
8567dd7cddfSDavid du Colombier	<td>&nbsp;
8577dd7cddfSDavid du Colombier	<td><a href="#Typeface">Typeface</a>
8587dd7cddfSDavid du Colombier	<td>&nbsp;
8597dd7cddfSDavid du Colombier	<td>two-digit identifier
8607dd7cddfSDavid du Colombier<tr>	<td><tt><b>W</b></tt>
8617dd7cddfSDavid du Colombier	<td>&nbsp;
8627dd7cddfSDavid du Colombier	<td><a href="#Weight">Weight</a>
8637dd7cddfSDavid du Colombier	<td>&nbsp;
8647dd7cddfSDavid du Colombier	<td>normal, bold, etc.
8657dd7cddfSDavid du Colombier<tr>	<td><tt><b>V</b></tt>
8667dd7cddfSDavid du Colombier	<td>&nbsp;
8677dd7cddfSDavid du Colombier	<td><a href="#Variant">Variant</a>
8687dd7cddfSDavid du Colombier	<td>&nbsp;
8697dd7cddfSDavid du Colombier	<td>normal, italic, etc.
8707dd7cddfSDavid du Colombier<tr>	<td><tt><b>E</b></tt>
8717dd7cddfSDavid du Colombier	<td>&nbsp;
8727dd7cddfSDavid du Colombier	<td><a href="#Expansion">Expansion</a>
8737dd7cddfSDavid du Colombier	<td>&nbsp;
8747dd7cddfSDavid du Colombier	<td>normal, condensed, etc.
8757dd7cddfSDavid du Colombier</table></blockquote>
8767dd7cddfSDavid du Colombier
8777dd7cddfSDavid du Colombier<p>
8787dd7cddfSDavid du ColombierSince a font can have multiple variants (for example, Lucida Regular Sans
8797dd7cddfSDavid du ColombierTypewriter Italic) we allocate three letters to that; if a font has four
8807dd7cddfSDavid du Colombiervariants, you're on your own.  If a font does have multiple variants, it's
8817dd7cddfSDavid du Colombierbest to add the expansion letter "<b><tt>r</tt></b>" to make clear which
8827dd7cddfSDavid du Colombierletters are variants and which the expansion.  This scheme is very close to
8837dd7cddfSDavid du Colombierthe one proposed in "Filenames for fonts", published in the first 1990
8847dd7cddfSDavid du Colombierissue of <em>TUGboat</em> (the journal of the TeX Users Group).
8857dd7cddfSDavid du Colombier
8867dd7cddfSDavid du Colombier<h3><a name="Codes"></a>Codes used to make font file names</h3>
8877dd7cddfSDavid du Colombier
8887dd7cddfSDavid du Colombier<p>
8897dd7cddfSDavid du ColombierIn the following tables we make no attempt to be exhaustive: instead we
8907dd7cddfSDavid du Colombierhave simply allocated entries for those things that we needed for the fonts
8917dd7cddfSDavid du Colombierthat we are actually distributing.
8927dd7cddfSDavid du Colombier
8937dd7cddfSDavid du Colombier<p>
8947dd7cddfSDavid du Colombier<a name="Foundries"></a>
8957dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0>
8967dd7cddfSDavid du Colombier<tr><th colspan=3 bgcolor="#CCCC00"><hr><font size="+1">Font foundry codes</font><hr>
8977dd7cddfSDavid du Colombier<tr>	<th>ID
8987dd7cddfSDavid du Colombier	<th>&nbsp;&nbsp;
8997dd7cddfSDavid du Colombier	<th align=left>Foundry
9007dd7cddfSDavid du Colombier<tr>	<td colspan=3><hr>
9017dd7cddfSDavid du Colombier<tr>	<td><tt><b>b</b></tt>
9027dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
9037dd7cddfSDavid du Colombier	<td>Bitstream
9047dd7cddfSDavid du Colombier<tr>	<td><tt><b>f</b></tt>
9057dd7cddfSDavid du Colombier	<td>&nbsp;
9067dd7cddfSDavid du Colombier	<td>Freely distributable and public-domain
9077dd7cddfSDavid du Colombier<tr>	<td><tt><b>hr</b></tt>
9087dd7cddfSDavid du Colombier	<td>&nbsp;
9097dd7cddfSDavid du Colombier	<td>Hershey
9107dd7cddfSDavid du Colombier<tr>	<td><tt><b>n</b></tt>
9117dd7cddfSDavid du Colombier	<td>&nbsp;
9127dd7cddfSDavid du Colombier	<td>IBM
9137dd7cddfSDavid du Colombier<tr>	<td><tt><b>p</b></tt>
9147dd7cddfSDavid du Colombier	<td>&nbsp;
9157dd7cddfSDavid du Colombier	<td>Adobe ("p" for PostScript)
9167dd7cddfSDavid du Colombier<tr>	<td><tt><b>u</b></tt>
9177dd7cddfSDavid du Colombier	<td>&nbsp;
9187dd7cddfSDavid du Colombier	<td>URW[++]
9197dd7cddfSDavid du Colombier</table></blockquote>
9207dd7cddfSDavid du Colombier
9217dd7cddfSDavid du Colombier<p>
9227dd7cddfSDavid du Colombier<a name="Typeface"></a>
9237dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0>
9247dd7cddfSDavid du Colombier<tr><th colspan=7 bgcolor="#CCCC00"><hr><font size="+1">Typeface codes</font><hr>
9257dd7cddfSDavid du Colombier<tr valign=bottom>	<th>ID
9267dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
9277dd7cddfSDavid du Colombier	<th align=left>Name
9287dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
9297dd7cddfSDavid du Colombier	<th align=left>Filename<br>prefix
9307dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
9317dd7cddfSDavid du Colombier	<th align=left>Source
9327dd7cddfSDavid du Colombier<tr>	<td colspan=7><hr>
9337dd7cddfSDavid du Colombier<tr>	<td><tt><b>08</b></tt>
9347dd7cddfSDavid du Colombier	<td>&nbsp;
9357dd7cddfSDavid du Colombier	<td>Avant Garde
9367dd7cddfSDavid du Colombier	<td>&nbsp;
9377dd7cddfSDavid du Colombier	<td><tt><b>pag</b></tt>
9387dd7cddfSDavid du Colombier	<td>&nbsp;
9397dd7cddfSDavid du Colombier	<td>Adobe
9407dd7cddfSDavid du Colombier<tr>	<td><tt><b>11</b></tt>
9417dd7cddfSDavid du Colombier	<td>&nbsp;
9427dd7cddfSDavid du Colombier	<td>Bookman
9437dd7cddfSDavid du Colombier	<td>&nbsp;
9447dd7cddfSDavid du Colombier	<td><tt><b>pbk</b></tt>
9457dd7cddfSDavid du Colombier	<td>&nbsp;
9467dd7cddfSDavid du Colombier	<td>Adobe
9477dd7cddfSDavid du Colombier<tr>	<td><tt><b>01</b></tt>
9487dd7cddfSDavid du Colombier	<td>&nbsp;
9497dd7cddfSDavid du Colombier	<td>CharterBT
9507dd7cddfSDavid du Colombier	<td>&nbsp;
9517dd7cddfSDavid du Colombier	<td><tt><b>bch</b></tt>
9527dd7cddfSDavid du Colombier	<td>&nbsp;
9537dd7cddfSDavid du Colombier	<td>Bitstream
9547dd7cddfSDavid du Colombier<tr>	<td><tt><b>02</b></tt>
9557dd7cddfSDavid du Colombier	<td>&nbsp;
9567dd7cddfSDavid du Colombier	<td>Courier
9577dd7cddfSDavid du Colombier	<td>&nbsp;
9587dd7cddfSDavid du Colombier	<td><tt><b>ncr</b></tt>
9597dd7cddfSDavid du Colombier	<td>&nbsp;
9607dd7cddfSDavid du Colombier	<td>IBM
9617dd7cddfSDavid du Colombier<tr>	<td><tt><b>03</b></tt>
9627dd7cddfSDavid du Colombier	<td>&nbsp;
9637dd7cddfSDavid du Colombier	<td>Helvetica
9647dd7cddfSDavid du Colombier	<td>&nbsp;
9657dd7cddfSDavid du Colombier	<td><tt><b>phv</b></tt>
9667dd7cddfSDavid du Colombier	<td>&nbsp;
9677dd7cddfSDavid du Colombier	<td>Adobe
9687dd7cddfSDavid du Colombier<tr>	<td><tt><b>04</b></tt>
9697dd7cddfSDavid du Colombier	<td>&nbsp;
9707dd7cddfSDavid du Colombier	<td>New Century Schoolbook
9717dd7cddfSDavid du Colombier	<td>&nbsp;
9727dd7cddfSDavid du Colombier	<td><tt><b>pnc</b></tt>
9737dd7cddfSDavid du Colombier	<td>&nbsp;
9747dd7cddfSDavid du Colombier	<td>Adobe
9757dd7cddfSDavid du Colombier<tr>	<td><tt><b>09</b></tt>
9767dd7cddfSDavid du Colombier	<td>&nbsp;
9777dd7cddfSDavid du Colombier	<td>Palatino
9787dd7cddfSDavid du Colombier	<td>&nbsp;
9797dd7cddfSDavid du Colombier	<td><tt><b>ppl</b></tt>
9807dd7cddfSDavid du Colombier	<td>&nbsp;
9817dd7cddfSDavid du Colombier	<td>Adobe
9827dd7cddfSDavid du Colombier<tr>	<td><tt><b>05</b></tt>
9837dd7cddfSDavid du Colombier	<td>&nbsp;
9847dd7cddfSDavid du Colombier	<td>Symbol
9857dd7cddfSDavid du Colombier	<td>&nbsp;
9867dd7cddfSDavid du Colombier	<td><tt><b>psy</b></tt>
9877dd7cddfSDavid du Colombier	<td>&nbsp;
9887dd7cddfSDavid du Colombier	<td>Adobe
9897dd7cddfSDavid du Colombier<tr>	<td><tt><b>06</b></tt>
9907dd7cddfSDavid du Colombier	<td>&nbsp;
9917dd7cddfSDavid du Colombier	<td>Times
9927dd7cddfSDavid du Colombier	<td>&nbsp;
9937dd7cddfSDavid du Colombier	<td><tt><b>ptm</b></tt>
9947dd7cddfSDavid du Colombier	<td>&nbsp;
9957dd7cddfSDavid du Colombier	<td>Adobe
9967dd7cddfSDavid du Colombier<tr>	<td>--
9977dd7cddfSDavid du Colombier	<td>&nbsp;
9987dd7cddfSDavid du Colombier	<td>Utopia
9997dd7cddfSDavid du Colombier	<td>&nbsp;
10007dd7cddfSDavid du Colombier	<td><tt><b>put</b></tt>
10017dd7cddfSDavid du Colombier	<td>&nbsp;
10027dd7cddfSDavid du Colombier	<td>Adobe
10037dd7cddfSDavid du Colombier<tr>	<td><tt><b>07</b></tt>
10047dd7cddfSDavid du Colombier	<td>&nbsp;
10057dd7cddfSDavid du Colombier	<td>Zapf Chancery
10067dd7cddfSDavid du Colombier	<td>&nbsp;
10077dd7cddfSDavid du Colombier	<td><tt><b>zc</b></tt>
10087dd7cddfSDavid du Colombier	<td>&nbsp;
10097dd7cddfSDavid du Colombier	<td>public domain
10107dd7cddfSDavid du Colombier<tr>	<td><tt><b>10</b></tt>
10117dd7cddfSDavid du Colombier	<td>&nbsp;
10127dd7cddfSDavid du Colombier	<td>Zapf Dingbats
10137dd7cddfSDavid du Colombier	<td>&nbsp;
10147dd7cddfSDavid du Colombier	<td><tt><b>pzd</b></tt>
10157dd7cddfSDavid du Colombier	<td>&nbsp;
10167dd7cddfSDavid du Colombier	<td>Adobe
10177dd7cddfSDavid du Colombier<tr>	<td><tt><b>12</b></tt>
10187dd7cddfSDavid du Colombier	<td>&nbsp;
10197dd7cddfSDavid du Colombier	<td>public domain Cyrillic
10207dd7cddfSDavid du Colombier	<td>&nbsp;
10217dd7cddfSDavid du Colombier	<td><tt><b>fcy</b></tt>
10227dd7cddfSDavid du Colombier	<td>&nbsp;
10237dd7cddfSDavid du Colombier	<td>public domain
10247dd7cddfSDavid du Colombier<tr>	<td><tt><b>13</b></tt>
10257dd7cddfSDavid du Colombier	<td>&nbsp;
10267dd7cddfSDavid du Colombier	<td>Kevin Hartig Hiragana
10277dd7cddfSDavid du Colombier	<td>&nbsp;
10287dd7cddfSDavid du Colombier	<td><tt><b>fhi</b></tt>
10297dd7cddfSDavid du Colombier	<td>&nbsp;
10307dd7cddfSDavid du Colombier	<td>shareware
10317dd7cddfSDavid du Colombier<tr>	<td><tt><b>14</b></tt>
10327dd7cddfSDavid du Colombier	<td>&nbsp;
10337dd7cddfSDavid du Colombier	<td>Kevin Hartig Katakana
10347dd7cddfSDavid du Colombier	<td>&nbsp;
10357dd7cddfSDavid du Colombier	<td><tt><b>fka</b></tt>
10367dd7cddfSDavid du Colombier	<td>&nbsp;
10377dd7cddfSDavid du Colombier	<td>shareware
10387dd7cddfSDavid du Colombier<tr>	<td><tt><b>90</b></tt>
10397dd7cddfSDavid du Colombier	<td>&nbsp;
10407dd7cddfSDavid du Colombier	<td>Hershey Gothic English
10417dd7cddfSDavid du Colombier	<td>&nbsp;
10427dd7cddfSDavid du Colombier	<td><tt><b>hrge</b></tt>
10437dd7cddfSDavid du Colombier	<td>&nbsp;
10447dd7cddfSDavid du Colombier	<td>freeware
10457dd7cddfSDavid du Colombier<tr>	<td><tt><b>91</b></tt>
10467dd7cddfSDavid du Colombier	<td>&nbsp;
10477dd7cddfSDavid du Colombier	<td>Hershey Gothic Italian
10487dd7cddfSDavid du Colombier	<td>&nbsp;
10497dd7cddfSDavid du Colombier	<td><tt><b>hrit</b></tt>
10507dd7cddfSDavid du Colombier	<td>&nbsp;
10517dd7cddfSDavid du Colombier	<td>freeware
10527dd7cddfSDavid du Colombier<tr>	<td><tt><b>92</b></tt>
10537dd7cddfSDavid du Colombier	<td>&nbsp;
10547dd7cddfSDavid du Colombier	<td>Hershey Gothic German
10557dd7cddfSDavid du Colombier	<td>&nbsp;
10567dd7cddfSDavid du Colombier	<td><tt><b>hrgr</b></tt>
10577dd7cddfSDavid du Colombier	<td>&nbsp;
10587dd7cddfSDavid du Colombier	<td>freeware
10597dd7cddfSDavid du Colombier<tr>	<td><tt><b>93</b></tt>
10607dd7cddfSDavid du Colombier	<td>&nbsp;
10617dd7cddfSDavid du Colombier	<td>Hershey Greek
10627dd7cddfSDavid du Colombier	<td>&nbsp;
10637dd7cddfSDavid du Colombier	<td><tt><b>hrgk</b></tt>
10647dd7cddfSDavid du Colombier	<td>&nbsp;
10657dd7cddfSDavid du Colombier	<td>freeware
10667dd7cddfSDavid du Colombier<tr>	<td><tt><b>94</b></tt>
10677dd7cddfSDavid du Colombier	<td>&nbsp;
10687dd7cddfSDavid du Colombier	<td>Hershey Plain
10697dd7cddfSDavid du Colombier	<td>&nbsp;
10707dd7cddfSDavid du Colombier	<td><tt><b>hrpl</b></tt>
10717dd7cddfSDavid du Colombier	<td>&nbsp;
10727dd7cddfSDavid du Colombier	<td>freeware
10737dd7cddfSDavid du Colombier<tr>	<td><tt><b>95</b></tt>
10747dd7cddfSDavid du Colombier	<td>&nbsp;
10757dd7cddfSDavid du Colombier	<td>Hershey Script
10767dd7cddfSDavid du Colombier	<td>&nbsp;
10777dd7cddfSDavid du Colombier	<td><tt><b>hrsc</b></tt>
10787dd7cddfSDavid du Colombier	<td>&nbsp;
10797dd7cddfSDavid du Colombier	<td>freeware
10807dd7cddfSDavid du Colombier<tr>	<td><tt><b>96</b></tt>
10817dd7cddfSDavid du Colombier	<td>&nbsp;
10827dd7cddfSDavid du Colombier	<td>Hershey Symbol
10837dd7cddfSDavid du Colombier	<td>&nbsp;
10847dd7cddfSDavid du Colombier	<td><tt><b>hrsy</b></tt>
10857dd7cddfSDavid du Colombier	<td>&nbsp;
10867dd7cddfSDavid du Colombier	<td>freeware
10877dd7cddfSDavid du Colombier</table></blockquote>
10887dd7cddfSDavid du Colombier
10897dd7cddfSDavid du Colombier<p>
10907dd7cddfSDavid du Colombier<a name="Weight"></a>
10917dd7cddfSDavid du Colombier<blockquote><table cellpadding=0 cellspacing=0>
10927dd7cddfSDavid du Colombier<tr><th colspan=5 bgcolor="#CCCC00"><hr><font size="+1">Font weight codes</font><hr>
10937dd7cddfSDavid du Colombier<tr>	<th>ID
10947dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
10957dd7cddfSDavid du Colombier	<th align=left>Type
10967dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
10977dd7cddfSDavid du Colombier	<th align=left>Filename
10987dd7cddfSDavid du Colombier<tr>	<td colspan=5><hr>
10997dd7cddfSDavid du Colombier<tr>	<td><tt><b>0</b></tt>
11007dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
11017dd7cddfSDavid du Colombier	<td>normal
11027dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
11037dd7cddfSDavid du Colombier	<td><tt><b>r</b></tt>
11047dd7cddfSDavid du Colombier<tr>	<td><tt><b>1</b></tt>
11057dd7cddfSDavid du Colombier	<td>&nbsp;
11067dd7cddfSDavid du Colombier	<td>bold
11077dd7cddfSDavid du Colombier	<td>&nbsp;
11087dd7cddfSDavid du Colombier	<td><tt><b>b</b></tt>
11097dd7cddfSDavid du Colombier<tr>	<td><tt><b>2</b></tt>
11107dd7cddfSDavid du Colombier	<td>&nbsp;
11117dd7cddfSDavid du Colombier	<td>book
11127dd7cddfSDavid du Colombier	<td>&nbsp;
11137dd7cddfSDavid du Colombier	<td><tt><b>k</b></tt>
11147dd7cddfSDavid du Colombier<tr>	<td><tt><b>3</b></tt>
11157dd7cddfSDavid du Colombier	<td>&nbsp;
11167dd7cddfSDavid du Colombier	<td>demi
11177dd7cddfSDavid du Colombier	<td>&nbsp;
11187dd7cddfSDavid du Colombier	<td><tt><b>d</b></tt>
11197dd7cddfSDavid du Colombier<tr>	<td><tt><b>4</b></tt>
11207dd7cddfSDavid du Colombier	<td>&nbsp;
11217dd7cddfSDavid du Colombier	<td>light
11227dd7cddfSDavid du Colombier	<td>&nbsp;
11237dd7cddfSDavid du Colombier	<td><tt><b>l</b></tt>
11247dd7cddfSDavid du Colombier<tr>	<td>&nbsp;
11257dd7cddfSDavid du Colombier<tr><th colspan=5 bgcolor="#CCCC00"><hr><font size="+1"><a name="Variant"></a>Font variants</font><hr>
11267dd7cddfSDavid du Colombier<tr>	<th>ID
11277dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
11287dd7cddfSDavid du Colombier	<th align=left>Type
11297dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
11307dd7cddfSDavid du Colombier	<th align=left>Filename
11317dd7cddfSDavid du Colombier<tr>	<td colspan=5><hr>
11327dd7cddfSDavid du Colombier<tr>	<td><tt><b>0</b></tt>
11337dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
11347dd7cddfSDavid du Colombier	<td>normal
11357dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
11367dd7cddfSDavid du Colombier	<td><tt><b>r</b></tt> (omitted when weight is normal)
11377dd7cddfSDavid du Colombier<tr>	<td><tt><b>1</b></tt>
11387dd7cddfSDavid du Colombier	<td>&nbsp;
11397dd7cddfSDavid du Colombier	<td>italic
11407dd7cddfSDavid du Colombier	<td>&nbsp;
11417dd7cddfSDavid du Colombier	<td><tt><b>i</b></tt>
11427dd7cddfSDavid du Colombier<tr>	<td><tt><b>2</b></tt>
11437dd7cddfSDavid du Colombier	<td>&nbsp;
11447dd7cddfSDavid du Colombier	<td>oblique
11457dd7cddfSDavid du Colombier	<td>&nbsp;
11467dd7cddfSDavid du Colombier	<td><tt><b>o</b></tt>
11477dd7cddfSDavid du Colombier<tr valign=top>	<td><tt><b>3</b></tt>
11487dd7cddfSDavid du Colombier	<td>&nbsp;
11497dd7cddfSDavid du Colombier	<td>script, handwritten, swash
11507dd7cddfSDavid du Colombier	<td>&nbsp;
11517dd7cddfSDavid du Colombier	<td><tt><b>w</b></tt>
11527dd7cddfSDavid du Colombier<tr>	<td>&nbsp;
11537dd7cddfSDavid du Colombier<tr><th colspan=5 bgcolor="#CCCC00"><hr><font size="+1"><a name="Expansion"></a>Expansion</font><hr>
11547dd7cddfSDavid du Colombier<tr>	<th>ID
11557dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
11567dd7cddfSDavid du Colombier	<th align=left>Type
11577dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
11587dd7cddfSDavid du Colombier	<th align=left>Filename
11597dd7cddfSDavid du Colombier<tr>	<td colspan=5><hr>
11607dd7cddfSDavid du Colombier<tr>	<td><tt><b>0</b></tt>
11617dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
11627dd7cddfSDavid du Colombier	<td>normal
11637dd7cddfSDavid du Colombier	<td>&nbsp;&nbsp;
11647dd7cddfSDavid du Colombier	<td><tt><b>r</b></tt> (omitted when weight and variant are normal)
11657dd7cddfSDavid du Colombier<tr>	<td><tt><b>1</b></tt>
11667dd7cddfSDavid du Colombier	<td>&nbsp;
11677dd7cddfSDavid du Colombier	<td>narrow
11687dd7cddfSDavid du Colombier	<td>&nbsp;
11697dd7cddfSDavid du Colombier	<td><tt><b>n</b></tt>
11707dd7cddfSDavid du Colombier</table></blockquote>
11717dd7cddfSDavid du Colombier
11727dd7cddfSDavid du Colombier<hr>
11737dd7cddfSDavid du Colombier
11747dd7cddfSDavid du Colombier<h2><a name="Use_gs_fonts_with_X"></a>Using Ghostscript fonts on X Windows displays</h2>
11757dd7cddfSDavid du Colombier
11767dd7cddfSDavid du Colombier<p>
11777dd7cddfSDavid du ColombierThe standard X11 distribution can display various kinds of fonts, including
11787dd7cddfSDavid du Colombierthe Adobe Type 1 format, so font files distributed with Ghostscript can be
11797dd7cddfSDavid du Colombierused on X Windows displays.  Beginning with Ghostscript version 6.0, the
11807dd7cddfSDavid du Colombierfont archive contains the directory files needed to map Ghostscript's font
11817dd7cddfSDavid du Colombierfiles to XLFDs.  Those files are named "<b><tt>fonts.dir</tt></b>" and
11827dd7cddfSDavid du Colombier"<b><tt>fonts.scale</tt></b>".  There are two main methods to configure
11837dd7cddfSDavid du Colombieryour display to use these files.
11847dd7cddfSDavid du Colombier
11857dd7cddfSDavid du Colombier<ul>
11867dd7cddfSDavid du Colombier<li><a href="#Using_xset">With <b><tt>xset</tt></b></a> any user can add a
11877dd7cddfSDavid du Colombiernew directory to the font search path for the duration of a session.
11887dd7cddfSDavid du Colombier<li>An administrator with root access can <a
11897dd7cddfSDavid du Colombierhref="#Font_permanent_installation">add the Ghostscript font directory
11907dd7cddfSDavid du Colombierpermanently</a> to the <a href="#X_font_catalog">X font server's
11917dd7cddfSDavid du Colombiercatalog</a> or to an <a href="#Xfree86_fontpath">X display server's list of
11927dd7cddfSDavid du Colombierdirectories</a>.
11937dd7cddfSDavid du Colombier</ul>
11947dd7cddfSDavid du Colombier
11957dd7cddfSDavid du Colombier<h3><a name="Using_xset"></a>Using <b><tt>xset</tt></b></h3>
11967dd7cddfSDavid du Colombier
11977dd7cddfSDavid du Colombier<p>
11987dd7cddfSDavid du ColombierUsers without root access can add the Ghostscript font directories to the
11997dd7cddfSDavid du Colombierfont search path using <b><tt>xset</tt></b>. Such a setting is transient
12007dd7cddfSDavid du Colombierand must be repeated each time the display server is reset or restarted,
12017dd7cddfSDavid du Colombiertypically at login, so the call to <b><tt>xset</tt></b> should be added to
12027dd7cddfSDavid du Colombierthe user's "<b><tt>.xsession</tt></b>" or "<b><tt>.xinitrc</tt></b>"
12037dd7cddfSDavid du Colombierstartup script to make the fonts available at each login.
12047dd7cddfSDavid du Colombier
12057dd7cddfSDavid du Colombier<p>
12067dd7cddfSDavid du ColombierTo add a new font directory, invoke <b><tt>xset</tt></b> like this:
12077dd7cddfSDavid du Colombier
12087dd7cddfSDavid du Colombier<blockquote>
12097dd7cddfSDavid du Colombier<b><tt>xset fp+</tt> <em>{directory}</em></b>
12107dd7cddfSDavid du Colombier</blockquote>
12117dd7cddfSDavid du Colombier
12127dd7cddfSDavid du Colombier<p>
12137dd7cddfSDavid du Colombierwhere <b><em>{directory}</em></b> is the full pathname to the directory
12147dd7cddfSDavid du Colombiercontaining the fonts on the host running the X display server.  For common
12157dd7cddfSDavid du ColombierGhostscript installations the path is
12167dd7cddfSDavid du Colombier
12177dd7cddfSDavid du Colombier<blockquote>
12187dd7cddfSDavid du Colombier<b><tt>/usr/local/Ghostscript/share/fonts</tt></b>
12197dd7cddfSDavid du Colombier</blockquote>
12207dd7cddfSDavid du Colombier
12217dd7cddfSDavid du Colombier<h3><a name="Font_permanent_installation"></a>Permanent installation</h3>
12227dd7cddfSDavid du Colombier
12237dd7cddfSDavid du Colombier<p> A system administrator, or anyone with the necessary root privilege,
12247dd7cddfSDavid du Colombiercan make Ghostscript's fonts permanently available to the managed X display
12257dd7cddfSDavid du Colombierservers.  This setup depends on the servers and the methods used
12267dd7cddfSDavid du Colombierto make the fonts available.
12277dd7cddfSDavid du Colombier
12287dd7cddfSDavid du Colombier<h4><a name="Configure_xfs"></a>Configuring the <b><tt>xfs</tt></b> font server</h4>
12297dd7cddfSDavid du Colombier
12307dd7cddfSDavid du Colombier<p>
12317dd7cddfSDavid du ColombierAn X display server can obtain its font resources from a dedicated X font
12327dd7cddfSDavid du Colombierserver.  <b><tt>xfs</tt></b> is a prototype font server included in the X
12337dd7cddfSDavid du ColombierConsortium X11 distribution.  It is configured with a file located in a
12347dd7cddfSDavid du Colombierdirectory whose exact location is installation-dependent and could be any
12357dd7cddfSDavid du Colombierof
12367dd7cddfSDavid du Colombier
12377dd7cddfSDavid du Colombier<blockquote><b><tt>
12387dd7cddfSDavid du Colombier/usr/lib/X11/fs/config
12397dd7cddfSDavid du Colombier<br>/usr/X11/lib/X11/fs/config
12407dd7cddfSDavid du Colombier<br>/usr/X11R6/lib/X11/fs/config
12417dd7cddfSDavid du Colombier</tt></b></blockquote>
12427dd7cddfSDavid du Colombier
12437dd7cddfSDavid du Colombier<p>
12447dd7cddfSDavid du Colombieror some similar name. You can also use <b><tt>xfs</tt></b>'s
12457dd7cddfSDavid du Colombier"<b><tt>-config</tt></b>" command-line option to specify the location of
12467dd7cddfSDavid du Colombierthe configuration file.
12477dd7cddfSDavid du Colombier
12487dd7cddfSDavid du Colombier<p><a name="X_font_catalog"></a>
12497dd7cddfSDavid du ColombierThe configuration file designates a list ("catalog") of directories, each
12507dd7cddfSDavid du Colombierof which contains fonts and a font mapping database (the file
12517dd7cddfSDavid du Colombier"<b><tt>fonts.dir</tt></b>").  This list is specified with the
12527dd7cddfSDavid du Colombier"<b><tt>catalogue=</tt></b>" keyword followed by a list of absolute
12537dd7cddfSDavid du Colombierdirectory paths separated by commas.  To add the Ghostscript directory,
12547dd7cddfSDavid du Colombierinclude its full name in the catalog list, for example:
12557dd7cddfSDavid du Colombier
12567dd7cddfSDavid du Colombier<blockquote><b><tt>
12577dd7cddfSDavid du Colombiercatalogue&nbsp;=&nbsp;/usr/local/share/Ghostscript/fonts/,
12587dd7cddfSDavid du Colombier<br>/usr/X11R6/lib/X11/fonts/misc/,
12597dd7cddfSDavid du Colombier<br>/usr/X11R6/lib/X11/fonts/Speedo/,
12607dd7cddfSDavid du Colombier<br>/usr/X11R6/lib/X11/fonts/Type1/,
12617dd7cddfSDavid du Colombier<br>/usr/X11R6/lib/X11/fonts/75dpi/,
12627dd7cddfSDavid du Colombier<br>/usr/X11R6/lib/X11/fonts/100dpi/
12637dd7cddfSDavid du Colombier</tt></b></blockquote>
12647dd7cddfSDavid du Colombier
12657dd7cddfSDavid du Colombier<p>
12667dd7cddfSDavid du ColombierThe fonts are searched in the order the directories are specified, so an
12677dd7cddfSDavid du ColombierXLFD mapped by the Ghostscript directory could shadow a previous similar
12687dd7cddfSDavid du Colombierdescription specified in the following directories.  Once the file is
12697dd7cddfSDavid du Colombiermodified, instruct the font server to reload the configuration file by
12707dd7cddfSDavid du Colombiersending it the USR1 signal:
12717dd7cddfSDavid du Colombier
12727dd7cddfSDavid du Colombier<blockquote>
12737dd7cddfSDavid du Colombier<b><tt>kill -HUP</tt> <em>{pid}</em></b>
12747dd7cddfSDavid du Colombier</blockquote>
12757dd7cddfSDavid du Colombier
12767dd7cddfSDavid du Colombier<p>
12777dd7cddfSDavid du Colombierwhere <b><em>{pid}</em></b> is the font server process's numeric process
12787dd7cddfSDavid du ColombierID, as obtained with the "<b><tt>ps</tt></b>" command. Be sure to check
12797dd7cddfSDavid du Colombierthat the server is still alive after signaling it: it is very picky and
12807dd7cddfSDavid du Colombiercould decide to shut itself down if something is wrong in the new
12817dd7cddfSDavid du Colombierconfiguration. If this happens, restart the server by hand and try to
12827dd7cddfSDavid du Colombierfigure out from its output what's happening. If the font server dies,
12837dd7cddfSDavid du Colombierdisplay servers using it will experience problems, so be sure to send the
12847dd7cddfSDavid du Colombiersignal from the console or from a display not using that font server!
12857dd7cddfSDavid du Colombier
12867dd7cddfSDavid du Colombier<h4><a name="Configure_Xfree86"></a>Xfree86 display servers</h4>
12877dd7cddfSDavid du Colombier
12887dd7cddfSDavid du Colombier<p><a name="Xfree86_fontpath"></a>
12897dd7cddfSDavid du ColombierWith the family of Xfree86 display servers, adding a new font directory
12907dd7cddfSDavid du Colombierpermanently requires editing the "<b><tt>/etc/XF86Config</tt></b>" setup
12917dd7cddfSDavid du Colombierfile to add a new "<b><tt>FontPath</tt></b>" to the "<b><tt>Files</tt></b>"
12927dd7cddfSDavid du Colombiersection:
12937dd7cddfSDavid du Colombier
12947dd7cddfSDavid du Colombier<blockquote>
12957dd7cddfSDavid du Colombier<b><tt>Section "Files"
12967dd7cddfSDavid du Colombier<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RgbPath&nbsp;&nbsp;&nbsp;&nbsp;"/usr/X11R6/lib/X11/rgb"
12977dd7cddfSDavid du Colombier<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FontPath&nbsp;&nbsp;&nbsp;"/usr/local/share/Ghostscript/fonts"
12987dd7cddfSDavid du Colombier<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FontPath&nbsp;&nbsp;&nbsp;"/usr/X11R6/lib/X11/fonts/misc:unscaled"
12997dd7cddfSDavid du Colombier<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FontPath&nbsp;&nbsp;&nbsp;"/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
13007dd7cddfSDavid du Colombier<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FontPath&nbsp;&nbsp;&nbsp;"/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
13017dd7cddfSDavid du Colombier<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FontPath&nbsp;&nbsp;&nbsp;"/usr/X11R6/lib/X11/fonts/Type1"
13027dd7cddfSDavid du Colombier<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FontPath&nbsp;&nbsp;&nbsp;"/usr/X11R6/lib/X11/fonts/Speedo"
13037dd7cddfSDavid du Colombier<br>EndSection</tt></b>
13047dd7cddfSDavid du Colombier</blockquote>
13057dd7cddfSDavid du Colombier
13067dd7cddfSDavid du Colombier<p>
13077dd7cddfSDavid du ColombierThe fonts are searched in the order the directories are specified, so an
13087dd7cddfSDavid du ColombierXLFD mapped by the Ghostscript directory could shadow a previous similar
13097dd7cddfSDavid du Colombierdescription specified in the following directories.  Once this global
13107dd7cddfSDavid du Colombierconfiguration is edited, the new fonts become available to all Xfree86
13117dd7cddfSDavid du Colombierservers in use on that host. If a server is running, it must be restarted
13127dd7cddfSDavid du Colombierto take effect: just quit the current session in the usual way.  If the
13137dd7cddfSDavid du Colombierserver is under the control of <b><tt>xdm</tt></b>, you may have to kill
13147dd7cddfSDavid du Colombierit, because it is usually reset only between successive sessions.
13157dd7cddfSDavid du Colombier
13167dd7cddfSDavid du Colombier<p>
13177dd7cddfSDavid du ColombierThis section by Bertrand Petit
13187dd7cddfSDavid du Colombier&lt;<a href="mailto:eegs@phoe.frmug.org">eegs@phoe.frmug.org</a>&gt;
13197dd7cddfSDavid du Colombier
13207dd7cddfSDavid du Colombier<!-- [2.0 end contents] ==================================================== -->
13217dd7cddfSDavid du Colombier
13227dd7cddfSDavid du Colombier<!-- [3.0 begin visible trailer] =========================================== -->
13237dd7cddfSDavid du Colombier<hr>
13247dd7cddfSDavid du Colombier
13253ff48bf5SDavid du Colombier<p>
13263ff48bf5SDavid du Colombier<small>Copyright &copy; 1996, 1997, 1998, 1999, 2000 Aladdin
13273ff48bf5SDavid du ColombierEnterprises. All rights reserved.</small>
13287dd7cddfSDavid du Colombier
13297dd7cddfSDavid du Colombier<p>
1330*593dc095SDavid du ColombierThis software is provided AS-IS with no warranty, either express or
1331*593dc095SDavid du Colombierimplied.
1332*593dc095SDavid du Colombier
1333*593dc095SDavid du ColombierThis software is distributed under license and may not be copied,
1334*593dc095SDavid du Colombiermodified or distributed except as expressly authorized under the terms
1335*593dc095SDavid du Colombierof the license contained in the file LICENSE in this distribution.
1336*593dc095SDavid du Colombier
1337*593dc095SDavid du ColombierFor more information about licensing, please refer to
1338*593dc095SDavid du Colombierhttp://www.ghostscript.com/licensing/. For information on
1339*593dc095SDavid du Colombiercommercial licensing, go to http://www.artifex.com/licensing/ or
1340*593dc095SDavid du Colombiercontact Artifex Software, Inc., 101 Lucas Valley Road #110,
1341*593dc095SDavid du ColombierSan Rafael, CA  94903, U.S.A., +1(415)492-9861.
13427dd7cddfSDavid du Colombier
13433ff48bf5SDavid du Colombier<p>
1344*593dc095SDavid du Colombier<small>Ghostscript version 8.53, 20 October 2005
13457dd7cddfSDavid du Colombier
13467dd7cddfSDavid du Colombier<!-- [3.0 end visible trailer] ============================================= -->
13477dd7cddfSDavid du Colombier
13487dd7cddfSDavid du Colombier</body>
13497dd7cddfSDavid du Colombier</html>
1350