doc/fr_FR.ISO8859-1/articles/fonts/article.sgml
Dima Dorfman 773ff743ed Reference %authors via its PUBLIC rather than SYSTEM identifier.
There's a reason we have catalogs, and it isn't to use inodes.
2001-08-25 21:55:57 +00:00

775 lines
36 KiB
Text
Executable file

<!--
The FreeBSD Documentation Project
The FreeBSD French Documentation Project
$FreeBSD: doc/fr_FR.ISO8859-1/articles/fonts/article.sgml,v 1.5 2001/07/13 15:48:38 nik Exp $
Original revision: n.nn
-->
<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man;
<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR"> %urls;
<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract;
<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader;
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN"> %authors;
<!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//FR"> %mailing-lists;
<!ENTITY rel.current CDATA "3.2">
]>
<article lang="fr">
<articleinfo>
<title>FreeBSD et les polices de caract&egrave;res</title>
<subtitle>Un guide utilisateur</subtitle>
<authorgroup>
<author>
<firstname>Dave</firstname>
<surname>Bodenstab</surname>
</author>
</authorgroup>
&artheader.copyright;
<abstract>
<para><email>imdave@synet.net</email></para>
<para>Mercredi 7 Aout 1996</para>
<para>Ce document d&eacute;crit les diff&eacute;rents fichiers de polices de caract&egrave;res
qui peuvent &ecirc;tre utilis&eacute;s avec FreeBSD et le pilote syscons, X11,
GhostScript et Groff. Des exemples imm&eacute;diatement applicables sont donn&eacute;s
pour passer l'affichage &agrave; la console en mode 80x60 et pour se servir des
polices &ldquo;Type 1&rdquo; avec les programmes d'application
pr&eacute;cit&eacute;s.</para>
&abstract.license;
&abstract.disclaimer;
&trans.a.haby;
</abstract>
</articleinfo>
<sect1>
<title>Introduction</title>
<para>Il y a de nombreuses sources de polices de caract&egrave;res disponibles,
et l'on peut se demander comment les utiliser avec FreeBSD. La
r&eacute;ponse peut &ecirc;tre obtenue en d&eacute;taillant attentivement la
documentation du composant voulu. Cela peut prendre beaucoup de
temps, ce guide essaie donc de fournir un raccourci pour les autres
personnes que cela int&eacute;resserait.</para>
</sect1>
<sect1>
<title>Terminologie &eacute;l&eacute;mentaire</title>
<para>Il y a de nombreux formats de polices de caract&egrave;res avec chacun
son propre suffixe de nom de fichier. Quelques uns d'entre eux
seront discut&eacute;s dans ce document:</para>
<variablelist>
<varlistentry>
<term><filename>.pfa</filename>, <filename>.pfb</filename></term>
<listitem>
<para>Polices PostScript &ldquo;Type 1&rdquo;.
<filename>.pfa</filename> est le format <emphasis>A</emphasis>scii
et <filename>.pfb</filename> le format
<emphasis>B</emphasis>inaire.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>.afm</filename></term>
<listitem>
<para>Le fichier de dimensions d'une police
&ldquo;Type 1&rdquo;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>.pfm</filename></term>
<listitem>
<para>Le fichier de dimensions pour l'impression d'une police
&ldquo;Type 1&rdquo;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>.ttf</filename></term>
<listitem>
<para>Police &ldquo;True Type&rdquo;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>.fot</filename></term>
<listitem>
<para>R&eacute;f&eacute;rence indirecte &agrave; une police &ldquo;True Type&rdquo; (ce
n'est pas la police elle-m&ecirc;me).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>.fon</filename>, <filename>.fnt</filename></term>
<listitem>
<para>Police de caract&egrave;res &ldquo;bitmap&rdquo; pour affichage &agrave;
l'&eacute;cran.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Les fichiers <filename>.fot</filename> sont employ&eacute;s par Windows un
peu de la m&ecirc;me fa&ccedil;on que des liens symboliques vers le fichiers de police
&ldquo;True Type&rdquo; (<filename>.ttf</filename>). Les fichiers
<filename>.fon</filename> sont aussi utilis&eacute;s par Windows. Je ne
connais pas de moyen de se servir de ces fichiers avec FreeBSD.</para>
</sect1>
<sect1>
<title>Quels formats de polices de caract&egrave;res puis-je utiliser?</title>
<para>Le format de fichier de police de caract&egrave;res utile d&eacute;pend de
l'application. FreeBSD lui-m&ecirc;me n'utilise pas de police de
caract&egrave;res. Ce sont les programmes d'application et/ou les pilotes
qui se servent &eacute;ventuellement de ces fichiers. Voici un petit tableau
associant application/pilote de p&eacute;riph&eacute;rique et suffixe des fichiers de
police de caract&egrave;res:</para>
<informaltable>
<tgroup cols="6">
<thead>
<row>
<entry></entry>
<entry><filename>.fnt</filename></entry>
<entry><filename>.pfa</filename></entry>
<entry><filename>.pfb</filename></entry>
<entry><filename>.ttf</filename></entry>
<entry><filename>.afm</filename></entry>
</row>
</thead>
<tbody>
<row>
<entry>Pilote <devicename>syscons</devicename></entry>
<entry>Oui</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry><application>GhostScript</application></entry>
<entry></entry>
<entry>Oui</entry>
<entry>Oui</entry>
<entry>Oui</entry>
<entry></entry>
</row>
<row>
<entry>X11</entry>
<entry></entry>
<entry>Oui</entry>
<entry>Oui</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry><application>Groff</application></entry>
<entry></entry>
<entry>Oui</entry>
<entry></entry>
<entry></entry>
<entry>Oui</entry>
</row>
<row>
<entry><application>Povray</application></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>Oui</entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Le suffixe <filename>.fnt</filename> est assez fr&eacute;quemment utilis&eacute;.
Je soup&ccedil;onne que lorsque quelqu'un veut cr&eacute;er un fichier de police de
caract&egrave;res sp&eacute;cialis&eacute; pour son application, il choisit la plupart du temps
ce suffixe. Il y a donc des chances pour que des fichiers avec ce
suffixe n'aient pas tous le m&ecirc;me format; en particulier, les fichiers
<filename>.fnt</filename> utilis&eacute;s par le pilote syscons de FreeBSD
n'auront peut-&ecirc;tre pas le m&ecirc;me format qu'un fichier
<filename>.fnt</filename> utilis&eacute; dans l'environnement DOS/Windows. Je
n'ai jamais essay&eacute; d'utiliser d'autres fichiers <filename>.fnt</filename>
que ceux fournis avec FreeBSD.</para>
</sect1>
<sect1>
<title>Configurer une console virtuelle en mode 80x60 lignes</title>
<para>Il faut d'abord charger une police de caract&egrave;res 8x8. Le fichier
<filename>/etc/sysconfig</filename><footnote><para>N.d.T.:
<filename>/etc/rc.conf</filename> dans les versions r&eacute;centes de
FreeBSD.</para></footnote> doit donc contenir les lignes:</para>
<programlisting>
# choose font 8x8 from /usr/share/syscons/fonts/* (or NO for default)
font8x8=/usr/share/syscons/fonts/cp437-8x8.fnt
</programlisting>
<para>La commande pour changer de mode d'affichage est
<citerefentry><refentrytitle>vidcontrol</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>:</para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>vidcontrol VGA_80x60</userinput></screen>
</informalexample>
<para>Diff&eacute;rents programmes en mode plein-&eacute;cran, tel
<citerefentry><refentrytitle>vi</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>,
doivent pouvoir d&eacute;terminer la taille actuelle de l'&eacute;cran. Elle peut &ecirc;tre
configur&eacute;e avec
<citerefentry><refentrytitle>stty</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>:</para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>stty crt rows 60 columns 80</userinput></screen>
</informalexample>
<para>Pour rendre cela moins fastidieux, ces commandes peuvent &ecirc;tre
introduites dans une proc&eacute;dure ex&eacute;cut&eacute;e au d&eacute;marrage du syst&egrave;me. Voici une
fa&ccedil;on de le faire:</para>
<orderedlist>
<listitem>
<para>Modifiez <filename>/etc/sysconfig</filename> comme expliqu&eacute; plus
haut,</para>
</listitem>
<listitem>
<para>Ajoutez les lignes suivantes &agrave;
<filename>/etc/rc.local</filename>:</para>
<programlisting>
for tty in /dev/ttyv?
do
vidcontrol VGA_80x60 <$tty >/dev/null 2>&1
done
</programlisting>
</listitem>
<listitem>
<para>Ajoutez les lignes suivantes &agrave;
<filename>/etc/profile</filename>:</para>
<programlisting>
TTYNAME=`basename \`tty\``
if expr "$TTYNAME" : 'ttyv' > /dev/null
then
stty crt rows 60 columns 80
fi
</programlisting>
</listitem>
</orderedlist>
<para>R&eacute;f&eacute;rences:
<citerefentry><refentrytitle>stty</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>vidcontrol</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>.</para>
</sect1>
<sect1>
<title>X11 et les polices &ldquo;Type 1&rdquo;</title>
<para>X11 peut employer les formats de police de caract&egrave;res
<filename>.pfa</filename> et <filename>.pfb</filename>. Il y a une
r&eacute;f&eacute;rence crois&eacute;e de chaque fichier sur son nom X11 par l'interm&eacute;diaire du
fichier <filename>fonts.dir</filename> de chaque r&eacute;pertoire.</para>
<para>Il y a d&eacute;j&agrave; un r&eacute;pertoire appel&eacute; <filename>Type1</filename>. La fa&ccedil;on
la plus imm&eacute;diate d'ajouter une police de caract&egrave;res est de la mettre dans
ce r&eacute;pertoire. Une meilleure mani&egrave;re de proc&eacute;der est de mettre toutes les
nouvelle polices dans un r&eacute;pertoire distinct et d'utiliser un lien
symbolique sur ces nouvelles polices. Il est alors plus facile de
distinguer ses propres polices de celles qui sont fournies d'origine. Par
exemple:</para>
<itemizedlist>
<listitem>
<para><emphasis>Cr&eacute;er un repertoire pour les fichiers de police de
caract&egrave;res.</emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>mkdir -p /usr/local/share/fonts/type1</userinput>
<prompt>bash$</prompt> <userinput>cd /usr/local/share/fonts/type1</userinput></screen>
</informalexample>
</listitem>
<listitem>
<para><emphasis>Y mettre les fichiers <filename>.pfa</filename>,
<filename>.pfb</filename> et <filename>.afm</filename>. On peut aussi
vouloir y conserver les fichiers <filename>README</filename> et autres
documentations concernant les polices de caract&egrave;res.</emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>cp /cdrom/fonts/atm/showboat/showboat.pfb .</userinput>
<prompt>bash$</prompt> <userinput>cp /cdrom/fonts/atm/showboat/showboat.afm .</userinput></screen>
</informalexample>
</listitem>
<listitem>
<para><emphasis>Tenir &agrave; jour un index pour cr&eacute;er les r&eacute;f&eacute;rences crois&eacute;es
sur les polices.</emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>echo showboat - InfoMagic CICA, Dec 1994, /fonts/atm/showboat >>INDEX</userinput></screen>
</informalexample>
</listitem>
</itemizedlist>
<para>Pour pouvoir maintenant utiliser une nouvelle police de caract&egrave;res, il
faut mettre le fichier &agrave; disposition, et mettre &agrave; jour le fichier des
noms de polices. Les noms de police X11 se pr&eacute;sentent comme suit:</para>
<programlisting>
-bitstream-charter-medium-r-normal-xxx-0-0-0-0-p-0-iso8859-1
| | | | | | | | | | | | \ \
| | | | | \ \ \ \ \ \ \ +----+- jeu de caract&egrave;res
| | | | \ \ \ \ \ \ \ +- largeur moyenne
| | | | \ \ \ \ \ \ +- espacement
| | | \ \ \ \ \ \ +- r&eacute;solution verticale
| | | \ \ \ \ \ +- r&eacute;solution horizontale
| | | \ \ \ \ +- points
| | | \ largeur \ +- pixels
| | | \ \
casse famille graisse inclinaison style suppl&eacute;mentaire
</programlisting>
<para>Il faut cr&eacute;er un nouveau nom pour chaque nouvelle police. Si la
documentation qui l'accompagne vous donne quelques informations, elle
peut servir de base pour d&eacute;finir ce nom. Si vous n'avez aucune
information, vous pouvez utiliser la commande
<citerefentry><refentrytitle>strings</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> sur le fichier de police. Par
exemple:</para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>strings showboat.pfb | more</userinput></screen>
</informalexample>
<programlisting>
%!FontType1-1.0: Showboat 001.001
%%CreationDate: 1/15/91 5:16:03 PM
%%VMusage: 1024 45747
% Generated by Fontographer 3.1
% Showboat
1991 by David Rakowski. Alle Rechte Vorbehalten.
FontDirectory/Showboat known{/Showboat findfont dup/UniqueID known{dup
/UniqueID get 4962377 eq exch/FontType get 1 eq and}{pop false}ifelse
{save true}{false}ifelse}{false}ifelse
12 dict begin
/FontInfo 9 dict dup begin
/version (001.001) readonly def
/FullName (Showboat) readonly def
/FamilyName (Showboat) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
/UnderlinePosition -106 def
/UnderlineThickness 16 def
/Notice (Showboat
1991 by David Rakowski. Alle Rechte Vorbehalten.) readonly def
end readonly def
/FontName /Showboat def
--stdin--
</programlisting>
<para>A partir de ces informations, le nom pourrait &ecirc;tre:</para>
<programlisting>
-type1-Showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1
</programlisting>
<para>Les composantes de ce nom sont:</para>
<variablelist>
<varlistentry>
<term>Casse</term>
<listitem>
<para>Appelons simplement toutes nos nouvelles polices
<literal>type1</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Famille</term>
<listitem>
<para>Le nom de la police.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Graisse</term>
<listitem>
<para>Normal, gras, m&eacute;dium, semi-gras, etc. D'apr&egrave;s les r&eacute;sultats
de <citerefentry><refentrytitle>strings</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> ci-dessus, la police a une
graisse <emphasis>m&eacute;dium</emphasis>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Inclinaison</term>
<listitem>
<para><emphasis>r</emphasis>oman, <emphasis>i</emphasis>talique ou
<emphasis>o</emphasis>blique. Comme
<emphasis>ItaliqueAngle</emphasis> vaut 0, nous utiliserons
<emphasis>roman</emphasis>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Largeur</term>
<listitem>
<para>Normale, large, condens&eacute;e, &eacute;tendue, etc. Jusqu'&agrave; ce que nous la
d&eacute;terminions &agrave; l'usage, nous supposerons qu'elle est
<emphasis>normale</emphasis>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Style suppl&eacute;mentaire</term>
<listitem>
<para>Habituellement non renseign&eacute;, mais nous nous en servons pour
indiquer que la police contient des majuscules d&eacute;coratives.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Espacement</term>
<listitem>
<para>Proportionnel ou fixe. Comme <emphasis>isFixedPitch</emphasis>
est faux, nous utilisons <emphasis>Proportionnel</emphasis>.</para>
</listitem>
</varlistentry>
</variablelist>
<para> Tous ces noms sont arbitraires, mais il faut essayer de rester
compatible avec les conventions existantes. Une police est connue d'une
application X11 sous un nom qui peut &eacute;ventuellement comporter des
caract&egrave;res de substitution, il faut donc choisir un nom significatif. On
peut commencer en utilisant simplement:</para>
<programlisting>
...-normal-r-normal-...-p-...
</programlisting>
<para>comme nom, puis se servir de
<citerefentry><refentrytitle>xfontsel</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> pour visualiser la police et
affiner son nom en fonction de ce &agrave; quoi elle ressemble.</para>
<para>Donc, pour compl&eacute;ter notre exemple:</para>
<itemizedlist>
<listitem>
<para><emphasis>Rendre la police accessible &agrave; X11</emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>cd /usr/X11R6/lib/X11/fonts/Type1</userinput>
<prompt>bash$</prompt> <userinput>ln -s /usr/local/share/fonts/type1/showboat.pfb .</userinput></screen>
</informalexample>
</listitem>
<listitem>
<para><emphasis>Editer <filename>fonts.scale</filename> et
<filename>fonts.dir</filename> pour y ajouter une ligne d&eacute;crivant la
nouvelle police et incr&eacute;menter le nombre de polices qui est d&eacute;fini en
premi&egrave;re ligne</emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>ex fonts.dir</userinput>
<userinput>:1p</userinput>
<userinput>25</userinput>
<userinput>:1c</userinput>
<userinput>26</userinput>
<userinput>.</userinput>
<userinput>:$a</userinput>
<userinput>showboat.pfb -type1-showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1</userinput>
<userinput>.</userinput>
<userinput>:wq</userinput></screen>
</informalexample>
</listitem>
<listitem>
<para><emphasis><filename>fonts.scale</filename> et
<filename>fonts.dir</filename> sont apparemment
identiques</emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>cp fonts.dir fonts.scale</userinput></screen>
</informalexample>
</listitem>
<listitem>
<para><emphasis>Informer X11 des modifications</emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>xset fp rehash</userinput></screen>
</informalexample>
</listitem>
<listitem>
<para><emphasis>Visualiser la nouvelle police</emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>xfontsel -pattern -type1-*</userinput></screen>
</informalexample>
</listitem>
</itemizedlist>
<para>R&eacute;f&eacute;rences: <citerefentry><refentrytitle>xfontsel</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>xset</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>, <emphasis>The X Window System
in a Nutshell</emphasis>, <ulink url="http://www.ora.com">O'Reilly &amp;
Associates</ulink>.</para>
</sect1>
<sect1>
<title>Utiliser les polices &ldquo;Type 1&rdquo; avec GhostScript</title>
<para>GhostScript r&eacute;f&eacute;rence les polices via son fichier
<filename>Fontmap</filename>. Il doit donc &ecirc;tre modifi&eacute; de la m&ecirc;me fa&ccedil;on
que le fichier X11 <filename>fonts.dir</filename>. GhostScript peut
utiliser des fichiers de police de caract&egrave;res aux formats
<filename>.pfa</filename> ou <filename>.pfb</filename>. Voici comment nous
utiliserions la police de l'exemple pr&eacute;c&eacute;dent avec GhostScript:</para>
<itemizedlist>
<listitem>
<para><emphasis>Mettre la police dans le r&eacute;pertoire des polices de
GhostScript</emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>cd /usr/local/share/ghostscript/fonts</userinput>
<prompt>bash$</prompt> <userinput>ln -s /usr/local/share/fonts/type1/showboat.pfb .</userinput></screen>
</informalexample>
</listitem>
<listitem>
<para><emphasis>Editer le fichier <filename>Fontmap</filename> pour que
GhostScript ait connaissance de la nouvelle police</emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>cd /usr/local/share/ghostscript/4.01</userinput>
<prompt>bash$</prompt> <userinput>ex Fontmap</userinput>
<userinput>:$a</userinput>
<userinput>/Showboat (showboat.pfb) ; % From CICA /fonts/atm/showboat</userinput>
<userinput>:wq</userinput></screen>
</informalexample>
</listitem>
<listitem>
<para><emphasis>Utiliser GhostScript pour visualiser la
police</emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>gs prfont.ps</userinput></screen>
</informalexample>
<programlisting>
Aladdin Ghostscript 4.01 (1996-7-10)
Copyright (C) 1996 Aladdin Enterprises, Menlo Park, CA. All rights
reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Loading Times-Roman font from /usr/local/share/ghostscript/fonts/tir_____.pfb...
/1899520 581354 1300084 13826 0 done.
</programlisting>
<informalexample>
<screen><prompt>GS&gt;</prompt> <userinput>Showboat DoFont</userinput></screen>
</informalexample>
<programlisting>
Loading Showboat font from /usr/local/share/ghostscript/fonts/showboat.pfb...
1939688 565415 1300084 16901 0 done.
&gt;&gt;showpage, press &lt;return&gt; to continue&lt;&lt;
&gt;&gt;showpage, press &lt;return&gt; to continue&lt;&lt;
&gt;&gt;showpage, press &lt;return&gt; to continue&lt;&lt;
</programlisting>
<informalexample>
<screen><prompt>GS&gt;</prompt> <userinput>quit</userinput></screen>
</informalexample>
</listitem>
</itemizedlist>
<para>R&eacute;f&eacute;rences: <filename>fonts.txt</filename> de la distribution de
GhostScript 4.01.</para>
</sect1>
<sect1>
<title>Utiliser les polices &ldquo;Type 1&rdquo; avec Groff</title>
<para>Maintenant que nous pouvons utiliser la nouvelle police avec X11 et
GhostScript, comment faire pour s'en servir aussi avec groff? Tout
d'abord, comme nous nous occupons de polices PostScript
&ldquo;Type 1&rdquo;, le p&eacute;riph&eacute;rique groff &agrave; utiliser est
<devicename>ps</devicename>. Il faut cr&eacute;er un fichier de police pour
chaque police utilis&eacute;e par groff. Le nom d'une police groff se r&eacute;sume &agrave; un
fichier dans le r&eacute;pertoire
<filename>/usr/share/groff_font/devps</filename>. Dans notre exemple, ce
pourrait &ecirc;tre <filename>/usr/share/groff_font/devps/SHOWBOAT</filename>.
Il faut cr&eacute;er ce fichier avec les outils fournis par groff.</para>
<para>Le premier outil est <filename>afmtodit</filename>. Il n'est pas
normalement install&eacute; et doit donc &ecirc;tre extrait de la distribution sous
forme de sources. Je me suis aper&ccedil;u qu'il fallait modifier la premi&egrave;re
ligne du fichier, voici donc ce que j'ai fait:</para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>cp /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.pl /tmp</userinput>
<prompt>bash$</prompt> <userinput>ex /tmp/afmtodit.pl</userinput>
<userinput>:1c</userinput>
<userinput>#!/usr/bin/perl -P-</userinput>
<userinput>.</userinput>
<userinput>:wq</userinput></screen>
</informalexample>
<para>Cet outil cr&eacute;e le fichier de police groff &agrave; partir du fichier de
dimensions de la police (suffixe <filename>.afm</filename>). Pour
continuer avec notre exemple:</para>
<itemizedlist>
<listitem>
<para><emphasis>De nombreux fichiers <filename>.afm</filename> sont au
format Mac... avec des lignes termin&eacute;es par des ^M</emphasis></para>
<para>Il faut les convertir au style Unix avec des lignes termin&eacute;es par
des ^J</para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>cd /tmp</userinput>
<prompt>bash$</prompt> <userinput>cat /usr/local/share/fonts/type1/showboat.afm |</userinput>
<userinput>tr '\015' '\012' >showboat.afm</userinput></screen>
</informalexample>
</listitem>
<listitem>
<para><emphasis>Cr&eacute;ons maintenant le fichier de police
groff</emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>cd /usr/share/groff_font/devps</userinput>
<prompt>bash$</prompt> <userinput>/tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap SHOWBOAT</userinput></screen>
</informalexample>
</listitem>
</itemizedlist>
<para>La police peut maintenant &ecirc;tre r&eacute;f&eacute;renc&eacute;e par le nom SHOWBOAT.</para>
<para>Si l'on utilise GhostScript pour piloter les imprimantes du syst&egrave;me,
il n'y a rien d'autre &agrave; faire. Si, par contre, l'on utilise de vraies
imprimantes PostScript, il faut alors charger la police sur l'imprimante
pour pouvoir l'utiliser (&agrave; moins que l'imprimante ne dispose de la police
&ldquo;showboat&rdquo; en interne ou sur une disquette de polices
accessible). La derni&egrave;re &eacute;tape consiste &agrave; cr&eacute;er la police chargeable.
L'outil <filename>pfbtops</filename> est utilis&eacute; pour cr&eacute;er le format
<filename>.pfa</filename> de la police et le fichier
<filename>download</filename> est modifi&eacute; pour faire r&eacute;f&eacute;rence &agrave; la
nouvelle police. Le fichier <filename>download</filename> doit indiquer le
nom interne de la police. Ce nom peut &ecirc;tre facilement connu &agrave; l'aide du
fichier de police groff, comme le montre l'exemple:</para>
<itemizedlist>
<listitem>
<para><emphasis>Cr&eacute;er le fichier de police
<filename>.pfa</filename></emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>fgrep internalname SHOWBOAT</userinput>
internalname Showboat</screen>
</informalexample>
</listitem>
<listitem>
<para><emphasis>Dire &agrave; groff qu'il faut charger la
police</emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>ex download</userinput>
<userinput>:$a</userinput>
<userinput>Showboat showboat.pfa</userinput>
<userinput>.</userinput>
<userinput>:wq</userinput></screen>
</informalexample>
</listitem>
</itemizedlist>
<para>Pour tester la police:</para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>cd /tmp</userinput>
<prompt>bash$</prompt> <userinput>cat &gt;exemple.t &lt;&lt;EOF</userinput>
<userinput>.sp 5</userinput>
<userinput>.ps 15</userinput>
<userinput>C'est un exemple de police Showboat:</userinput>
<userinput>.br</userinput>
<userinput>.ps 48</userinput>
<userinput>.vs (\n(.s+2)p</userinput>
<userinput>.sp</userinput>
<userinput>.ft SHOWBOAT</userinput>
<userinput>ABCDEFGHI</userinput>
<userinput>.br</userinput>
<userinput>JKLMNOPQR</userinput>
<userinput>.br</userinput>
<userinput>STUVWXYZ</userinput>
<userinput>.sp</userinput>
<userinput>.ps 16</userinput>
<userinput>.vs (\n(.s+2)p</userinput>
<userinput>.fp 5 SHOWBOAT</userinput>
<userinput>.ft 5</userinput>
<userinput>Utilis&eacute;e comme premi&egrave;re lettre d'un paragraphe. Cela ressemblera &agrave;:</userinput>
<userinput>.sp50p</userinput>
<userinput>\s(48\f5V\s0\fRoici la premi&egrave;re phrase d'un paragraphe qui utilise</userinput>
<userinput>la police showboat pour sa premi&egrave;re lettre. Il faut augmenter</userinput>
<userinput>l'espacement vertical pour laisser de la place pour la premi&egrave;re</userinput>
<userinput>lettre.</userinput>
<userinput>EOF</userinput>
<prompt>bash$</prompt> <userinput>groff -Tps exemple.t &gt;exemple.ps</userinput></screen>
</informalexample>
<itemizedlist>
<listitem>
<para><emphasis>Pour utiliser GhostScript/GhostView</emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>ghostview exemple.ps</userinput></screen>
</informalexample>
</listitem>
<listitem>
<para><emphasis>Pour l'imprimer</emphasis></para>
<informalexample>
<screen><prompt>bash$</prompt> <userinput>lpr -Ppostscript exemple.ps</userinput></screen>
</informalexample>
</listitem>
</itemizedlist>
<para>R&eacute;f&eacute;rences:
<filename>/usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.man</filename>,
<citerefentry><refentrytitle>groff_font</refentrytitle>
<manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>groff_char</refentrytitle>
<manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>pfbtops</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>.</para>
</sect1>
<sect1>
<title>Peut-on utiliser des polices &ldquo;True Type&rdquo;?</title>
<para>Le format de police &ldquo;True Type&rdquo; est utilis&eacute;e par Windows,
Windows 95 et le Macintosh. Il est assez r&eacute;pandu et il y a de nombreuses
polices de ce format disponibles.</para>
<para>Malheureusement, je connais peu d'applications qui puissent utiliser
ce format: GhostScript et Povray viennent &agrave; l'esprit. Le support par
GhostScript est, d'apr&egrave;s la documentation, assez rudimentaire et il y a
des chances que le r&eacute;sultat soit moins bon qu'avec les polices
&ldquo;Type 1&rdquo;. Povray version 3 est aussi capable d'utiliser des
des polices &ldquo;True Type&rdquo;, mais je doute que beaucoup de
personnes cr&eacute;ent des documents sous forme de pages g&eacute;n&eacute;r&eacute;es par lancer de
rayon :-).</para>
<para>Il est difficile d'utiliser une police &ldquo;True Type&rdquo; avec
groff parce que groff a besoin d'un fichier de description de la police,
et je ne connais pas d'outil pour d&eacute;terminer les dimensions d'une police
&ldquo;True Type&rdquo;. De plus, il faudrait charger la police sur les
imprimantes PostScript avec le format appropri&eacute; et, de nouveau, groff ne
peut g&eacute;rer de cette fa&ccedil;on les polices &ldquo;True Type&rdquo;.</para>
<para>Cette situation plut&ocirc;t d&eacute;solante changera peut-&ecirc;tre bient&ocirc;t. Le
<ulink url="http://www.freetype.org">Projet FreeType</ulink> d&eacute;veloppe
actuellement un ensemble d'utilitaire FreeType:</para>
<itemizedlist>
<listitem>
<para>Le serveur de polices <filename>xfsft</filename> pour X11 peut
g&eacute;rer les polices &ldquo;TrueType&rdquo; en plus des polices
ordinaires. Bien que ce soit encore une version b&eacute;ta, elle a la
r&eacute;putation d'&ecirc;tre &agrave; peu pr&egrave;s utilisable. Voyez
<ulink url="http://www.dcs.ed.sc.uk/home/jec/programs/xfsft">la page de
Juliusz Chroboczek</ulink> pour plus d'informations. Il y a des
instructions de portage sous FreeBSD sur
<ulink url="http://math.missouri.edu/~stephen/software">la page
logicielle de Stephen Montgomery</ulink>.</para>
</listitem>
<listitem>
<para><filename>xfstt</filename> est un autre serveur X11, disponible
sur <ulink url="ftp://sunsite.unc.edu/pub/Linux/X11/fonts">ftp://sunsite.unc.edu/pub/Linux/X11/fonts</ulink>.</para>
</listitem>
<listitem>
<para>Il y a un programme appel&eacute; <filename>ttf2bdf</filename> qui peut
cr&eacute;er des fichiers BDF utilisables en environnement X &agrave; partir de
fichiers &ldquo;TrueType&rdquo;. Les binaires pour Linux sont cens&eacute;s
&ecirc;tre disponibles sur
<ulink url="ftp://crl.nmsu.edu/CLR/multiling/General/">ftp://crl.nmsu.edu/CLR/multiling/General/</ulink>.</para>
</listitem>
<listitem>
<para>Pour les personnes qui ont besoin de polices &ldquo;True
Type&rdquo; asiatiques, il peut valoir la peine de jetter un coup
d'oeil au serveur de polices <filename>XTT</filename>. Il y a des
informations sur <filename>XTT</filename> &agrave; l'adresse:
<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>.</para>
</listitem>
<listitem>
<para>et d'autres ...</para>
</listitem>
</itemizedlist>
</sect1>
<sect1>
<title>O&ugrave; peut-on trouver des polices suppl&eacute;mentaires?</title>
<para>Il y a de nombreuses polices disponibles sur l'Internet. Elles sont
soit compl&egrave;tement gratuites ou en &ldquo;partagiciel&rdquo;. Il y a aussi
de nombreux CD-ROMs peux on&eacute;reux qui contiennent beaucoup de polices.
Voici quelques sites Internet (au mois d'Ao&ucirc;t 1996):</para>
<itemizedlist>
<listitem>
<para><ulink url="ftp://ftp.winsite.com">ftp://ftp.winsite.com</ulink>
(auparavant CICA),</para>
</listitem>
<listitem>
<para><ulink url="http://www.simtel.net/">http://www.simtel.net/</ulink>,</para>
</listitem>
<listitem>
<para><ulink url="ftp://ftp.coast.net/">ftp://ftp.coast.net/</ulink>,</para>
</listitem>
<listitem>
<para><ulink 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>
<listitem>
<para><ulink url="http://www.esselte.com/letraset/index.html">http://www.esselte.com/letraset/index.html</ulink>,</para>
</listitem>
<listitem>
<para><ulink url="http://www.inil.com/users/elfring/esf.htm">http://www.inil.com/users/elfring/esf.htm</ulink>.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1>
<title>D'autres questions</title>
<itemizedlist>
<listitem>
<para>Que sont que les fichiers <filename>.pfm</filename>?</para>
</listitem>
<listitem>
<para>Peut-on g&eacute;n&eacute;rer des fichiers <filename>.afm</filename> &agrave; partir de
fichiers <filename>.pfa</filename> ou
<filename>.pfb</filename>?</para>
</listitem>
<listitem>
<para>Comment g&eacute;n&eacute;rer des fichiers de correspondance de caract&egrave;res pour
groff pour les polices PostScript dont les caract&egrave;res ont des noms qui
ne sont pas standard?</para>
</listitem>
<listitem>
<para>Les p&eacute;riph&eacute;riques <filename>xditview</filename> et
<devicename>devX??</devicename> peuvent-ils &ecirc;tre configur&eacute;s pour
acc&eacute;der aux nouvelles polices?</para>
</listitem>
<listitem>
<para>Il serait bien d'avoir des exemples d'utilisation de polices
&ldquo;True Type&rdquo; avec GhostScript et Povray.</para>
</listitem>
</itemizedlist>
</sect1>
</article>