Markup and minor content changes to fonts article - no whitespace
changes. Remove <para>-enwrapped lists, use man-ref entities for man page references, and a few other minor nits. PR: docs/14197 Submitted by: Neil Blakey-Milner <nbm@rucus.ru.ac.za>
This commit is contained in:
parent
8e1a8ece3f
commit
1a2036e2e3
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=5823
2 changed files with 108 additions and 106 deletions
|
@ -1,6 +1,9 @@
|
|||
<!-- $FreeBSD: doc/en_US.ISO_8859-1/articles/fonts/article.sgml,v 1.4 1999/09/06 06:52:36 peter Exp $ -->
|
||||
<!-- $FreeBSD: doc/en_US.ISO_8859-1/articles/fonts/article.sgml,v 1.5 1999/10/04 21:31:02 jesusr Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN">
|
||||
<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
|
||||
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
|
||||
%man;
|
||||
]>
|
||||
|
||||
<!-- Recently, I wanted to figure out how to use some additional fonts that
|
||||
I had accumulated. I finally figured out *how to do it* from the various
|
||||
|
@ -62,6 +65,7 @@ interested.</para>
|
|||
|
||||
<para>There are many different font formats and associated font file
|
||||
suffixes. A few that will be addressed here are:
|
||||
</para>
|
||||
<variablelist>
|
||||
|
||||
<varlistentry><term><filename>.pfa</>, <filename>.pfb</></term>
|
||||
|
@ -104,7 +108,7 @@ actual font)</para></listitem>
|
|||
<listitem><para>Bitmapped screen fonts</para></listitem>
|
||||
|
||||
</varlistentry>
|
||||
</variablelist></para>
|
||||
</variablelist>
|
||||
|
||||
<para>The <filename>.fot</filename> file is used by Windows as sort
|
||||
of a symbolic link to the actual TrueType font
|
||||
|
@ -122,11 +126,9 @@ being used. FreeBSD by itself uses no fonts. Application programs
|
|||
and/or drivers may make use of the font files. Here is a small cross
|
||||
reference of application/driver to the font type suffixes:</para>
|
||||
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry><term>Driver</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry><term>syscons</term>
|
||||
<listitem>
|
||||
|
@ -135,7 +137,6 @@ reference of application/driver to the font type suffixes:</para>
|
|||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -143,7 +144,6 @@ reference of application/driver to the font type suffixes:</para>
|
|||
<varlistentry><term>Application</term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry><term>Ghostscript</term>
|
||||
<listitem>
|
||||
|
@ -176,12 +176,10 @@ reference of application/driver to the font type suffixes:</para>
|
|||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
<para>The <filename>.fnt</filename> suffix is used quite frequently.
|
||||
I suspect that whenever someone wanted to create a specialized font
|
||||
|
@ -201,31 +199,32 @@ FreeBSD.</para>
|
|||
|
||||
<para>First, a 8x8 font must be loaded.
|
||||
<filename>/etc/sysconfig</filename> should contain the lines:
|
||||
</para>
|
||||
<informalexample>
|
||||
<programlisting># Choose font 8x8 from /usr/share/syscons/fonts/* (or NO for default)
|
||||
font8x8=/usr/share/syscons/fonts/cp437-8x8.fnt</programlisting>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>The command to actually switch the mode is
|
||||
<citerefentry><refentrytitle>vidcontrol</><manvolnum>1</></>:
|
||||
&man.vidcontrol.1:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen>bash$ <userinput>vidcontrol VGA_80x60</userinput></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>Various screen orientated programs, such as
|
||||
<citerefentry><refentrytitle>vi</><manvolnum>1</></>, must be able to
|
||||
&man.vi.1, must be able to
|
||||
determine the current screen dimensions. These can be set with
|
||||
<citerefentry><refentrytitle>stty</><manvolnum>1</></>:
|
||||
&man.stty.1;:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen>bash$ <userinput>stty crt rows 60 columns 80</userinput></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>To make this more seamless, one can embed these commands in the
|
||||
startup scripts so it takes place when the system boots. One way to
|
||||
do this is:
|
||||
</para>
|
||||
<orderedlist>
|
||||
|
||||
<listitem>
|
||||
|
@ -234,16 +233,18 @@ do this is:
|
|||
|
||||
<listitem>
|
||||
<para>Add to <filename>/etc/rc.local</filename>:
|
||||
</para>
|
||||
<informalexample>
|
||||
<programlisting>for tty in /dev/ttyv?
|
||||
do
|
||||
vidcontrol VGA_80x60 <$tty >/dev/null 2>&1
|
||||
done</programlisting>
|
||||
</informalexample></para>
|
||||
</informalexample>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Add to <filename>/etc/profile</filename>:
|
||||
</para>
|
||||
<informalexample>
|
||||
<programlisting>TTYNAME=`basename \`tty\``
|
||||
if expr "$TTYNAME" : 'ttyv' >/dev/null
|
||||
|
@ -251,15 +252,13 @@ then
|
|||
stty crt rows 60 columns 80
|
||||
fi</programlisting>
|
||||
</informalexample>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</orderedlist>
|
||||
</para>
|
||||
|
||||
<para>References:
|
||||
<citerefentry><refentrytitle>stty</><manvolnum>1</></>,
|
||||
<citerefentry><refentrytitle>vidcontrol</><manvolnum>1</></>.</para>
|
||||
&man.stty.1;,
|
||||
&man.vidcontrol.1;.</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
|
@ -280,6 +279,7 @@ directory and use a symbolic link to the additional font. This
|
|||
allows one to more easily keep track of ones fonts without confusing
|
||||
them with the fonts that were originally provided. For
|
||||
example:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen><lineannotation>Create a directory to contain the font files</>
|
||||
bash$ <userinput>mkdir -p /usr/local/share/fonts/type1</>
|
||||
|
@ -294,11 +294,11 @@ bash$ <userinput>cp /cdrom/fonts/atm/showboat/showboat.afm .</>
|
|||
<lineannotation>Maintain an index to cross reference the fonts</>
|
||||
bash$ <userinput>echo showboat - InfoMagic CICA, Dec 1994, /fonts/atm/showboat >>INDEX</></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>Now, to use a new font with X11, one must make the font file
|
||||
available and update the font name files. The X11 font names look
|
||||
like:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen>-bitstream-charter-medium-r-normal-xxx-0-0-0-0-p-0-iso8859-1
|
||||
| | | | | | | | | | | | \ \
|
||||
|
@ -312,14 +312,14 @@ like:
|
|||
| | | \ \ \
|
||||
foundry family weight slant width additional style</screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>A new name needs to be created for each new font. If you have
|
||||
some information from the documentation that accompanied the font,
|
||||
then it could serve as the basis for creating the name. If there is
|
||||
no information, then you can get some idea by using
|
||||
<citerefentry><refentrytitle>strings</><manvolnum>1</></> on the font
|
||||
&man.strings.1; on the font
|
||||
file. For example:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen>bash$ <userinput>strings showboat.pfb | more</>
|
||||
%!FontType1-1.0: Showboat 001.001
|
||||
|
@ -346,15 +346,16 @@ FontDirectory/Showboat known{/Showboat findfont dup/UniqueID known{dup
|
|||
end readonly def
|
||||
/FontName /Showboat def
|
||||
--stdin--</screen>
|
||||
</informalexample></para>
|
||||
</informalexample>
|
||||
|
||||
<para>Using this information, a possible name might be:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen>-type1-Showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1</screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>The components of our name are:
|
||||
</para>
|
||||
<variablelist>
|
||||
|
||||
<varlistentry><term>Foundry</term>
|
||||
|
@ -409,7 +410,6 @@ is used since <emphasis>isFixedPitch</emphasis> is false.</para>
|
|||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
<para>All of these names are arbitrary, but one should strive to be
|
||||
compatible with the existing conventions. A font is referenced by
|
||||
|
@ -423,6 +423,7 @@ as the name, and then use
|
|||
and adjust the name based on the appearance of the font.</para>
|
||||
|
||||
<para>So, to complete our example:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen><lineannotation>Make the font accessible to X11</>
|
||||
bash$ <userinput>cd /usr/X11R6/lib/X11/fonts/Type1</>
|
||||
|
@ -450,11 +451,10 @@ bash$ <userinput>xset fp rehash</>
|
|||
<lineannotation>Examine the new font</>
|
||||
bash$ <userinput>xfontsel -pattern -type1-*</></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>References:
|
||||
<citerefentry><refentrytitle>xfontsel</><manvolnum>1</></>,
|
||||
<citerefentry><refentrytitle>xset</><manvolnum>1</></>,
|
||||
&man.xfontsel.1;,
|
||||
&man.xset.1;,
|
||||
<citetitle>The X Windows System in a Nutshell</>, <ulink
|
||||
URL="http://www.ora.com/">O'Reilly & Associates</ulink>.</para>
|
||||
|
||||
|
@ -469,6 +469,7 @@ file. This must be modified in a similar way to the X11
|
|||
<filename>.pfa</filename> or the <filename>.pfb</filename> format
|
||||
fonts. Using the font from the previous example, here is how to use
|
||||
it with Ghostscript:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen><lineannotation>Put the font in Ghostscript's font directory</>
|
||||
bash$ <userinput>cd /usr/local/share/ghostscript/fonts</>
|
||||
|
@ -498,7 +499,6 @@ Loading Showboat font from /usr/local/share/ghostscript/fonts/showboat.pfb...
|
|||
>>showpage, press <return> to continue<<
|
||||
GS><userinput>quit</></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>References: <filename>fonts.txt</filename> in the Ghostscript
|
||||
4.01 distribution</para>
|
||||
|
@ -521,6 +521,7 @@ must be created using tools provided by groff.</para>
|
|||
<para>The first tool is <command>afmtodit</>. This is not normally
|
||||
installed, so it must be retrieved from the source distribution. I
|
||||
found I had to change the first line of the file, so I did:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen>bash$ <userinput>cp /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.pl /tmp</>
|
||||
bash$ <userinput>ex /tmp/afmtodit.pl
|
||||
|
@ -529,11 +530,11 @@ bash$ <userinput>ex /tmp/afmtodit.pl
|
|||
.
|
||||
:wq</></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>This tool will create the groff font file from the metrics file
|
||||
(<filename>.afm</filename> suffix.) Continuing with our
|
||||
example:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen><lineannotation>Many <filename>.afm</> files are in Mac format&hellip ^M delimited lines
|
||||
We need to convert them to unix style ^J delimited lines</>
|
||||
|
@ -545,7 +546,6 @@ bash$ <userinput>cat /usr/local/share/fonts/type1/showboat.afm |
|
|||
bash$ <userinput>cd /usr/share/groff_font/devps</>
|
||||
bash$ <userinput>/tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap SHOWBOAT</></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>The font can now be referenced with the name SHOWBOAT.</para>
|
||||
|
||||
|
@ -560,12 +560,15 @@ and the <filename>download</> file is modified to reference the new
|
|||
font. The <filename>download</> file must reference the internal
|
||||
name of the font. This can easily be determined from the groff font
|
||||
file as illustrated:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen><lineannotation>Create the <filename>.pfa</> font file</>
|
||||
bash$ <userinput>pfbtops /usr/local/share/fonts/type1/showboat.pfb >showboat.pfa</></screen>
|
||||
</informalexample>
|
||||
<para>
|
||||
Of course, if the <filename>.pfa</filename> file is already
|
||||
available, just use a symbolic link to reference it.
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen><lineannotation>Get the internal font name</>
|
||||
bash$ <userinput>fgrep internalname SHOWBOAT</>
|
||||
|
@ -578,9 +581,9 @@ Showboat showboat.pfa
|
|||
.
|
||||
:wq</></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>To test the font:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen>bash$ <userinput>cd /tmp</>
|
||||
bash$ <userinput>cat >example.t <<EOF
|
||||
|
@ -617,13 +620,12 @@ bash$ <userinput>ghostview example.ps</>
|
|||
<lineannotation>To print it</>
|
||||
bash$ <userinput>lpr -Ppostscript example.ps</></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>References:
|
||||
<filename>/usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.man</filename>,
|
||||
<citerefentry><refentrytitle>groff_font</><manvolnum>5</></>,
|
||||
<citerefentry><refentrytitle>groff_char</><manvolnum>5</></>,
|
||||
<citerefentry><refentrytitle>pfbtops</><manvolnum>1</></>.</para>
|
||||
&man.groff.font.5;,
|
||||
&man.groff.char.7;,
|
||||
&man.pfbtops.1;.</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
|
@ -788,7 +790,7 @@ Converting 3of9.ttf to A.pfa and B.afm.
|
|||
<command>ttf2pf.ps</command> above, and
|
||||
<replaceable>PS_font_name</replaceable> is the font name
|
||||
used from that command, as well as the name that
|
||||
<citerefentry> <refentrytitle>groff</><manvolnum>1</></>
|
||||
&man.groff.1;
|
||||
will use for references to this font. For example, assuming
|
||||
you used the first <command>tiff2pf.ps</command> command
|
||||
above, then the 3of9 Barcode font can be created using the
|
||||
|
@ -812,8 +814,8 @@ Converting 3of9.ttf to A.pfa and B.afm.
|
|||
<filename>.afm</filename> file prior to running
|
||||
<command>afmtodit</command>. This name must also match the
|
||||
one used in the Fontmap file if you wish to pipe
|
||||
<citerefentry><refentrytitle>groff</><manvolnum>1</></> into
|
||||
<citerefentry><refentrytitle>gs</><manvolnum>1</></>.</para>
|
||||
&man.groff.1; into
|
||||
&man.gs.1;.</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</sect1>
|
||||
|
@ -836,9 +838,10 @@ raytraced pages :-).</para>
|
|||
<para>This rather dismal situation may soon change.
|
||||
The <ulink url="http://www.freetype.org/">FreeType Project</ulink>
|
||||
is currently developing a useful set of FreeType tools:
|
||||
</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<simpara>The <command>xfsft</command> font server for X11 can serve
|
||||
<para>The <command>xfsft</command> font server for X11 can serve
|
||||
TrueType fonts in addition to regular fonts. Though currently in
|
||||
beta, it is said to be quite useable. See <ulink
|
||||
url="http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/">Juliusz
|
||||
|
@ -846,34 +849,33 @@ Chroboczek's page</ulink> for further information. Porting instructions
|
|||
for FreeBSD can be found at <ulink
|
||||
url="http://math.missouri.edu/~stephen/software/">Stephen Montgomery's
|
||||
software page</ulink>.
|
||||
</simpara>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara><command>xfstt</command> is another font
|
||||
<para><command>xfstt</command> is another font
|
||||
server for X11, available under <ulink
|
||||
url=" ftp://sunsite.unc.edu/pub/Linux/X11/fonts">
|
||||
ftp://sunsite.unc.edu/pub/Linux/X11/fonts</ulink>.
|
||||
</simpara>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem><simpara>A program called <command>ttf2bdf</command> can produce
|
||||
<listitem><para>A program called <command>ttf2bdf</command> can produce
|
||||
BDF files suitable for use in an X environment from TrueType files. Linux
|
||||
binaries are said to be available from <ulink
|
||||
url="ftp://crl.nmsu.edu/CLR/multiling/General">ftp://crl.nmsu.edu/CLR/multiling/General/</ulink>.
|
||||
</simpara>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
<para>
|
||||
For people requiring the use of Asian TrueType fonts, the
|
||||
<command>XTT</command> font server may be worth a look. Information about
|
||||
<command>XTT</command> can be found at URL: <ulink
|
||||
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>.
|
||||
</simpara>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>and others …</simpara>
|
||||
<para>and others …</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
The
|
||||
<ulink url="http://www.freetype.org/projects.htm">FreeType Projects page
|
||||
|
@ -889,6 +891,7 @@ free TrueType projects.
|
|||
entirely free, or are share-ware. In addition, there are many
|
||||
inexpensive CDROMs available that contain many fonts. Some Internet
|
||||
locations (as of August 1996) are:
|
||||
</para>
|
||||
<itemizedlist>
|
||||
|
||||
<listitem><para><ulink
|
||||
|
@ -910,14 +913,13 @@ url="http://www.esselte.com/letraset/index.html">http://www.esselte.com/letraset
|
|||
<listitem><para><ulink
|
||||
url="http://www.inil.com/users/elfring/esf.htm">http://www.inil.com/users/elfring/esf.htm</ulink></para></listitem>
|
||||
|
||||
</itemizedlist></para>
|
||||
</itemizedlist>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1>
|
||||
<title>Additional questions</title>
|
||||
|
||||
<para>
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
|
@ -943,7 +945,6 @@ ghostscript.</para>
|
|||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
</article>
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
<!-- $FreeBSD: doc/en_US.ISO_8859-1/articles/fonts/article.sgml,v 1.4 1999/09/06 06:52:36 peter Exp $ -->
|
||||
<!-- $FreeBSD: doc/en_US.ISO_8859-1/articles/fonts/article.sgml,v 1.5 1999/10/04 21:31:02 jesusr Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN">
|
||||
<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
|
||||
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
|
||||
%man;
|
||||
]>
|
||||
|
||||
<!-- Recently, I wanted to figure out how to use some additional fonts that
|
||||
I had accumulated. I finally figured out *how to do it* from the various
|
||||
|
@ -62,6 +65,7 @@ interested.</para>
|
|||
|
||||
<para>There are many different font formats and associated font file
|
||||
suffixes. A few that will be addressed here are:
|
||||
</para>
|
||||
<variablelist>
|
||||
|
||||
<varlistentry><term><filename>.pfa</>, <filename>.pfb</></term>
|
||||
|
@ -104,7 +108,7 @@ actual font)</para></listitem>
|
|||
<listitem><para>Bitmapped screen fonts</para></listitem>
|
||||
|
||||
</varlistentry>
|
||||
</variablelist></para>
|
||||
</variablelist>
|
||||
|
||||
<para>The <filename>.fot</filename> file is used by Windows as sort
|
||||
of a symbolic link to the actual TrueType font
|
||||
|
@ -122,11 +126,9 @@ being used. FreeBSD by itself uses no fonts. Application programs
|
|||
and/or drivers may make use of the font files. Here is a small cross
|
||||
reference of application/driver to the font type suffixes:</para>
|
||||
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry><term>Driver</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry><term>syscons</term>
|
||||
<listitem>
|
||||
|
@ -135,7 +137,6 @@ reference of application/driver to the font type suffixes:</para>
|
|||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -143,7 +144,6 @@ reference of application/driver to the font type suffixes:</para>
|
|||
<varlistentry><term>Application</term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry><term>Ghostscript</term>
|
||||
<listitem>
|
||||
|
@ -176,12 +176,10 @@ reference of application/driver to the font type suffixes:</para>
|
|||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
<para>The <filename>.fnt</filename> suffix is used quite frequently.
|
||||
I suspect that whenever someone wanted to create a specialized font
|
||||
|
@ -201,31 +199,32 @@ FreeBSD.</para>
|
|||
|
||||
<para>First, a 8x8 font must be loaded.
|
||||
<filename>/etc/sysconfig</filename> should contain the lines:
|
||||
</para>
|
||||
<informalexample>
|
||||
<programlisting># Choose font 8x8 from /usr/share/syscons/fonts/* (or NO for default)
|
||||
font8x8=/usr/share/syscons/fonts/cp437-8x8.fnt</programlisting>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>The command to actually switch the mode is
|
||||
<citerefentry><refentrytitle>vidcontrol</><manvolnum>1</></>:
|
||||
&man.vidcontrol.1:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen>bash$ <userinput>vidcontrol VGA_80x60</userinput></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>Various screen orientated programs, such as
|
||||
<citerefentry><refentrytitle>vi</><manvolnum>1</></>, must be able to
|
||||
&man.vi.1, must be able to
|
||||
determine the current screen dimensions. These can be set with
|
||||
<citerefentry><refentrytitle>stty</><manvolnum>1</></>:
|
||||
&man.stty.1;:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen>bash$ <userinput>stty crt rows 60 columns 80</userinput></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>To make this more seamless, one can embed these commands in the
|
||||
startup scripts so it takes place when the system boots. One way to
|
||||
do this is:
|
||||
</para>
|
||||
<orderedlist>
|
||||
|
||||
<listitem>
|
||||
|
@ -234,16 +233,18 @@ do this is:
|
|||
|
||||
<listitem>
|
||||
<para>Add to <filename>/etc/rc.local</filename>:
|
||||
</para>
|
||||
<informalexample>
|
||||
<programlisting>for tty in /dev/ttyv?
|
||||
do
|
||||
vidcontrol VGA_80x60 <$tty >/dev/null 2>&1
|
||||
done</programlisting>
|
||||
</informalexample></para>
|
||||
</informalexample>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Add to <filename>/etc/profile</filename>:
|
||||
</para>
|
||||
<informalexample>
|
||||
<programlisting>TTYNAME=`basename \`tty\``
|
||||
if expr "$TTYNAME" : 'ttyv' >/dev/null
|
||||
|
@ -251,15 +252,13 @@ then
|
|||
stty crt rows 60 columns 80
|
||||
fi</programlisting>
|
||||
</informalexample>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</orderedlist>
|
||||
</para>
|
||||
|
||||
<para>References:
|
||||
<citerefentry><refentrytitle>stty</><manvolnum>1</></>,
|
||||
<citerefentry><refentrytitle>vidcontrol</><manvolnum>1</></>.</para>
|
||||
&man.stty.1;,
|
||||
&man.vidcontrol.1;.</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
|
@ -280,6 +279,7 @@ directory and use a symbolic link to the additional font. This
|
|||
allows one to more easily keep track of ones fonts without confusing
|
||||
them with the fonts that were originally provided. For
|
||||
example:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen><lineannotation>Create a directory to contain the font files</>
|
||||
bash$ <userinput>mkdir -p /usr/local/share/fonts/type1</>
|
||||
|
@ -294,11 +294,11 @@ bash$ <userinput>cp /cdrom/fonts/atm/showboat/showboat.afm .</>
|
|||
<lineannotation>Maintain an index to cross reference the fonts</>
|
||||
bash$ <userinput>echo showboat - InfoMagic CICA, Dec 1994, /fonts/atm/showboat >>INDEX</></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>Now, to use a new font with X11, one must make the font file
|
||||
available and update the font name files. The X11 font names look
|
||||
like:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen>-bitstream-charter-medium-r-normal-xxx-0-0-0-0-p-0-iso8859-1
|
||||
| | | | | | | | | | | | \ \
|
||||
|
@ -312,14 +312,14 @@ like:
|
|||
| | | \ \ \
|
||||
foundry family weight slant width additional style</screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>A new name needs to be created for each new font. If you have
|
||||
some information from the documentation that accompanied the font,
|
||||
then it could serve as the basis for creating the name. If there is
|
||||
no information, then you can get some idea by using
|
||||
<citerefentry><refentrytitle>strings</><manvolnum>1</></> on the font
|
||||
&man.strings.1; on the font
|
||||
file. For example:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen>bash$ <userinput>strings showboat.pfb | more</>
|
||||
%!FontType1-1.0: Showboat 001.001
|
||||
|
@ -346,15 +346,16 @@ FontDirectory/Showboat known{/Showboat findfont dup/UniqueID known{dup
|
|||
end readonly def
|
||||
/FontName /Showboat def
|
||||
--stdin--</screen>
|
||||
</informalexample></para>
|
||||
</informalexample>
|
||||
|
||||
<para>Using this information, a possible name might be:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen>-type1-Showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1</screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>The components of our name are:
|
||||
</para>
|
||||
<variablelist>
|
||||
|
||||
<varlistentry><term>Foundry</term>
|
||||
|
@ -409,7 +410,6 @@ is used since <emphasis>isFixedPitch</emphasis> is false.</para>
|
|||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
<para>All of these names are arbitrary, but one should strive to be
|
||||
compatible with the existing conventions. A font is referenced by
|
||||
|
@ -423,6 +423,7 @@ as the name, and then use
|
|||
and adjust the name based on the appearance of the font.</para>
|
||||
|
||||
<para>So, to complete our example:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen><lineannotation>Make the font accessible to X11</>
|
||||
bash$ <userinput>cd /usr/X11R6/lib/X11/fonts/Type1</>
|
||||
|
@ -450,11 +451,10 @@ bash$ <userinput>xset fp rehash</>
|
|||
<lineannotation>Examine the new font</>
|
||||
bash$ <userinput>xfontsel -pattern -type1-*</></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>References:
|
||||
<citerefentry><refentrytitle>xfontsel</><manvolnum>1</></>,
|
||||
<citerefentry><refentrytitle>xset</><manvolnum>1</></>,
|
||||
&man.xfontsel.1;,
|
||||
&man.xset.1;,
|
||||
<citetitle>The X Windows System in a Nutshell</>, <ulink
|
||||
URL="http://www.ora.com/">O'Reilly & Associates</ulink>.</para>
|
||||
|
||||
|
@ -469,6 +469,7 @@ file. This must be modified in a similar way to the X11
|
|||
<filename>.pfa</filename> or the <filename>.pfb</filename> format
|
||||
fonts. Using the font from the previous example, here is how to use
|
||||
it with Ghostscript:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen><lineannotation>Put the font in Ghostscript's font directory</>
|
||||
bash$ <userinput>cd /usr/local/share/ghostscript/fonts</>
|
||||
|
@ -498,7 +499,6 @@ Loading Showboat font from /usr/local/share/ghostscript/fonts/showboat.pfb...
|
|||
>>showpage, press <return> to continue<<
|
||||
GS><userinput>quit</></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>References: <filename>fonts.txt</filename> in the Ghostscript
|
||||
4.01 distribution</para>
|
||||
|
@ -521,6 +521,7 @@ must be created using tools provided by groff.</para>
|
|||
<para>The first tool is <command>afmtodit</>. This is not normally
|
||||
installed, so it must be retrieved from the source distribution. I
|
||||
found I had to change the first line of the file, so I did:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen>bash$ <userinput>cp /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.pl /tmp</>
|
||||
bash$ <userinput>ex /tmp/afmtodit.pl
|
||||
|
@ -529,11 +530,11 @@ bash$ <userinput>ex /tmp/afmtodit.pl
|
|||
.
|
||||
:wq</></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>This tool will create the groff font file from the metrics file
|
||||
(<filename>.afm</filename> suffix.) Continuing with our
|
||||
example:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen><lineannotation>Many <filename>.afm</> files are in Mac format&hellip ^M delimited lines
|
||||
We need to convert them to unix style ^J delimited lines</>
|
||||
|
@ -545,7 +546,6 @@ bash$ <userinput>cat /usr/local/share/fonts/type1/showboat.afm |
|
|||
bash$ <userinput>cd /usr/share/groff_font/devps</>
|
||||
bash$ <userinput>/tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap SHOWBOAT</></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>The font can now be referenced with the name SHOWBOAT.</para>
|
||||
|
||||
|
@ -560,12 +560,15 @@ and the <filename>download</> file is modified to reference the new
|
|||
font. The <filename>download</> file must reference the internal
|
||||
name of the font. This can easily be determined from the groff font
|
||||
file as illustrated:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen><lineannotation>Create the <filename>.pfa</> font file</>
|
||||
bash$ <userinput>pfbtops /usr/local/share/fonts/type1/showboat.pfb >showboat.pfa</></screen>
|
||||
</informalexample>
|
||||
<para>
|
||||
Of course, if the <filename>.pfa</filename> file is already
|
||||
available, just use a symbolic link to reference it.
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen><lineannotation>Get the internal font name</>
|
||||
bash$ <userinput>fgrep internalname SHOWBOAT</>
|
||||
|
@ -578,9 +581,9 @@ Showboat showboat.pfa
|
|||
.
|
||||
:wq</></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>To test the font:
|
||||
</para>
|
||||
<informalexample>
|
||||
<screen>bash$ <userinput>cd /tmp</>
|
||||
bash$ <userinput>cat >example.t <<EOF
|
||||
|
@ -617,13 +620,12 @@ bash$ <userinput>ghostview example.ps</>
|
|||
<lineannotation>To print it</>
|
||||
bash$ <userinput>lpr -Ppostscript example.ps</></screen>
|
||||
</informalexample>
|
||||
</para>
|
||||
|
||||
<para>References:
|
||||
<filename>/usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.man</filename>,
|
||||
<citerefentry><refentrytitle>groff_font</><manvolnum>5</></>,
|
||||
<citerefentry><refentrytitle>groff_char</><manvolnum>5</></>,
|
||||
<citerefentry><refentrytitle>pfbtops</><manvolnum>1</></>.</para>
|
||||
&man.groff.font.5;,
|
||||
&man.groff.char.7;,
|
||||
&man.pfbtops.1;.</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
|
@ -788,7 +790,7 @@ Converting 3of9.ttf to A.pfa and B.afm.
|
|||
<command>ttf2pf.ps</command> above, and
|
||||
<replaceable>PS_font_name</replaceable> is the font name
|
||||
used from that command, as well as the name that
|
||||
<citerefentry> <refentrytitle>groff</><manvolnum>1</></>
|
||||
&man.groff.1;
|
||||
will use for references to this font. For example, assuming
|
||||
you used the first <command>tiff2pf.ps</command> command
|
||||
above, then the 3of9 Barcode font can be created using the
|
||||
|
@ -812,8 +814,8 @@ Converting 3of9.ttf to A.pfa and B.afm.
|
|||
<filename>.afm</filename> file prior to running
|
||||
<command>afmtodit</command>. This name must also match the
|
||||
one used in the Fontmap file if you wish to pipe
|
||||
<citerefentry><refentrytitle>groff</><manvolnum>1</></> into
|
||||
<citerefentry><refentrytitle>gs</><manvolnum>1</></>.</para>
|
||||
&man.groff.1; into
|
||||
&man.gs.1;.</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</sect1>
|
||||
|
@ -836,9 +838,10 @@ raytraced pages :-).</para>
|
|||
<para>This rather dismal situation may soon change.
|
||||
The <ulink url="http://www.freetype.org/">FreeType Project</ulink>
|
||||
is currently developing a useful set of FreeType tools:
|
||||
</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<simpara>The <command>xfsft</command> font server for X11 can serve
|
||||
<para>The <command>xfsft</command> font server for X11 can serve
|
||||
TrueType fonts in addition to regular fonts. Though currently in
|
||||
beta, it is said to be quite useable. See <ulink
|
||||
url="http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/">Juliusz
|
||||
|
@ -846,34 +849,33 @@ Chroboczek's page</ulink> for further information. Porting instructions
|
|||
for FreeBSD can be found at <ulink
|
||||
url="http://math.missouri.edu/~stephen/software/">Stephen Montgomery's
|
||||
software page</ulink>.
|
||||
</simpara>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara><command>xfstt</command> is another font
|
||||
<para><command>xfstt</command> is another font
|
||||
server for X11, available under <ulink
|
||||
url=" ftp://sunsite.unc.edu/pub/Linux/X11/fonts">
|
||||
ftp://sunsite.unc.edu/pub/Linux/X11/fonts</ulink>.
|
||||
</simpara>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem><simpara>A program called <command>ttf2bdf</command> can produce
|
||||
<listitem><para>A program called <command>ttf2bdf</command> can produce
|
||||
BDF files suitable for use in an X environment from TrueType files. Linux
|
||||
binaries are said to be available from <ulink
|
||||
url="ftp://crl.nmsu.edu/CLR/multiling/General">ftp://crl.nmsu.edu/CLR/multiling/General/</ulink>.
|
||||
</simpara>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
<para>
|
||||
For people requiring the use of Asian TrueType fonts, the
|
||||
<command>XTT</command> font server may be worth a look. Information about
|
||||
<command>XTT</command> can be found at URL: <ulink
|
||||
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>.
|
||||
</simpara>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>and others …</simpara>
|
||||
<para>and others …</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
The
|
||||
<ulink url="http://www.freetype.org/projects.htm">FreeType Projects page
|
||||
|
@ -889,6 +891,7 @@ free TrueType projects.
|
|||
entirely free, or are share-ware. In addition, there are many
|
||||
inexpensive CDROMs available that contain many fonts. Some Internet
|
||||
locations (as of August 1996) are:
|
||||
</para>
|
||||
<itemizedlist>
|
||||
|
||||
<listitem><para><ulink
|
||||
|
@ -910,14 +913,13 @@ url="http://www.esselte.com/letraset/index.html">http://www.esselte.com/letraset
|
|||
<listitem><para><ulink
|
||||
url="http://www.inil.com/users/elfring/esf.htm">http://www.inil.com/users/elfring/esf.htm</ulink></para></listitem>
|
||||
|
||||
</itemizedlist></para>
|
||||
</itemizedlist>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1>
|
||||
<title>Additional questions</title>
|
||||
|
||||
<para>
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
|
@ -943,7 +945,6 @@ ghostscript.</para>
|
|||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
</article>
|
||||
|
|
Loading…
Reference in a new issue