<!--
     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>
