<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.text.figlet">
    <title>Zend_Text_Figlet</title>

    <para>
        <classname>Zend_Text_Figlet</classname> est un composant qui permet aux développeurs
        de créer des textes dénommés FIGlet. Un texte FIGlet test une chaîne de caractères, qui est
        représenté en "ASCII-art". FIGlet utilise une format de police spécial , nommée FLT (FigLet
        Font). Par défaut, une police standard est fourni avec
        <classname>Zend_Text_Figlet</classname>, mais vous pouvez ajouter des polices additionnels à
        <ulink url="http://www.figlet.org/fontdb.cgi">http://www.figlet.org</ulink>.
    </para>

    <note>
        <title>Polices compressée</title>

        <para>
            <classname>Zend_Text_Figlet</classname> supporte les polices compressées en gzip.
            Ceci veut dire que vous pouvez prendre un fichier <filename>.flf</filename> et le
            gzipper. Pour permettre à <classname>Zend_Text_Figlet</classname> de les reconnaître,
            les polices gzippées doivent avoir l'extension <code>.gz</code>. De plus, pour
            pouvoir utiliser les polices compressées, vous devez activer l'extension GZIP de
            <acronym>PHP</acronym>.
        </para>
    </note>

    <note>
        <title>Encodage</title>

        <para>
            <classname>Zend_Text_Figlet</classname> considère que vos chaînes sont encodées en
            UTF-8 par défaut. Si ce n'est pas le cas, vous pouvez fournir le type d'encodage des
            caractères en tant que second paramètre à la méthode <methodname>render()</methodname>.
        </para>
    </note>

    <para>
        Il existe plusieurs options pour un FIGlet. Quand vous instanciez
        <classname>Zend_Text_Figlet</classname>, vous pouvez les fournir sous la forme d'un tableau
        ou d'un objet <classname>Zend_Config</classname>. <itemizedlist>
                <listitem>
                <para>
                    <property>font</property>&#160;: défini la police utilisée pour le rendu. Par
                    défaut la police incorporé sera utilisée.
                </para>
            </listitem>

            <listitem>
                <para>
                    <property>outputWidth</property>&#160;: défini la largeur maximum de la chaîne
                    résultat. Ceci est utilisé pour le retour à la ligne automatique ainsi que pour
                    la justification. Attention cependant à de trop petites valeurs, qui pourraient
                    induire un comportement indéfini. La valeur par défaut est 80.
                </para>
            </listitem>

            <listitem>
                <para>
                    <property>handleParagraphs</property>&#160;: un booléen qui indique, comment
                    les nouvelles lignes sont gérées. Réglé à <constant>TRUE</constant>, les
                    nouvelles lignes uniques sont ignorées et traitées comme un espace unique.
                    Seules des nouvelles lignes multiples seront gérées comme telles. La valeur
                    par défaut est <constant>FALSE</constant>.
                </para>
            </listitem>

            <listitem>
                <para>
                    <property>justification</property>&#160;: peut être une des valeurs de type
                    <classname>Zend_Text_Figlet::JUSTIFICATION_*</classname>. Il existe
                    <constant>JUSTIFICATION_LEFT</constant>,
                    <constant>JUSTIFICATION_CENTER</constant> et
                    <constant>JUSTIFICATION_RIGHT</constant>. La justification par défaut est
                    défini par la valeur de <property>rightToLeft</property>.
                </para>
            </listitem>

            <listitem>
                <para>
                    <property>rightToLeft</property>&#160;: défini la direction d'écriture du
                    texte. Peut être
                    <classname>Zend_Text_Figlet::DIRECTION_LEFT_TO_RIGHT</classname> ou
                    <classname>Zend_Text_Figlet::DIRECTION_RIGHT_TO_LEFT</classname>. Par défaut le
                    réglage du fichier de police est utilisé. Quand aucune justification n'est
                    définie, un texte écrit de droite à gauche est automatiquement aligné à
                    droite.
                </para>
            </listitem>

            <listitem>
                <para>
                    <property>smushMode</property>&#160;: un entier qui définit comme chaque
                    caractère est fusionné avec les autres. Peut être la somme de multiple valeurs
                    de type <classname>Zend_Text_Figlet::SM_*</classname>. Il existe les modes de
                    fusion suivants&#160;: SM_EQUAL, SM_LOWLINE, SM_HIERARCHY, SM_PAIR, SM_BIGX,
                    SM_HARDBLANK, SM_KERN et SM_SMUSH. Une valeur de 0 ne désactive pas
                    entièrement la fusion, mais force la valeur SM_KERN, tandis que la valeur de
                    -1 la désactive. Une explication des différents modes de fusion peut être
                    trouvé <ulink url="http://www.jave.de/figlet/figfont.txt">ici</ulink>. Par
                    défaut le réglage de la police est utilisé. L'option du mode de fusion est
                    normalement seulement utilisé par les concepteurs de police testant les
                    différents mode de disposition d'une nouvelle police.
                </para>
            </listitem>
            </itemizedlist>
        </para>

    <example id="zend.text.figlet.example.using">
        <title>Utilisation Zend_Text_Figlet</title>

        <para>
            Cet exemple illustre une utilisation basique de
            <classname>Zend_Text_Figlet</classname> pour créer une texte FIGlet simple&#160;:
        </para>

        <programlisting language="php"><![CDATA[
$figlet = new Zend_Text_Figlet();
echo $figlet->render('Zend');
]]></programlisting>

        <para>
            En considérant que vous utilisez une police à espacement fixe, vous obtiendrez
            quelque chose comme ceci&#160;:
        </para>

        <programlisting language="text"><![CDATA[
  ______    ______    _  __   ______
 |__  //   |  ___||  | \| || |  __ \\
   / //    | ||__    |  ' || | |  \ ||
  / //__   | ||___   | .  || | |__/ ||
 /_____||  |_____||  |_|\_|| |_____//
 `-----`'  `-----`   `-` -`'  -----`
]]></programlisting>
    </example>
</sect1>