|
Lines 23-287
Link Here
|
| 23 |
--> |
23 |
--> |
| 24 |
|
24 |
|
| 25 |
<article> |
25 |
<article> |
|
|
26 |
<artheader> |
| 27 |
<title>Fonts and FreeBSD</title> |
| 28 |
|
| 29 |
<subtitle>A Tutorial</subtitle> |
| 30 |
|
| 31 |
<authorgroup> |
| 32 |
<author> |
| 33 |
<firstname>Dave</firstname> |
| 34 |
|
| 35 |
<surname>Bodenstab</surname> |
| 36 |
|
| 37 |
<affiliation> |
| 38 |
<address> |
| 39 |
<email>imdave@synet.net</email> |
| 40 |
</address> |
| 41 |
</affiliation> |
| 42 |
</author> |
| 43 |
</authorgroup> |
| 44 |
|
| 45 |
<pubdate>Wed Aug 7, 1996</pubdate> |
| 46 |
|
| 47 |
<abstract> |
| 48 |
<para>This document contains a description of the various font |
| 49 |
files that may be used with FreeBSD and the syscons driver, |
| 50 |
X11, Ghostscript and Groff. Cookbook examples are provided |
| 51 |
for switching the syscons display to 80x60 mode, and for using |
| 52 |
type 1 fonts with the above application programs.</para> |
| 53 |
</abstract> |
| 54 |
</artheader> |
| 55 |
|
| 56 |
<sect1> |
| 57 |
<title>Introduction</title> |
| 58 |
|
| 59 |
<para>There are many sources of fonts available, and one might ask |
| 60 |
how they might be used with FreeBSD. The answer can be found by |
| 61 |
carefully searching the documentation for the component that one |
| 62 |
would like to use. This is very time consuming, so this |
| 63 |
tutorial is an attempt to provide a shortcut for others who |
| 64 |
might be interested.</para> |
| 65 |
</sect1> |
| 66 |
|
| 67 |
<sect1> |
| 68 |
<title>Basic terminology</title> |
| 69 |
|
| 70 |
<para>There are many different font formats and associated font |
| 71 |
file suffixes. A few that will be addressed here are:</para> |
| 72 |
|
| 73 |
<variablelist> |
| 74 |
<varlistentry> |
| 75 |
<term><filename>.pfa</>, <filename>.pfb</></term> |
| 76 |
|
| 77 |
<listitem> |
| 78 |
<para>Postscript type 1 fonts. The |
| 79 |
<filename>.pfa</filename> is the |
| 80 |
<emphasis>A</emphasis>scii form and |
| 81 |
<filename>.pfb</filename> the <emphasis>B</emphasis>inary |
| 82 |
form.</para> |
| 83 |
</listitem> |
| 84 |
</varlistentry> |
| 85 |
|
| 86 |
<varlistentry> |
| 87 |
<term><filename>.afm</></term> |
| 88 |
|
| 89 |
<listitem> |
| 90 |
<para>The font metrics associated with a type 1 font.</para> |
| 91 |
</listitem> |
| 92 |
</varlistentry> |
| 93 |
|
| 94 |
<varlistentry> |
| 95 |
<term><filename>.pfm</></term> |
| 96 |
|
| 97 |
<listitem> |
| 98 |
<para>The printer font metrics associated with a type 1 |
| 99 |
font.</para> |
| 100 |
</listitem> |
| 101 |
</varlistentry> |
| 102 |
|
| 103 |
<varlistentry> |
| 104 |
<term><filename>.ttf</></term> |
| 105 |
|
| 106 |
<listitem> |
| 107 |
<para>A TrueType font</para> |
| 108 |
</listitem> |
| 109 |
</varlistentry> |
| 110 |
|
| 111 |
<varlistentry> |
| 112 |
<term><filename>.fot</></term> |
| 113 |
|
| 114 |
<listitem> |
| 115 |
<para>An indirect reference to a TrueType font (not an |
| 116 |
actual font)</para> |
| 117 |
</listitem> |
| 118 |
</varlistentry> |
| 119 |
|
| 120 |
<varlistentry> |
| 121 |
<term><filename>.fon</>, <filename>.fnt</></term> |
| 122 |
|
| 123 |
<listitem> |
| 124 |
<para>Bitmapped screen fonts</para> |
| 125 |
</listitem> |
| 126 |
</varlistentry> |
| 127 |
</variablelist> |
| 128 |
|
| 129 |
<para>The <filename>.fot</filename> file is used by Windows as |
| 130 |
sort of a symbolic link to the actual TrueType font |
| 131 |
(<filename>.ttf</filename>) file. The <filename>.fon</filename> |
| 132 |
font files are also used by Windows. I know of no way to use |
| 133 |
this font format with FreeBSD.</para> |
| 134 |
</sect1> |
| 135 |
|
| 136 |
<sect1> |
| 137 |
<title>What font formats can I use?</title> |
| 138 |
|
| 139 |
<para>Which font file format is useful depends on the application |
| 140 |
being used. FreeBSD by itself uses no fonts. Application |
| 141 |
programs and/or drivers may make use of the font files. Here is |
| 142 |
a small cross reference of application/driver to the font type |
| 143 |
suffixes:</para> |
| 144 |
|
| 145 |
<variablelist> |
| 146 |
<varlistentry> |
| 147 |
<term>Driver</term> |
| 148 |
|
| 149 |
<listitem> |
| 150 |
<variablelist> |
| 151 |
<varlistentry> |
| 152 |
<term>syscons</term> |
| 153 |
|
| 154 |
<listitem> |
| 155 |
<para><filename>.fnt</></para> |
| 156 |
</listitem> |
| 157 |
</varlistentry> |
| 158 |
</variablelist> |
| 159 |
</listitem> |
| 160 |
</varlistentry> |
| 161 |
|
| 162 |
<varlistentry> |
| 163 |
<term>Application</term> |
| 164 |
|
| 165 |
<listitem> |
| 166 |
<variablelist> |
| 167 |
<varlistentry> |
| 168 |
<term>Ghostscript</term> |
| 169 |
|
| 170 |
<listitem> |
| 171 |
<para><filename>.pfa</filename>, |
| 172 |
<filename>.pfb</filename>, |
| 173 |
<filename>.ttf</filename></para> |
| 174 |
</listitem> |
| 175 |
</varlistentry> |
| 176 |
|
| 177 |
<varlistentry> |
| 178 |
<term>X11</term> |
| 179 |
|
| 180 |
<listitem> |
| 181 |
<para><filename>.pfa</filename>, |
| 182 |
<filename>.pfb</filename></para> |
| 183 |
</listitem> |
| 184 |
</varlistentry> |
| 185 |
|
| 186 |
<varlistentry> |
| 187 |
<term>Groff</term> |
| 188 |
|
| 189 |
<listitem> |
| 190 |
<para><filename>.pfa</filename>, |
| 191 |
<filename>.afm</filename></para> |
| 192 |
</listitem> |
| 193 |
</varlistentry> |
| 194 |
|
| 195 |
<varlistentry> |
| 196 |
<term>Povray</term> |
| 197 |
|
| 198 |
<listitem> |
| 199 |
<para><filename>.ttf</filename></para> |
| 200 |
</listitem> |
| 201 |
</varlistentry> |
| 202 |
</variablelist> |
| 203 |
</listitem> |
| 204 |
</varlistentry> |
| 205 |
</variablelist> |
| 206 |
|
| 207 |
<para>The <filename>.fnt</filename> suffix is used quite |
| 208 |
frequently. I suspect that whenever someone wanted to create a |
| 209 |
specialized font file for their application, more often than not |
| 210 |
they chose this suffix. Therefore, it is likely that files with |
| 211 |
this suffix are not all the same format; specifically, the |
| 212 |
<filename>.fnt</filename> files used by syscons under FreeBSD |
| 213 |
may not be the same format as a <filename>.fnt</filename> file |
| 214 |
one encounters in the MSDOS/Windows environment. I have not |
| 215 |
made any attempt at using other <filename>.fnt</filename> files |
| 216 |
other than those provided with FreeBSD.</para> |
| 217 |
</sect1> |
| 218 |
|
| 219 |
<sect1> |
| 220 |
<title>Setting a virtual console to 80x60 line mode</title> |
| 221 |
|
| 222 |
<para>First, a 8x8 font must be loaded. |
| 223 |
<filename>/etc/sysconfig</filename> should contain the |
| 224 |
lines:</para> |
| 225 |
|
| 226 |
<informalexample> |
| 227 |
<programlisting> |
| 228 |
# Choose font 8x8 from /usr/share/syscons/fonts/* (or NO for default) |
| 229 |
font8x8=/usr/share/syscons/fonts/cp437-8x8.fnt |
| 230 |
</programlisting> |
| 231 |
</informalexample> |
| 232 |
|
| 233 |
<para>The command to actually switch the mode is |
| 234 |
&man.vidcontrol.1:</para> |
| 26 |
|
235 |
|
| 27 |
<artheader> |
|
|
| 28 |
<title>Fonts and FreeBSD</title> |
| 29 |
<subtitle>A Tutorial</subtitle> |
| 30 |
|
| 31 |
<authorgroup> |
| 32 |
<author> |
| 33 |
<firstname>Dave</firstname> |
| 34 |
<surname>Bodenstab</surname> |
| 35 |
<affiliation> |
| 36 |
<address><email>imdave@synet.net</email></address> |
| 37 |
</affiliation> |
| 38 |
</author> |
| 39 |
</authorgroup> |
| 40 |
|
| 41 |
<pubdate>Wed Aug 7, 1996</pubdate> |
| 42 |
|
| 43 |
<abstract><para>This document contains a description of the various |
| 44 |
font files that may be used with FreeBSD and the syscons driver, X11, |
| 45 |
Ghostscript and Groff. Cookbook examples are provided for switching |
| 46 |
the syscons display to 80x60 mode, and for using type 1 fonts with |
| 47 |
the above application programs.</para></abstract> |
| 48 |
|
| 49 |
</artheader> |
| 50 |
|
| 51 |
<sect1> |
| 52 |
<title>Introduction</title> |
| 53 |
|
| 54 |
<para>There are many sources of fonts available, and one might ask |
| 55 |
how they might be used with FreeBSD. The answer can be found by |
| 56 |
carefully searching the documentation for the component that one |
| 57 |
would like to use. This is very time consuming, so this tutorial is |
| 58 |
an attempt to provide a shortcut for others who might be |
| 59 |
interested.</para> |
| 60 |
|
| 61 |
</sect1> |
| 62 |
|
| 63 |
<sect1> |
| 64 |
<title>Basic terminology</title> |
| 65 |
|
| 66 |
<para>There are many different font formats and associated font file |
| 67 |
suffixes. A few that will be addressed here are: |
| 68 |
</para> |
| 69 |
<variablelist> |
| 70 |
|
| 71 |
<varlistentry><term><filename>.pfa</>, <filename>.pfb</></term> |
| 72 |
|
| 73 |
<listitem><para>Postscript type 1 fonts. The <filename>.pfa</filename> is the |
| 74 |
<emphasis>A</emphasis>scii form and <filename>.pfb</filename> the |
| 75 |
<emphasis>B</emphasis>inary form.</para></listitem> |
| 76 |
|
| 77 |
</varlistentry> |
| 78 |
|
| 79 |
<varlistentry><term><filename>.afm</></term> |
| 80 |
|
| 81 |
<listitem><para>The font metrics associated with a type 1 |
| 82 |
font.</para></listitem> |
| 83 |
|
| 84 |
</varlistentry> |
| 85 |
|
| 86 |
<varlistentry><term><filename>.pfm</></term> |
| 87 |
|
| 88 |
<listitem><para>The printer font metrics associated with a type 1 |
| 89 |
font.</para></listitem> |
| 90 |
|
| 91 |
</varlistentry> |
| 92 |
|
| 93 |
<varlistentry><term><filename>.ttf</></term> |
| 94 |
|
| 95 |
<listitem><para>A TrueType font</para></listitem> |
| 96 |
|
| 97 |
</varlistentry> |
| 98 |
|
| 99 |
<varlistentry><term><filename>.fot</></term> |
| 100 |
|
| 101 |
<listitem><para>An indirect reference to a TrueType font (not an |
| 102 |
actual font)</para></listitem> |
| 103 |
|
| 104 |
</varlistentry> |
| 105 |
|
| 106 |
<varlistentry><term><filename>.fon</>, <filename>.fnt</></term> |
| 107 |
|
| 108 |
<listitem><para>Bitmapped screen fonts</para></listitem> |
| 109 |
|
| 110 |
</varlistentry> |
| 111 |
</variablelist> |
| 112 |
|
| 113 |
<para>The <filename>.fot</filename> file is used by Windows as sort |
| 114 |
of a symbolic link to the actual TrueType font |
| 115 |
(<filename>.ttf</filename>) file. The <filename>.fon</filename> font |
| 116 |
files are also used by Windows. I know of no way to use this font |
| 117 |
format with FreeBSD.</para> |
| 118 |
|
| 119 |
</sect1> |
| 120 |
|
| 121 |
<sect1> |
| 122 |
<title>What font formats can I use?</title> |
| 123 |
|
| 124 |
<para>Which font file format is useful depends on the application |
| 125 |
being used. FreeBSD by itself uses no fonts. Application programs |
| 126 |
and/or drivers may make use of the font files. Here is a small cross |
| 127 |
reference of application/driver to the font type suffixes:</para> |
| 128 |
|
| 129 |
<variablelist> |
| 130 |
<varlistentry><term>Driver</term> |
| 131 |
<listitem> |
| 132 |
<variablelist> |
| 133 |
<varlistentry><term>syscons</term> |
| 134 |
<listitem> |
| 135 |
<para><filename>.fnt</></para> |
| 136 |
|
| 137 |
</listitem> |
| 138 |
</varlistentry> |
| 139 |
</variablelist> |
| 140 |
|
| 141 |
</listitem> |
| 142 |
</varlistentry> |
| 143 |
|
| 144 |
<varlistentry><term>Application</term> |
| 145 |
|
| 146 |
<listitem> |
| 147 |
<variablelist> |
| 148 |
<varlistentry><term>Ghostscript</term> |
| 149 |
<listitem> |
| 150 |
<para><filename>.pfa</filename>, <filename>.pfb</filename>, <filename>.ttf</filename></para> |
| 151 |
|
| 152 |
</listitem> |
| 153 |
</varlistentry> |
| 154 |
|
| 155 |
<varlistentry><term>X11</term> |
| 156 |
|
| 157 |
<listitem> |
| 158 |
<para><filename>.pfa</filename>, <filename>.pfb</filename></para> |
| 159 |
|
| 160 |
</listitem> |
| 161 |
</varlistentry> |
| 162 |
|
| 163 |
<varlistentry><term>Groff</term> |
| 164 |
|
| 165 |
<listitem> |
| 166 |
<para><filename>.pfa</filename>, <filename>.afm</filename></para> |
| 167 |
|
| 168 |
</listitem> |
| 169 |
</varlistentry> |
| 170 |
|
| 171 |
<varlistentry><term>Povray</term> |
| 172 |
|
| 173 |
<listitem> |
| 174 |
<para><filename>.ttf</filename></para> |
| 175 |
|
| 176 |
</listitem> |
| 177 |
</varlistentry> |
| 178 |
</variablelist> |
| 179 |
|
| 180 |
</listitem> |
| 181 |
</varlistentry> |
| 182 |
</variablelist> |
| 183 |
|
| 184 |
<para>The <filename>.fnt</filename> suffix is used quite frequently. |
| 185 |
I suspect that whenever someone wanted to create a specialized font |
| 186 |
file for their application, more often than not they chose this |
| 187 |
suffix. Therefore, it is likely that files with this suffix are not |
| 188 |
all the same format; specifically, the <filename>.fnt</filename> |
| 189 |
files used by syscons under FreeBSD may not be the same format as a |
| 190 |
<filename>.fnt</filename> file one encounters in the MSDOS/Windows |
| 191 |
environment. I have not made any attempt at using other |
| 192 |
<filename>.fnt</filename> files other than those provided with |
| 193 |
FreeBSD.</para> |
| 194 |
|
| 195 |
</sect1> |
| 196 |
|
| 197 |
<sect1> |
| 198 |
<title>Setting a virtual console to 80x60 line mode</title> |
| 199 |
|
| 200 |
<para>First, a 8x8 font must be loaded. |
| 201 |
<filename>/etc/sysconfig</filename> should contain the lines: |
| 202 |
</para> |
| 203 |
<informalexample> |
| 204 |
<programlisting># Choose font 8x8 from /usr/share/syscons/fonts/* (or NO for default) |
| 205 |
font8x8=/usr/share/syscons/fonts/cp437-8x8.fnt</programlisting> |
| 206 |
</informalexample> |
| 207 |
|
| 208 |
<para>The command to actually switch the mode is |
| 209 |
&man.vidcontrol.1: |
| 210 |
</para> |
| 211 |
<informalexample> |
| 212 |
<screen>bash$ <userinput>vidcontrol VGA_80x60</userinput></screen> |
| 213 |
</informalexample> |
| 214 |
|
| 215 |
<para>Various screen orientated programs, such as |
| 216 |
&man.vi.1, must be able to |
| 217 |
determine the current screen dimensions. These can be set with |
| 218 |
&man.stty.1;: |
| 219 |
</para> |
| 220 |
<informalexample> |
| 221 |
<screen>bash$ <userinput>stty crt rows 60 columns 80</userinput></screen> |
| 222 |
</informalexample> |
| 223 |
|
| 224 |
<para>To make this more seamless, one can embed these commands in the |
| 225 |
startup scripts so it takes place when the system boots. One way to |
| 226 |
do this is: |
| 227 |
</para> |
| 228 |
<orderedlist> |
| 229 |
|
| 230 |
<listitem> |
| 231 |
<para>Modify <filename>/etc/sysconfig</filename> as above</para> |
| 232 |
</listitem> |
| 233 |
|
| 234 |
<listitem> |
| 235 |
<para>Add to <filename>/etc/rc.local</filename>: |
| 236 |
</para> |
| 237 |
<informalexample> |
236 |
<informalexample> |
| 238 |
<programlisting>for tty in /dev/ttyv? |
237 |
<screen> |
|
|
238 |
bash$ <userinput>vidcontrol VGA_80x60</userinput> |
| 239 |
</screen> |
| 240 |
</informalexample> |
| 241 |
|
| 242 |
<para>Various screen orientated programs, such as &man.vi.1, must |
| 243 |
be able to determine the current screen dimensions. These can |
| 244 |
be set with &man.stty.1;:</para> |
| 245 |
|
| 246 |
<informalexample> |
| 247 |
<screen> |
| 248 |
bash$ <userinput>stty crt rows 60 columns 80</userinput> |
| 249 |
</screen> |
| 250 |
</informalexample> |
| 251 |
|
| 252 |
<para>To make this more seamless, one can embed these commands in |
| 253 |
the startup scripts so it takes place when the system boots. |
| 254 |
One way to do this is:</para> |
| 255 |
|
| 256 |
<orderedlist> |
| 257 |
<listitem> |
| 258 |
<para>Modify <filename>/etc/sysconfig</filename> as |
| 259 |
above</para> |
| 260 |
</listitem> |
| 261 |
|
| 262 |
<listitem> |
| 263 |
<para>Add to <filename>/etc/rc.local</filename>:</para> |
| 264 |
|
| 265 |
<informalexample> |
| 266 |
<programlisting> |
| 267 |
for tty in /dev/ttyv? |
| 239 |
do |
268 |
do |
| 240 |
vidcontrol VGA_80x60 <$tty >/dev/null 2>&1 |
269 |
vidcontrol VGA_80x60 <$tty >/dev/null 2>&1 |
| 241 |
done</programlisting> |
270 |
done |
|
|
271 |
</programlisting> |
| 242 |
</informalexample> |
272 |
</informalexample> |
| 243 |
</listitem> |
273 |
</listitem> |
|
|
274 |
|
| 275 |
<listitem> |
| 276 |
<para>Add to <filename>/etc/profile</filename>:</para> |
| 244 |
|
277 |
|
| 245 |
<listitem> |
|
|
| 246 |
<para>Add to <filename>/etc/profile</filename>: |
| 247 |
</para> |
| 248 |
<informalexample> |
278 |
<informalexample> |
| 249 |
<programlisting>TTYNAME=`basename \`tty\`` |
279 |
<programlisting> |
|
|
280 |
TTYNAME=`basename \`tty\`` |
| 250 |
if expr "$TTYNAME" : 'ttyv' >/dev/null |
281 |
if expr "$TTYNAME" : 'ttyv' >/dev/null |
| 251 |
then |
282 |
then |
| 252 |
stty crt rows 60 columns 80 |
283 |
stty crt rows 60 columns 80 |
| 253 |
fi</programlisting> |
284 |
fi |
|
|
285 |
</programlisting> |
| 254 |
</informalexample> |
286 |
</informalexample> |
| 255 |
</listitem> |
287 |
</listitem> |
|
|
288 |
</orderedlist> |
| 289 |
|
| 290 |
<para>References: &man.stty.1;, &man.vidcontrol.1;.</para> |
| 291 |
</sect1> |
| 292 |
|
| 293 |
<sect1> |
| 294 |
<title>Using type 1 fonts with X11</title> |
| 295 |
|
| 296 |
<para>X11 can use either the <filename>.pfa</filename> or the |
| 297 |
<filename>.pfb</filename> format fonts. The X11 fonts are |
| 298 |
located in various subdirectories under |
| 299 |
<filename>/usr/X11R6/lib/X11/fonts</filename>. Each font file |
| 300 |
is cross referenced to its X11 name by the contents of the |
| 301 |
<filename>fonts.dir</filename> file in each directory.</para> |
| 302 |
|
| 303 |
<para>There is already a directory named <filename>Type1</>. The |
| 304 |
most straight forward way to add a new font is to put it into |
| 305 |
this directory. A better way is to keep all new fonts in a |
| 306 |
separate directory and use a symbolic link to the additional |
| 307 |
font. This allows one to more easily keep track of ones fonts |
| 308 |
without confusing them with the fonts that were originally |
| 309 |
provided. For example:</para> |
| 256 |
|
310 |
|
| 257 |
</orderedlist> |
|
|
| 258 |
|
| 259 |
<para>References: |
| 260 |
&man.stty.1;, |
| 261 |
&man.vidcontrol.1;.</para> |
| 262 |
|
| 263 |
</sect1> |
| 264 |
|
| 265 |
<sect1> |
| 266 |
<title>Using type 1 fonts with X11</title> |
| 267 |
|
| 268 |
<para>X11 can use either the <filename>.pfa</filename> or the |
| 269 |
<filename>.pfb</filename> format fonts. The X11 fonts are located in |
| 270 |
various subdirectories under |
| 271 |
<filename>/usr/X11R6/lib/X11/fonts</filename>. Each font file is |
| 272 |
cross referenced to its X11 name by the contents of the |
| 273 |
<filename>fonts.dir</filename> file in each directory.</para> |
| 274 |
|
| 275 |
<para>There is already a directory named <filename>Type1</>. The most |
| 276 |
straight forward way to add a new font is to put it into this |
| 277 |
directory. A better way is to keep all new fonts in a separate |
| 278 |
directory and use a symbolic link to the additional font. This |
| 279 |
allows one to more easily keep track of ones fonts without confusing |
| 280 |
them with the fonts that were originally provided. For |
| 281 |
example: |
| 282 |
</para> |
| 283 |
<informalexample> |
311 |
<informalexample> |
| 284 |
<screen><lineannotation>Create a directory to contain the font files</> |
312 |
<screen> |
|
|
313 |
<lineannotation>Create a directory to contain the font files</> |
| 285 |
bash$ <userinput>mkdir -p /usr/local/share/fonts/type1</> |
314 |
bash$ <userinput>mkdir -p /usr/local/share/fonts/type1</> |
| 286 |
bash$ <userinput>cd /usr/local/share/fonts/type1</> |
315 |
bash$ <userinput>cd /usr/local/share/fonts/type1</> |
| 287 |
|
316 |
|
|
Lines 292-307
Link Here
|
| 292 |
bash$ <userinput>cp /cdrom/fonts/atm/showboat/showboat.afm .</> |
321 |
bash$ <userinput>cp /cdrom/fonts/atm/showboat/showboat.afm .</> |
| 293 |
|
322 |
|
| 294 |
<lineannotation>Maintain an index to cross reference the fonts</> |
323 |
<lineannotation>Maintain an index to cross reference the fonts</> |
| 295 |
bash$ <userinput>echo showboat - InfoMagic CICA, Dec 1994, /fonts/atm/showboat >>INDEX</></screen> |
324 |
bash$ <userinput>echo showboat - InfoMagic CICA, Dec 1994, /fonts/atm/showboat >>INDEX</> |
|
|
325 |
</screen> |
| 296 |
</informalexample> |
326 |
</informalexample> |
| 297 |
|
327 |
|
| 298 |
<para>Now, to use a new font with X11, one must make the font file |
328 |
<para>Now, to use a new font with X11, one must make the font file |
| 299 |
available and update the font name files. The X11 font names look |
329 |
available and update the font name files. The X11 font names |
| 300 |
like: |
330 |
look like:</para> |
| 301 |
</para> |
331 |
|
| 302 |
<informalexample> |
332 |
<informalexample> |
| 303 |
<screen>-bitstream-charter-medium-r-normal-xxx-0-0-0-0-p-0-iso8859-1 |
333 |
<screen> |
| 304 |
| | | | | | | | | | | | \ \ |
334 |
-bitstream-charter-medium-r-normal-xxx-0-0-0-0-p-0-iso8859-1 |
|
|
335 |
| | | | | | | | | | | | \ \ |
| 305 |
| | | | | \ \ \ \ \ \ \ +----+- character set |
336 |
| | | | | \ \ \ \ \ \ \ +----+- character set |
| 306 |
| | | | \ \ \ \ \ \ \ +- average width |
337 |
| | | | \ \ \ \ \ \ \ +- average width |
| 307 |
| | | | \ \ \ \ \ \ +- spacing |
338 |
| | | | \ \ \ \ \ \ +- spacing |
|
Lines 310-327
Link Here
|
| 310 |
| | | \ \ \ \ +- points |
341 |
| | | \ \ \ \ +- points |
| 311 |
| | | \ \ \ +- pixels |
342 |
| | | \ \ \ +- pixels |
| 312 |
| | | \ \ \ |
343 |
| | | \ \ \ |
| 313 |
foundry family weight slant width additional style</screen> |
344 |
foundry family weight slant width additional style |
|
|
345 |
</screen> |
| 314 |
</informalexample> |
346 |
</informalexample> |
| 315 |
|
347 |
|
| 316 |
<para>A new name needs to be created for each new font. If you have |
348 |
<para>A new name needs to be created for each new font. If you |
| 317 |
some information from the documentation that accompanied the font, |
349 |
have some information from the documentation that accompanied |
| 318 |
then it could serve as the basis for creating the name. If there is |
350 |
the font, then it could serve as the basis for creating the |
| 319 |
no information, then you can get some idea by using |
351 |
name. If there is no information, then you can get some idea by |
| 320 |
&man.strings.1; on the font |
352 |
using &man.strings.1; on the font file. For example:</para> |
| 321 |
file. For example: |
353 |
|
| 322 |
</para> |
|
|
| 323 |
<informalexample> |
354 |
<informalexample> |
| 324 |
<screen>bash$ <userinput>strings showboat.pfb | more</> |
355 |
<screen> |
|
|
356 |
bash$ <userinput>strings showboat.pfb | more</> |
| 325 |
%!FontType1-1.0: Showboat 001.001 |
357 |
%!FontType1-1.0: Showboat 001.001 |
| 326 |
%%CreationDate: 1/15/91 5:16:03 PM |
358 |
%%CreationDate: 1/15/91 5:16:03 PM |
| 327 |
%%VMusage: 1024 45747 |
359 |
%%VMusage: 1024 45747 |
|
Lines 345-431
Link Here
|
| 345 |
1991 by David Rakowski. Alle Rechte Vorbehalten.) readonly def |
377 |
1991 by David Rakowski. Alle Rechte Vorbehalten.) readonly def |
| 346 |
end readonly def |
378 |
end readonly def |
| 347 |
/FontName /Showboat def |
379 |
/FontName /Showboat def |
| 348 |
--stdin--</screen> |
380 |
--stdin-- |
|
|
381 |
</screen> |
| 349 |
</informalexample> |
382 |
</informalexample> |
| 350 |
|
|
|
| 351 |
<para>Using this information, a possible name might be: |
| 352 |
</para> |
| 353 |
<informalexample> |
| 354 |
<screen>-type1-Showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1</screen> |
| 355 |
</informalexample> |
| 356 |
|
| 357 |
<para>The components of our name are: |
| 358 |
</para> |
| 359 |
<variablelist> |
| 360 |
|
| 361 |
<varlistentry><term>Foundry</term> |
| 362 |
<listitem> |
| 363 |
<para>Lets just name all the new fonts <literal>type1</>.</para> |
| 364 |
</listitem> |
| 365 |
</varlistentry> |
| 366 |
|
| 367 |
<varlistentry><term>Family</term> |
| 368 |
<listitem> |
| 369 |
<para>The name of the font.</para> |
| 370 |
</listitem> |
| 371 |
</varlistentry> |
| 372 |
|
| 373 |
<varlistentry><term>Weight</term> |
| 374 |
<listitem> |
| 375 |
<para>Normal, bold, medium, semibold, etc. From the |
| 376 |
<citerefentry><refentrytitle>strings</><manvolnum>1</></> output |
| 377 |
above, it appears that this font has a weight of |
| 378 |
<emphasis>medium</emphasis>.</para> |
| 379 |
</listitem> |
| 380 |
</varlistentry> |
| 381 |
|
| 382 |
<varlistentry><term>Slant</term> |
| 383 |
<listitem> |
| 384 |
<para><emphasis remap=bf>r</emphasis>oman, <emphasis |
| 385 |
remap=bf>i</emphasis>talic, <emphasis remap=bf>o</emphasis>blique, |
| 386 |
etc. Since the <emphasis>ItalicAngle</emphasis> is zero, |
| 387 |
<emphasis>roman</emphasis> will be used.</para> |
| 388 |
</listitem> |
| 389 |
</varlistentry> |
| 390 |
|
| 391 |
<varlistentry><term>Width</term> |
| 392 |
<listitem> |
| 393 |
<para>Normal, wide, condensed, extended, etc. Until it can be examined, |
| 394 |
the assumption will be <emphasis>normal</emphasis>.</para> |
| 395 |
</listitem> |
| 396 |
</varlistentry> |
| 397 |
|
| 398 |
<varlistentry><term>Additional style</term> |
| 399 |
<listitem> |
| 400 |
<para>Usually omitted, but this will indicate that |
| 401 |
the font contains decorative capital letters.</para> |
| 402 |
</listitem> |
| 403 |
</varlistentry> |
| 404 |
|
| 405 |
<varlistentry><term>Spacing</term> |
| 406 |
<listitem> |
| 407 |
<para>proportional or monospaced. <emphasis>Proportional</emphasis> |
| 408 |
is used since <emphasis>isFixedPitch</emphasis> is false.</para> |
| 409 |
</listitem> |
| 410 |
</varlistentry> |
| 411 |
|
| 412 |
</variablelist> |
| 413 |
|
| 414 |
<para>All of these names are arbitrary, but one should strive to be |
| 415 |
compatible with the existing conventions. A font is referenced by |
| 416 |
name with possible wild cards by an X11 program, so the name chosen |
| 417 |
should make some sense. One might begin by simply using |
| 418 |
<informalexample> |
| 419 |
<screen>…-normal-r-normal-…-p-…</screen> |
| 420 |
</informalexample> |
| 421 |
as the name, and then use |
| 422 |
<citerefentry><refentrytitle>xfontsel</><manvolnum>1</></> to examine it |
| 423 |
and adjust the name based on the appearance of the font.</para> |
| 424 |
|
383 |
|
| 425 |
<para>So, to complete our example: |
384 |
<para>Using this information, a possible name might be:</para> |
| 426 |
</para> |
385 |
|
| 427 |
<informalexample> |
386 |
<informalexample> |
| 428 |
<screen><lineannotation>Make the font accessible to X11</> |
387 |
<screen> |
|
|
388 |
-type1-Showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1 |
| 389 |
</screen> |
| 390 |
</informalexample> |
| 391 |
|
| 392 |
<para>The components of our name are:</para> |
| 393 |
|
| 394 |
<variablelist> |
| 395 |
<varlistentry> |
| 396 |
<term>Foundry</term> |
| 397 |
|
| 398 |
<listitem> |
| 399 |
<para>Lets just name all the new fonts |
| 400 |
<literal>type1</>.</para> |
| 401 |
</listitem> |
| 402 |
</varlistentry> |
| 403 |
|
| 404 |
<varlistentry> |
| 405 |
<term>Family</term> |
| 406 |
|
| 407 |
<listitem> |
| 408 |
<para>The name of the font.</para> |
| 409 |
</listitem> |
| 410 |
</varlistentry> |
| 411 |
|
| 412 |
<varlistentry> |
| 413 |
<term>Weight</term> |
| 414 |
|
| 415 |
<listitem> |
| 416 |
<para>Normal, bold, medium, semibold, etc. From the |
| 417 |
<citerefentry><refentrytitle>strings</><manvolnum>1</></> |
| 418 |
output above, it appears that this font has a weight of |
| 419 |
<emphasis>medium</emphasis>.</para> |
| 420 |
</listitem> |
| 421 |
</varlistentry> |
| 422 |
|
| 423 |
<varlistentry> |
| 424 |
<term>Slant</term> |
| 425 |
|
| 426 |
<listitem> |
| 427 |
<para><emphasis remap=bf>r</emphasis>oman, <emphasis |
| 428 |
remap=bf>i</emphasis>talic, <emphasis |
| 429 |
remap=bf>o</emphasis>blique, etc. Since the |
| 430 |
<emphasis>ItalicAngle</emphasis> is zero, |
| 431 |
<emphasis>roman</emphasis> will be used.</para> |
| 432 |
</listitem> |
| 433 |
</varlistentry> |
| 434 |
|
| 435 |
<varlistentry> |
| 436 |
<term>Width</term> |
| 437 |
|
| 438 |
<listitem> |
| 439 |
<para>Normal, wide, condensed, extended, etc. Until it can |
| 440 |
be examined, the assumption will be |
| 441 |
<emphasis>normal</emphasis>.</para> |
| 442 |
</listitem> |
| 443 |
</varlistentry> |
| 444 |
|
| 445 |
<varlistentry> |
| 446 |
<term>Additional style</term> |
| 447 |
|
| 448 |
<listitem> |
| 449 |
<para>Usually omitted, but this will indicate that the font |
| 450 |
contains decorative capital letters.</para> |
| 451 |
</listitem> |
| 452 |
</varlistentry> |
| 453 |
|
| 454 |
<varlistentry> |
| 455 |
<term>Spacing</term> |
| 456 |
|
| 457 |
<listitem> |
| 458 |
<para>proportional or monospaced. |
| 459 |
<emphasis>Proportional</emphasis> is used since |
| 460 |
<emphasis>isFixedPitch</emphasis> is false.</para> |
| 461 |
</listitem> |
| 462 |
</varlistentry> |
| 463 |
</variablelist> |
| 464 |
|
| 465 |
<para>All of these names are arbitrary, but one should strive to |
| 466 |
be compatible with the existing conventions. A font is |
| 467 |
referenced by name with possible wild cards by an X11 program, |
| 468 |
so the name chosen should make some sense. One might begin by |
| 469 |
simply using |
| 470 |
|
| 471 |
<informalexample> |
| 472 |
<screen> |
| 473 |
…-normal-r-normal-…-p-… |
| 474 |
</screen> |
| 475 |
</informalexample> |
| 476 |
|
| 477 |
as the name, and then use |
| 478 |
<citerefentry><refentrytitle>xfontsel</><manvolnum>1</></> to |
| 479 |
examine it and adjust the name based on the appearance of the |
| 480 |
font.</para> |
| 481 |
|
| 482 |
<para>So, to complete our example:</para> |
| 483 |
|
| 484 |
<informalexample> |
| 485 |
<screen> |
| 486 |
<lineannotation>Make the font accessible to X11</> |
| 429 |
bash$ <userinput>cd /usr/X11R6/lib/X11/fonts/Type1</> |
487 |
bash$ <userinput>cd /usr/X11R6/lib/X11/fonts/Type1</> |
| 430 |
bash$ <userinput>ln -s /usr/local/share/fonts/type1/showboat.pfb .</> |
488 |
bash$ <userinput>ln -s /usr/local/share/fonts/type1/showboat.pfb .</> |
| 431 |
|
489 |
|
|
Lines 449-477
Link Here
|
| 449 |
bash$ <userinput>xset fp rehash</> |
507 |
bash$ <userinput>xset fp rehash</> |
| 450 |
|
508 |
|
| 451 |
<lineannotation>Examine the new font</> |
509 |
<lineannotation>Examine the new font</> |
| 452 |
bash$ <userinput>xfontsel -pattern -type1-*</></screen> |
510 |
bash$ <userinput>xfontsel -pattern -type1-*</> |
|
|
511 |
</screen> |
| 453 |
</informalexample> |
512 |
</informalexample> |
| 454 |
|
513 |
|
| 455 |
<para>References: |
514 |
<para>References: &man.xfontsel.1;, &man.xset.1;, <citetitle>The X |
| 456 |
&man.xfontsel.1;, |
515 |
Windows System in a Nutshell</>, <ulink |
| 457 |
&man.xset.1;, |
516 |
URL="http://www.ora.com/">O'Reilly & |
| 458 |
<citetitle>The X Windows System in a Nutshell</>, <ulink |
517 |
Associates</ulink>.</para> |
| 459 |
URL="http://www.ora.com/">O'Reilly & Associates</ulink>.</para> |
518 |
</sect1> |
| 460 |
|
519 |
|
| 461 |
</sect1> |
520 |
<sect1> |
| 462 |
|
521 |
<title>Using type 1 fonts with Ghostscript</title> |
| 463 |
<sect1> |
522 |
|
| 464 |
<title>Using type 1 fonts with Ghostscript</title> |
523 |
<para>Ghostscript references a font via its <filename>Fontmap</> |
| 465 |
|
524 |
file. This must be modified in a similar way to the X11 |
| 466 |
<para>Ghostscript references a font via its <filename>Fontmap</> |
525 |
<filename>fonts.dir</filename> file. Ghostscript can use either |
| 467 |
file. This must be modified in a similar way to the X11 |
526 |
the <filename>.pfa</filename> or the <filename>.pfb</filename> |
| 468 |
<filename>fonts.dir</filename> file. Ghostscript can use either the |
527 |
format fonts. Using the font from the previous example, here is |
| 469 |
<filename>.pfa</filename> or the <filename>.pfb</filename> format |
528 |
how to use it with Ghostscript:</para> |
| 470 |
fonts. Using the font from the previous example, here is how to use |
529 |
|
| 471 |
it with Ghostscript: |
|
|
| 472 |
</para> |
| 473 |
<informalexample> |
530 |
<informalexample> |
| 474 |
<screen><lineannotation>Put the font in Ghostscript's font directory</> |
531 |
<screen> |
|
|
532 |
<lineannotation>Put the font in Ghostscript's font directory</> |
| 475 |
bash$ <userinput>cd /usr/local/share/ghostscript/fonts</> |
533 |
bash$ <userinput>cd /usr/local/share/ghostscript/fonts</> |
| 476 |
bash$ <userinput>ln -s /usr/local/share/fonts/type1/showboat.pfb .</> |
534 |
bash$ <userinput>ln -s /usr/local/share/fonts/type1/showboat.pfb .</> |
| 477 |
|
535 |
|
|
Lines 497-542
Link Here
|
| 497 |
>>showpage, press <return> to continue<< |
555 |
>>showpage, press <return> to continue<< |
| 498 |
>>showpage, press <return> to continue<< |
556 |
>>showpage, press <return> to continue<< |
| 499 |
>>showpage, press <return> to continue<< |
557 |
>>showpage, press <return> to continue<< |
| 500 |
GS><userinput>quit</></screen> |
558 |
GS><userinput>quit</> |
|
|
559 |
</screen> |
| 501 |
</informalexample> |
560 |
</informalexample> |
| 502 |
|
561 |
|
| 503 |
<para>References: <filename>fonts.txt</filename> in the Ghostscript |
562 |
<para>References: <filename>fonts.txt</filename> in the |
| 504 |
4.01 distribution</para> |
563 |
Ghostscript 4.01 distribution</para> |
| 505 |
|
564 |
</sect1> |
| 506 |
</sect1> |
565 |
|
| 507 |
|
566 |
<sect1> |
| 508 |
<sect1> |
567 |
<title>Using type 1 fonts with Groff</title> |
| 509 |
<title>Using type 1 fonts with Groff</title> |
568 |
|
| 510 |
|
569 |
<para>Now that the new font can be used by both X11 and |
| 511 |
<para>Now that the new font can be used by both X11 and Ghostscript, |
570 |
Ghostscript, how can one use the new font with groff? First of |
| 512 |
how can one use the new font with groff? First of all, since we are |
571 |
all, since we are dealing with type 1 postscript fonts, the |
| 513 |
dealing with type 1 postscript fonts, the groff device that is |
572 |
groff device that is applicable is the <emphasis>ps</emphasis> |
| 514 |
applicable is the <emphasis>ps</emphasis> device. A font file must be |
573 |
device. A font file must be created for each font that groff |
| 515 |
created for each font that groff can use. A groff font name is just |
574 |
can use. A groff font name is just a file in |
| 516 |
a file in <filename>/usr/share/groff_font/devps</filename>. With our |
575 |
<filename>/usr/share/groff_font/devps</filename>. With our |
| 517 |
example, the font file could be |
576 |
example, the font file could be |
| 518 |
<filename>/usr/share/groff_font/devps/SHOWBOAT</filename>. The file |
577 |
<filename>/usr/share/groff_font/devps/SHOWBOAT</filename>. The |
| 519 |
must be created using tools provided by groff.</para> |
578 |
file must be created using tools provided by groff.</para> |
| 520 |
|
579 |
|
| 521 |
<para>The first tool is <command>afmtodit</>. This is not normally |
580 |
<para>The first tool is <command>afmtodit</>. This is not |
| 522 |
installed, so it must be retrieved from the source distribution. I |
581 |
normally installed, so it must be retrieved from the source |
| 523 |
found I had to change the first line of the file, so I did: |
582 |
distribution. I found I had to change the first line of the |
| 524 |
</para> |
583 |
file, so I did:</para> |
|
|
584 |
|
| 525 |
<informalexample> |
585 |
<informalexample> |
| 526 |
<screen>bash$ <userinput>cp /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.pl /tmp</> |
586 |
<screen> |
|
|
587 |
bash$ <userinput>cp /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.pl /tmp</> |
| 527 |
bash$ <userinput>ex /tmp/afmtodit.pl |
588 |
bash$ <userinput>ex /tmp/afmtodit.pl |
| 528 |
:1c |
589 |
:1c |
| 529 |
#!/usr/bin/perl -P- |
590 |
#!/usr/bin/perl -P- |
| 530 |
. |
591 |
. |
| 531 |
:wq</></screen> |
592 |
:wq</> |
|
|
593 |
</screen> |
| 532 |
</informalexample> |
594 |
</informalexample> |
| 533 |
|
595 |
|
| 534 |
<para>This tool will create the groff font file from the metrics file |
596 |
<para>This tool will create the groff font file from the metrics |
| 535 |
(<filename>.afm</filename> suffix.) Continuing with our |
597 |
file (<filename>.afm</filename> suffix.) Continuing with our |
| 536 |
example: |
598 |
example:</para> |
| 537 |
</para> |
599 |
|
| 538 |
<informalexample> |
600 |
<informalexample> |
| 539 |
<screen><lineannotation>Many <filename>.afm</> files are in Mac format&hellip ^M delimited lines |
601 |
<screen> |
|
|
602 |
<lineannotation>Many <filename>.afm</> files are in Mac format&hellip ^M delimited lines |
| 540 |
We need to convert them to unix style ^J delimited lines</> |
603 |
We need to convert them to unix style ^J delimited lines</> |
| 541 |
bash$ <userinput>cd /tmp</> |
604 |
bash$ <userinput>cd /tmp</> |
| 542 |
bash$ <userinput>cat /usr/local/share/fonts/type1/showboat.afm | |
605 |
bash$ <userinput>cat /usr/local/share/fonts/type1/showboat.afm | |
|
Lines 544-576
Link Here
|
| 544 |
|
607 |
|
| 545 |
<lineannotation>Now create the groff font file</> |
608 |
<lineannotation>Now create the groff font file</> |
| 546 |
bash$ <userinput>cd /usr/share/groff_font/devps</> |
609 |
bash$ <userinput>cd /usr/share/groff_font/devps</> |
| 547 |
bash$ <userinput>/tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap SHOWBOAT</></screen> |
610 |
bash$ <userinput>/tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap SHOWBOAT</> |
|
|
611 |
</screen> |
| 548 |
</informalexample> |
612 |
</informalexample> |
| 549 |
|
613 |
|
| 550 |
<para>The font can now be referenced with the name SHOWBOAT.</para> |
614 |
<para>The font can now be referenced with the name |
| 551 |
|
615 |
SHOWBOAT.</para> |
| 552 |
<para>If ghostscript is used to drive the printers on the system, |
616 |
|
| 553 |
then nothing more needs to be done. However, if true postscript |
617 |
<para>If ghostscript is used to drive the printers on the system, |
| 554 |
printers are used, then the font must be down loaded to the printer |
618 |
then nothing more needs to be done. However, if true postscript |
| 555 |
in order for the font to be used (unless the printer happens to have |
619 |
printers are used, then the font must be down loaded to the |
| 556 |
the showboat font built in or on an accessible font disk.) The final |
620 |
printer in order for the font to be used (unless the printer |
| 557 |
step is to create a down loadable font. The <command>pfbtops</> tool |
621 |
happens to have the showboat font built in or on an accessible |
| 558 |
is used to create the <filename>.pfa</filename> format of the font, |
622 |
font disk.) The final step is to create a down loadable font. |
| 559 |
and the <filename>download</> file is modified to reference the new |
623 |
The <command>pfbtops</> tool is used to create the |
| 560 |
font. The <filename>download</> file must reference the internal |
624 |
<filename>.pfa</filename> format of the font, and the |
| 561 |
name of the font. This can easily be determined from the groff font |
625 |
<filename>download</> file is modified to reference the new |
| 562 |
file as illustrated: |
626 |
font. The <filename>download</> file must reference the |
| 563 |
</para> |
627 |
internal name of the font. This can easily be determined from |
|
|
628 |
the groff font file as illustrated:</para> |
| 629 |
|
| 564 |
<informalexample> |
630 |
<informalexample> |
| 565 |
<screen><lineannotation>Create the <filename>.pfa</> font file</> |
631 |
<screen> |
|
|
632 |
<lineannotation>Create the <filename>.pfa</> font file</> |
| 566 |
bash$ <userinput>pfbtops /usr/local/share/fonts/type1/showboat.pfb >showboat.pfa</></screen> |
633 |
bash$ <userinput>pfbtops /usr/local/share/fonts/type1/showboat.pfb >showboat.pfa</></screen> |
| 567 |
</informalexample> |
634 |
</informalexample> |
| 568 |
<para> |
635 |
|
| 569 |
Of course, if the <filename>.pfa</filename> file is already |
636 |
<para>Of course, if the <filename>.pfa</filename> file is already |
| 570 |
available, just use a symbolic link to reference it. |
637 |
available, just use a symbolic link to reference it.</para> |
| 571 |
</para> |
638 |
|
| 572 |
<informalexample> |
639 |
<informalexample> |
| 573 |
<screen><lineannotation>Get the internal font name</> |
640 |
<screen> |
|
|
641 |
<lineannotation>Get the internal font name</> |
| 574 |
bash$ <userinput>fgrep internalname SHOWBOAT</> |
642 |
bash$ <userinput>fgrep internalname SHOWBOAT</> |
| 575 |
internalname Showboat |
643 |
internalname Showboat |
| 576 |
|
644 |
|
|
Lines 579-591
Link Here
|
| 579 |
:$a |
647 |
:$a |
| 580 |
Showboat showboat.pfa |
648 |
Showboat showboat.pfa |
| 581 |
. |
649 |
. |
| 582 |
:wq</></screen> |
650 |
:wq</> |
|
|
651 |
</screen> |
| 583 |
</informalexample> |
652 |
</informalexample> |
| 584 |
|
653 |
|
| 585 |
<para>To test the font: |
654 |
<para>To test the font:</para> |
| 586 |
</para> |
655 |
|
| 587 |
<informalexample> |
656 |
<informalexample> |
| 588 |
<screen>bash$ <userinput>cd /tmp</> |
657 |
<screen> |
|
|
658 |
bash$ <userinput>cd /tmp</> |
| 589 |
bash$ <userinput>cat >example.t <<EOF |
659 |
bash$ <userinput>cat >example.t <<EOF |
| 590 |
.sp 5 |
660 |
.sp 5 |
| 591 |
.ps 16 |
661 |
.ps 16 |
|
Lines 618-633
Link Here
|
| 618 |
bash$ <userinput>ghostview example.ps</> |
688 |
bash$ <userinput>ghostview example.ps</> |
| 619 |
|
689 |
|
| 620 |
<lineannotation>To print it</> |
690 |
<lineannotation>To print it</> |
| 621 |
bash$ <userinput>lpr -Ppostscript example.ps</></screen> |
691 |
bash$ <userinput>lpr -Ppostscript example.ps</> |
|
|
692 |
</screen> |
| 622 |
</informalexample> |
693 |
</informalexample> |
| 623 |
|
694 |
|
| 624 |
<para>References: |
695 |
<para>References: |
| 625 |
<filename>/usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.man</filename>, |
696 |
<filename>/usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.man</filename>, |
| 626 |
&man.groff.font.5;, |
697 |
&man.groff.font.5;, &man.groff.char.7;, &man.pfbtops.1;.</para> |
| 627 |
&man.groff.char.7;, |
698 |
</sect1> |
| 628 |
&man.pfbtops.1;.</para> |
|
|
| 629 |
|
| 630 |
</sect1> |
| 631 |
|
699 |
|
| 632 |
<sect1> |
700 |
<sect1> |
| 633 |
<title>Converting TrueType fonts to a groff/postscript format for |
701 |
<title>Converting TrueType fonts to a groff/postscript format for |
|
Lines 635-657
Link Here
|
| 635 |
|
703 |
|
| 636 |
<para>This potentially requires a bit of work, simply because it |
704 |
<para>This potentially requires a bit of work, simply because it |
| 637 |
depends on some utilities that are not installed as part of the |
705 |
depends on some utilities that are not installed as part of the |
| 638 |
base system. They are:</para> |
706 |
base system. They are:</para> |
| 639 |
|
707 |
|
| 640 |
<variablelist> |
708 |
<variablelist> |
| 641 |
<varlistentry> |
709 |
<varlistentry> |
| 642 |
<term><command>ttf2pf</command></term> |
710 |
<term><command>ttf2pf</command></term> |
| 643 |
|
711 |
|
| 644 |
<listitem> |
712 |
<listitem> |
| 645 |
<para>TrueType to postscript convertsion utilities. This |
713 |
<para>TrueType to postscript convertsion utilities. This |
| 646 |
allows conversion of a TrueType font to an ascii font |
714 |
allows conversion of a TrueType font to an ascii font |
| 647 |
metric (<filename>.afm</filename>) file.</para> |
715 |
metric (<filename>.afm</filename>) file.</para> |
| 648 |
|
716 |
|
| 649 |
<para>Currently available at <ulink |
717 |
<para>Currently available at <ulink |
| 650 |
url="http://sunsite.icm.edu.pl/pub/GUST/contrib/BachoTeX98/ttf2pf/">http://sunsite.icm.edu.pl/pub/GUST/contrib/BachoTeX98/ttf2pf</ulink>. |
718 |
url="http://sunsite.icm.edu.pl/pub/GUST/contrib/BachoTeX98/ttf2pf/">http://sunsite.icm.edu.pl/pub/GUST/contrib/BachoTeX98/ttf2pf</ulink>. |
| 651 |
Note: These files are postscript programs and must be |
719 |
Note: These files are postscript programs and must be |
| 652 |
downloaded to disk by holding down the |
720 |
downloaded to disk by holding down the |
| 653 |
<keycap>Shift</keycap> key when clicking on the |
721 |
<keycap>Shift</keycap> key when clicking on the link. |
| 654 |
link. Otherwise, your browser may try to launch |
722 |
Otherwise, your browser may try to launch |
| 655 |
<application>ghostview</application> to view them.</para> |
723 |
<application>ghostview</application> to view them.</para> |
| 656 |
|
724 |
|
| 657 |
<para>The files of interest are:</para> |
725 |
<para>The files of interest are:</para> |
|
Lines 673-680
Link Here
|
| 673 |
<para>The funny upper/lower case is due to their being |
741 |
<para>The funny upper/lower case is due to their being |
| 674 |
intended also for DOS shells. |
742 |
intended also for DOS shells. |
| 675 |
<filename>ttf2pf.ps</filename> makes use of the others as |
743 |
<filename>ttf2pf.ps</filename> makes use of the others as |
| 676 |
upper case, so any renaming must be consistent with |
744 |
upper case, so any renaming must be consistent with this. |
| 677 |
this. (Actually, <filename>GS_TTF.PS</filename> and |
745 |
(Actually, <filename>GS_TTF.PS</filename> and |
| 678 |
<filename>PFS2AFM.PS</filename> are supposedly part of the |
746 |
<filename>PFS2AFM.PS</filename> are supposedly part of the |
| 679 |
ghostscript distribution, but it's just as easy to use |
747 |
ghostscript distribution, but it's just as easy to use |
| 680 |
these as an isolated utility. FreeBSD doesn't seem to |
748 |
these as an isolated utility. FreeBSD doesn't seem to |
|
Lines 689-695
Link Here
|
| 689 |
|
757 |
|
| 690 |
<listitem> |
758 |
<listitem> |
| 691 |
<para>Creates font files for use with groff from ascii font |
759 |
<para>Creates font files for use with groff from ascii font |
| 692 |
metrics file. This usually resides in the directory, |
760 |
metrics file. This usually resides in the directory, |
| 693 |
<filename>/usr/src/contrib/groff/afmtodit</filename>, and |
761 |
<filename>/usr/src/contrib/groff/afmtodit</filename>, and |
| 694 |
requires some work to get going.</para> |
762 |
requires some work to get going.</para> |
| 695 |
|
763 |
|
|
Lines 700-711
Link Here
|
| 700 |
location.</para> |
768 |
location.</para> |
| 701 |
</note> |
769 |
</note> |
| 702 |
|
770 |
|
| 703 |
<para>In the work area, you'll need to make the |
771 |
<para>In the work area, you'll need to make the utility. |
| 704 |
utility. Just type:</para> |
772 |
Just type:</para> |
| 705 |
|
773 |
|
| 706 |
<screen> |
774 |
<screen> |
| 707 |
<prompt>#</prompt> <userinput>make -f Makefile.sub afmtodit</userinput> |
775 |
<prompt>#</prompt> <userinput>make -f Makefile.sub afmtodit</userinput> |
| 708 |
</screen> |
776 |
</screen> |
| 709 |
|
777 |
|
| 710 |
<para>You may also need to copy |
778 |
<para>You may also need to copy |
| 711 |
<filename>/usr/contrib/groff/devps/generate/textmap</filename> |
779 |
<filename>/usr/contrib/groff/devps/generate/textmap</filename> |
|
Lines 724-732
Link Here
|
| 724 |
<para>Create the <filename>.afm</filename> file by |
792 |
<para>Create the <filename>.afm</filename> file by |
| 725 |
typing:</para> |
793 |
typing:</para> |
| 726 |
|
794 |
|
| 727 |
<screen> |
795 |
<screen> |
| 728 |
<prompt>%</prompt> <userinput>gs <optional>-dNODISPLAY</optional> <optional>-q</optional> -- ttf2pf.ps <replaceable>TTF_name</replaceable> <optional><replaceable>PS_font_name</replaceable> <optional><replaceable>AFM_name</replaceable></optional></optional></userinput> |
796 |
<prompt>%</prompt> <userinput>gs <optional>-dNODISPLAY</optional> <optional>-q</optional> -- ttf2pf.ps <replaceable>TTF_name</replaceable> <optional><replaceable>PS_font_name</replaceable> <optional><replaceable>AFM_name</replaceable></optional></optional></userinput> |
| 729 |
</screen> |
797 |
</screen> |
| 730 |
|
798 |
|
| 731 |
<para>Where, <replaceable>TTF_name</replaceable> is your |
799 |
<para>Where, <replaceable>TTF_name</replaceable> is your |
| 732 |
TrueType font file, <replaceable>PS_font_name</replaceable> |
800 |
TrueType font file, <replaceable>PS_font_name</replaceable> |
|
Lines 739-770
Link Here
|
| 739 |
|
807 |
|
| 740 |
<para>This also produces a <filename>.pfa</filename> file, the |
808 |
<para>This also produces a <filename>.pfa</filename> file, the |
| 741 |
ascii postscript font metrics file |
809 |
ascii postscript font metrics file |
| 742 |
(<filename>.pfb</filename> is for the binrary form). This |
810 |
(<filename>.pfb</filename> is for the binrary form). This |
| 743 |
won't be needed, but could (I think) be useful for a |
811 |
won't be needed, but could (I think) be useful for a |
| 744 |
fontserver.</para> |
812 |
fontserver.</para> |
| 745 |
|
813 |
|
| 746 |
<para>For example, to convert the 30f9 Barcode font using the |
814 |
<para>For example, to convert the 30f9 Barcode font using the |
| 747 |
default file names, use the following command:</para> |
815 |
default file names, use the following command:</para> |
| 748 |
|
816 |
|
| 749 |
<screen> |
817 |
<screen> |
| 750 |
<prompt>%</prompt> <userinput>gs -dNODISPLAY -- ttf2pf.ps 3of9.ttf</userinput> |
818 |
<prompt>%</prompt> <userinput>gs -dNODISPLAY -- ttf2pf.ps 3of9.ttf</userinput> |
| 751 |
Aladdin Ghostscript 5.10 (1997-11-23) |
819 |
Aladdin Ghostscript 5.10 (1997-11-23) |
| 752 |
Copyright (C) 1997 Aladdin Enterprises, Menlo Park, CA. All rights reserved. |
820 |
Copyright (C) 1997 Aladdin Enterprises, Menlo Park, CA. All rights reserved. |
| 753 |
This software comes with NO WARRANTY: see the file PUBLIC for details. |
821 |
This software comes with NO WARRANTY: see the file PUBLIC for details. |
| 754 |
Converting 3of9.ttf to 3of9.pfa and 3of9.afm. |
822 |
Converting 3of9.ttf to 3of9.pfa and 3of9.afm. |
| 755 |
</screen> |
823 |
</screen> |
| 756 |
|
824 |
|
| 757 |
<para>If you want the converted fonts to be stored in |
825 |
<para>If you want the converted fonts to be stored in |
| 758 |
<filename>A.pfa</filename> and <filename>B.afm</filename>, |
826 |
<filename>A.pfa</filename> and <filename>B.afm</filename>, |
| 759 |
then use this command:</para> |
827 |
then use this command:</para> |
| 760 |
|
828 |
|
| 761 |
<screen> |
829 |
<screen> |
| 762 |
<prompt>%</prompt> <userinput>gs -dNODISPLAY -- ttf2pf.ps 3of9.ttf A B</userinput> |
830 |
<prompt>%</prompt> <userinput>gs -dNODISPLAY -- ttf2pf.ps 3of9.ttf A B</userinput> |
| 763 |
Aladdin Ghostscript 5.10 (1997-11-23) |
831 |
Aladdin Ghostscript 5.10 (1997-11-23) |
| 764 |
Copyright (C) 1997 Aladdin Enterprises, Menlo Park, CA. All rights reserved. |
832 |
Copyright (C) 1997 Aladdin Enterprises, Menlo Park, CA. All rights reserved. |
| 765 |
This software comes with NO WARRANTY: see the file PUBLIC for details. |
833 |
This software comes with NO WARRANTY: see the file PUBLIC for details. |
| 766 |
Converting 3of9.ttf to A.pfa and B.afm. |
834 |
Converting 3of9.ttf to A.pfa and B.afm. |
| 767 |
</screen> |
835 |
</screen> |
| 768 |
</listitem> |
836 |
</listitem> |
| 769 |
|
837 |
|
| 770 |
<listitem> |
838 |
<listitem> |
|
Lines 772-805
Link Here
|
| 772 |
|
840 |
|
| 773 |
<para>Change directories to |
841 |
<para>Change directories to |
| 774 |
<filename>/usr/share/groff_font/devps</filename> so as to |
842 |
<filename>/usr/share/groff_font/devps</filename> so as to |
| 775 |
make the following command easier to execute. You'll |
843 |
make the following command easier to execute. You'll |
| 776 |
probably need root priviledges for this. (Or, if you're |
844 |
probably need root priviledges for this. (Or, if you're |
| 777 |
paranoid about working there, make sure you reference the |
845 |
paranoid about working there, make sure you reference the |
| 778 |
files <filename>DESC</filename>, |
846 |
files <filename>DESC</filename>, |
| 779 |
<filename>text.enc</filename> and |
847 |
<filename>text.enc</filename> and |
| 780 |
<filename>generate/textmap</filename> as being in this |
848 |
<filename>generate/textmap</filename> as being in this |
| 781 |
directory.)</para> |
849 |
directory.)</para> |
| 782 |
|
850 |
|
| 783 |
<screen> |
851 |
<screen> |
| 784 |
<prompt>%</prompt> <userinput>afmtodit -d DESC -e text.enc file.afm \ |
852 |
<prompt>%</prompt> <userinput>afmtodit -d DESC -e text.enc file.afm \ |
| 785 |
generate/textmap <replaceable>PS_font_name</replaceable></userinput> |
853 |
generate/textmap <replaceable>PS_font_name</replaceable></userinput> |
| 786 |
</screen> |
854 |
</screen> |
| 787 |
|
855 |
|
| 788 |
<para>Where, <filename>file.afm</filename> is the |
856 |
<para>Where, <filename>file.afm</filename> is the |
| 789 |
<replaceable>AFM_name</replaceable> created by |
857 |
<replaceable>AFM_name</replaceable> created by |
| 790 |
<command>ttf2pf.ps</command> above, and |
858 |
<command>ttf2pf.ps</command> above, and |
| 791 |
<replaceable>PS_font_name</replaceable> is the font name |
859 |
<replaceable>PS_font_name</replaceable> is the font name |
| 792 |
used from that command, as well as the name that |
860 |
used from that command, as well as the name that |
| 793 |
&man.groff.1; |
861 |
&man.groff.1; will use for references to this font. For |
| 794 |
will use for references to this font. For example, assuming |
862 |
example, assuming you used the first |
| 795 |
you used the first <command>tiff2pf.ps</command> command |
863 |
<command>tiff2pf.ps</command> command above, then the 3of9 |
| 796 |
above, then the 3of9 Barcode font can be created using the |
864 |
Barcode font can be created using the command:</para> |
| 797 |
command:</para> |
|
|
| 798 |
|
865 |
|
| 799 |
<screen> |
866 |
<screen> |
| 800 |
<prompt>%</prompt> <userinput>afmtodit -d DESC -e text.enc 3of9.afm \ |
867 |
<prompt>%</prompt> <userinput>afmtodit -d DESC -e text.enc 3of9.afm \ |
| 801 |
generate/textmap 3of9</userinput> |
868 |
generate/textmap 3of9</userinput> |
| 802 |
</screen> |
869 |
</screen> |
| 803 |
|
870 |
|
| 804 |
<para>Ensure that the resulting |
871 |
<para>Ensure that the resulting |
| 805 |
<replaceable>PS_font_name</replaceable> file (e.g., |
872 |
<replaceable>PS_font_name</replaceable> file (e.g., |
|
Lines 814-950
Link Here
|
| 814 |
<filename>.afm</filename> file prior to running |
881 |
<filename>.afm</filename> file prior to running |
| 815 |
<command>afmtodit</command>. This name must also match the |
882 |
<command>afmtodit</command>. This name must also match the |
| 816 |
one used in the Fontmap file if you wish to pipe |
883 |
one used in the Fontmap file if you wish to pipe |
| 817 |
&man.groff.1; into |
884 |
&man.groff.1; into &man.gs.1;.</para> |
| 818 |
&man.gs.1;.</para> |
|
|
| 819 |
</listitem> |
885 |
</listitem> |
| 820 |
</orderedlist> |
886 |
</orderedlist> |
| 821 |
</sect1> |
887 |
</sect1> |
| 822 |
|
888 |
|
| 823 |
<sect1> |
889 |
<sect1> |
| 824 |
<title>Can TrueType fonts be used with other programs?</title> |
890 |
<title>Can TrueType fonts be used with other programs?</title> |
|
|
891 |
|
| 892 |
<para>The TrueType font format is used by Windows, Windows 95, and |
| 893 |
Mac's. It is quite popular and there are a great number of |
| 894 |
fonts available in this format.</para> |
| 895 |
|
| 896 |
<para>Unfortunately, there are few applications that I am aware of |
| 897 |
that can use this format: Ghostscript and Povray come to mind. |
| 898 |
Ghostscript's support, according to the documentation, is |
| 899 |
rudimentary and the results are likely to be inferior to type 1 |
| 900 |
fonts. Povray version 3 also has the ability to use TrueType |
| 901 |
fonts, but I rather doubt many people will be creating documents |
| 902 |
as a series of raytraced pages :-).</para> |
| 903 |
|
| 904 |
<para>This rather dismal situation may soon change. The <ulink |
| 905 |
url="http://www.freetype.org/">FreeType Project</ulink> is |
| 906 |
currently developing a useful set of FreeType tools:</para> |
| 907 |
|
| 908 |
<itemizedlist> |
| 909 |
<listitem> |
| 910 |
<para>The <command>xfsft</command> font server for X11 can |
| 911 |
serve TrueType fonts in addition to regular fonts. Though |
| 912 |
currently in beta, it is said to be quite useable. See |
| 913 |
<ulink |
| 914 |
url="http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/">Juliusz |
| 915 |
Chroboczek's page</ulink> for further information. |
| 916 |
Porting instructions for FreeBSD can be found at <ulink |
| 917 |
url="http://math.missouri.edu/~stephen/software/">Stephen |
| 918 |
Montgomery's software page</ulink>.</para> |
| 919 |
</listitem> |
| 920 |
|
| 921 |
<listitem> |
| 922 |
<para><command>xfstt</command> is another font server for X11, |
| 923 |
available under <ulink url=" |
| 924 |
ftp://sunsite.unc.edu/pub/Linux/X11/fonts"> |
| 925 |
ftp://sunsite.unc.edu/pub/Linux/X11/fonts</ulink>.</para> |
| 926 |
</listitem> |
| 927 |
|
| 928 |
<listitem> |
| 929 |
<para>A program called <command>ttf2bdf</command> can produce |
| 930 |
BDF files suitable for use in an X environment from TrueType |
| 931 |
files. Linux binaries are said to be available from <ulink |
| 932 |
url="ftp://crl.nmsu.edu/CLR/multiling/General">ftp://crl.nmsu.edu/CLR/multiling/General/</ulink>.</para> |
| 933 |
</listitem> |
| 934 |
|
| 935 |
<listitem> |
| 936 |
<para>For people requiring the use of Asian TrueType fonts, |
| 937 |
the <command>XTT</command> font server may be worth a look. |
| 938 |
Information about <command>XTT</command> can be found at |
| 939 |
URL: <ulink |
| 940 |
url="http://hawk.ise.chuo-u.ac.jp/student/person/tshiozak/study/freebsd-at-random/x-tt/index-en.html">http://hawk.ise.chuo-u.ac.jp/student/person/tshiozak/study/freebsd-at-random/x-tt/index-en.html</ulink>.</para> |
| 941 |
</listitem> |
| 942 |
|
| 943 |
<listitem> |
| 944 |
<para>and others …</para> |
| 945 |
</listitem> |
| 946 |
</itemizedlist> |
| 947 |
|
| 948 |
<para>The <ulink |
| 949 |
url="http://www.freetype.org/projects.htm">FreeType Projects |
| 950 |
page </ulink> is a good starting point for information on |
| 951 |
these and other free TrueType projects.</para> |
| 952 |
</sect1> |
| 953 |
|
| 954 |
<sect1> |
| 955 |
<title>Where can additional fonts be obtained?</title> |
| 956 |
|
| 957 |
<para>Many fonts are available on the Internet. They are either |
| 958 |
entirely free, or are share-ware. In addition, there are many |
| 959 |
inexpensive CDROMs available that contain many fonts. Some |
| 960 |
Internet locations (as of August 1996) are:</para> |
| 961 |
|
| 962 |
<itemizedlist> |
| 963 |
<listitem> |
| 964 |
<para><ulink |
| 965 |
url="ftp://ftp.winsite.com">ftp://ftp.winsite.com</ulink> |
| 966 |
(Formerly CICA)</para> |
| 967 |
</listitem> |
| 968 |
|
| 969 |
<listitem> |
| 970 |
<para><ulink |
| 971 |
url="http://www.simtel.net/simcgi-bin/dosfind.cgi">http://www.simtel.net/simcgi-bin/dosfind.cgi</ulink></para> |
| 972 |
</listitem> |
| 973 |
|
| 974 |
<listitem> |
| 975 |
<para><ulink |
| 976 |
url="ftp://ftp.coast.net/">ftp://ftp.coast.net/</ulink></para> |
| 977 |
</listitem> |
| 978 |
|
| 979 |
<listitem> |
| 980 |
<para><ulink |
| 981 |
url="http://af-pc-plloyd.ecel.uwa.edu.au/fonts/index.html">http://af-pc-plloyd.ecel.uwa.edu.au/fonts/index.html</ulink></para> |
| 982 |
</listitem> |
| 983 |
|
| 984 |
<listitem> |
| 985 |
<para><ulink |
| 986 |
url="http://www.esselte.com/letraset/index.html">http://www.esselte.com/letraset/index.html</ulink></para> |
| 987 |
</listitem> |
| 988 |
|
| 989 |
<listitem> |
| 990 |
<para><ulink |
| 991 |
url="http://www.inil.com/users/elfring/esf.htm">http://www.inil.com/users/elfring/esf.htm</ulink></para> |
| 992 |
</listitem> |
| 993 |
</itemizedlist> |
| 994 |
</sect1> |
| 995 |
|
| 996 |
<sect1> |
| 997 |
<title>Additional questions</title> |
| 998 |
|
| 999 |
<itemizedlist> |
| 1000 |
<listitem> |
| 1001 |
<para>What use are the <filename>.pfm</filename> files?</para> |
| 1002 |
</listitem> |
| 1003 |
|
| 1004 |
<listitem> |
| 1005 |
<para>Can one generate the <filename>.afm</filename> file from |
| 1006 |
a <filename>.pfa</filename> or |
| 1007 |
<filename>.pfb</filename>?</para> |
| 1008 |
</listitem> |
| 825 |
|
1009 |
|
| 826 |
<para>The TrueType font format is used by Windows, Windows 95, and |
1010 |
<listitem> |
| 827 |
Mac's. It is quite popular and there are a great number of |
1011 |
<para>How to generate the groff character mapping files for |
| 828 |
fonts available in this format.</para> |
1012 |
postscript fonts with non-standard character names?</para> |
| 829 |
|
1013 |
</listitem> |
| 830 |
<para>Unfortunately, there are few applications that I am aware of |
1014 |
|
| 831 |
that can use this format: Ghostscript and Povray come to mind. |
1015 |
<listitem> |
| 832 |
Ghostscript's support, according to the documentation, is rudimentary |
1016 |
<para>Can xditview and devX?? devices be setup to access all |
| 833 |
and the results are likely to be inferior to type 1 fonts. |
1017 |
the new fonts?</para> |
| 834 |
Povray version 3 also has the ability to use TrueType fonts, but |
1018 |
</listitem> |
| 835 |
I rather doubt many people will be creating documents as a series of |
1019 |
|
| 836 |
raytraced pages :-).</para> |
1020 |
<listitem> |
| 837 |
|
1021 |
<para>It would be good to have examples of using TrueType |
| 838 |
<para>This rather dismal situation may soon change. |
1022 |
fonts with povray and ghostscript.</para> |
| 839 |
The <ulink url="http://www.freetype.org/">FreeType Project</ulink> |
1023 |
</listitem> |
| 840 |
is currently developing a useful set of FreeType tools: |
1024 |
</itemizedlist> |
| 841 |
</para> |
1025 |
</sect1> |
| 842 |
<itemizedlist> |
|
|
| 843 |
<listitem> |
| 844 |
<para>The <command>xfsft</command> font server for X11 can serve |
| 845 |
TrueType fonts in addition to regular fonts. Though currently in |
| 846 |
beta, it is said to be quite useable. See <ulink |
| 847 |
url="http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/">Juliusz |
| 848 |
Chroboczek's page</ulink> for further information. Porting instructions |
| 849 |
for FreeBSD can be found at <ulink |
| 850 |
url="http://math.missouri.edu/~stephen/software/">Stephen Montgomery's |
| 851 |
software page</ulink>. |
| 852 |
</para> |
| 853 |
</listitem> |
| 854 |
<listitem> |
| 855 |
<para><command>xfstt</command> is another font |
| 856 |
server for X11, available under <ulink |
| 857 |
url=" ftp://sunsite.unc.edu/pub/Linux/X11/fonts"> |
| 858 |
ftp://sunsite.unc.edu/pub/Linux/X11/fonts</ulink>. |
| 859 |
</para> |
| 860 |
</listitem> |
| 861 |
<listitem><para>A program called <command>ttf2bdf</command> can produce |
| 862 |
BDF files suitable for use in an X environment from TrueType files. Linux |
| 863 |
binaries are said to be available from <ulink |
| 864 |
url="ftp://crl.nmsu.edu/CLR/multiling/General">ftp://crl.nmsu.edu/CLR/multiling/General/</ulink>. |
| 865 |
</para> |
| 866 |
</listitem> |
| 867 |
<listitem> |
| 868 |
<para> |
| 869 |
For people requiring the use of Asian TrueType fonts, the |
| 870 |
<command>XTT</command> font server may be worth a look. Information about |
| 871 |
<command>XTT</command> can be found at URL: <ulink |
| 872 |
url="http://hawk.ise.chuo-u.ac.jp/student/person/tshiozak/study/freebsd-at-random/x-tt/index-en.html">http://hawk.ise.chuo-u.ac.jp/student/person/tshiozak/study/freebsd-at-random/x-tt/index-en.html</ulink>. |
| 873 |
</para> |
| 874 |
</listitem> |
| 875 |
<listitem> |
| 876 |
<para>and others …</para> |
| 877 |
</listitem> |
| 878 |
</itemizedlist> |
| 879 |
<para> |
| 880 |
The |
| 881 |
<ulink url="http://www.freetype.org/projects.htm">FreeType Projects page |
| 882 |
</ulink> is a good starting point for information on these and other |
| 883 |
free TrueType projects. |
| 884 |
</para> |
| 885 |
</sect1> |
| 886 |
|
| 887 |
<sect1> |
| 888 |
<title>Where can additional fonts be obtained?</title> |
| 889 |
|
| 890 |
<para>Many fonts are available on the Internet. They are either |
| 891 |
entirely free, or are share-ware. In addition, there are many |
| 892 |
inexpensive CDROMs available that contain many fonts. Some Internet |
| 893 |
locations (as of August 1996) are: |
| 894 |
</para> |
| 895 |
<itemizedlist> |
| 896 |
|
| 897 |
<listitem><para><ulink |
| 898 |
url="ftp://ftp.winsite.com">ftp://ftp.winsite.com</ulink> (Formerly |
| 899 |
CICA)</para></listitem> |
| 900 |
|
| 901 |
<listitem><para><ulink |
| 902 |
url="http://www.simtel.net/simcgi-bin/dosfind.cgi">http://www.simtel.net/simcgi-bin/dosfind.cgi</ulink></para></listitem> |
| 903 |
|
| 904 |
<listitem><para><ulink |
| 905 |
url="ftp://ftp.coast.net/">ftp://ftp.coast.net/</ulink></para></listitem> |
| 906 |
|
| 907 |
<listitem><para><ulink |
| 908 |
url="http://af-pc-plloyd.ecel.uwa.edu.au/fonts/index.html">http://af-pc-plloyd.ecel.uwa.edu.au/fonts/index.html</ulink></para></listitem> |
| 909 |
|
| 910 |
<listitem><para><ulink |
| 911 |
url="http://www.esselte.com/letraset/index.html">http://www.esselte.com/letraset/index.html</ulink></para></listitem> |
| 912 |
|
| 913 |
<listitem><para><ulink |
| 914 |
url="http://www.inil.com/users/elfring/esf.htm">http://www.inil.com/users/elfring/esf.htm</ulink></para></listitem> |
| 915 |
|
| 916 |
</itemizedlist> |
| 917 |
|
| 918 |
</sect1> |
| 919 |
|
| 920 |
<sect1> |
| 921 |
<title>Additional questions</title> |
| 922 |
|
| 923 |
<itemizedlist> |
| 924 |
|
| 925 |
<listitem> |
| 926 |
<para>What use are the <filename>.pfm</filename> files?</para> |
| 927 |
</listitem> |
| 928 |
|
| 929 |
<listitem> |
| 930 |
<para>Can one generate the <filename>.afm</filename> file from a <filename>.pfa</filename> or <filename>.pfb</filename>?</para> |
| 931 |
</listitem> |
| 932 |
|
| 933 |
<listitem> |
| 934 |
<para>How to generate the groff character mapping files for postscript fonts |
| 935 |
with non-standard character names?</para> |
| 936 |
</listitem> |
| 937 |
|
| 938 |
<listitem> |
| 939 |
<para>Can xditview and devX?? devices be setup to access all the new fonts?</para> |
| 940 |
</listitem> |
| 941 |
|
| 942 |
<listitem> |
| 943 |
<para>It would be good to have examples of using TrueType fonts with povray and |
| 944 |
ghostscript.</para> |
| 945 |
</listitem> |
| 946 |
|
| 947 |
</itemizedlist> |
| 948 |
|
| 949 |
</sect1> |
| 950 |
</article> |
1026 |
</article> |