1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- EN-Revision: 20807 -->
4 <sect1 id="zend.text.figlet">
5 <title>Zend_Text_Figlet</title>
8 <classname>Zend_Text_Figlet</classname> est un composant qui permet aux développeurs
9 de créer des textes dénommés FIGlet. Un texte FIGlet test une chaîne de caractères, qui est
10 représenté en "ASCII-art". FIGlet utilise une format de police spécial , nommée FLT (FigLet
11 Font). Par défaut, une police standard est fourni avec
12 <classname>Zend_Text_Figlet</classname>, mais vous pouvez ajouter des polices additionnels à
13 <ulink url="http://www.figlet.org/fontdb.cgi">http://www.figlet.org</ulink>.
17 <title>Polices compressée</title>
20 <classname>Zend_Text_Figlet</classname> supporte les polices compressées en gzip.
21 Ceci veut dire que vous pouvez prendre un fichier <code>.flf</code> et le gzipper. Pour
22 permettre à <classname>Zend_Text_Figlet</classname> de les reconnaître, les polices
23 gzippées doivent avoir l'extension <code>.gz</code>. De plus, pour pouvoir utiliser les
24 polices compressées, vous devez activer l'extension GZIP de <acronym>PHP</acronym>.
29 <title>Encodage</title>
32 <classname>Zend_Text_Figlet</classname> considère que vos chaînes sont encodées en
33 UTF-8 par défaut. Si ce n'est pas le cas, vous pouvez fournir le type d'encodage des
34 caractères en tant que second paramètre à la méthode <methodname>render()</methodname>.
39 Il existe plusieurs options pour un FIGlet. Quand vous instanciez
40 <classname>Zend_Text_Figlet</classname>, vous pouvez les fournir sous la forme d'un tableau
41 ou d'un objet <classname>Zend_Config</classname>. <itemizedlist>
44 <code>font</code> : défini la police utilisée pour le rendu. Par défaut la
45 police incorporé sera utilisée.
51 <code>outputWidth</code> : défini la largeur maximum de la chaîne
52 résultat. Ceci est utilisé pour le retour à la ligne automatique ainsi que pour
53 la justification. Attention cependant à de trop petites valeurs, qui pourraient
54 induire un comportement indéfini. La valeur par défaut est 80.
60 <code>handleParagraphs</code> : un booléen qui indique, comment les
61 nouvelles lignes sont gérées. Réglé à <constant>TRUE</constant>, les nouvelles lignes
62 uniques sont ignorées et traitées comme un espace unique. Seules des nouvelles
63 lignes multiples seront gérées comme telles. La valeur par défaut est
64 <constant>FALSE</constant>.
70 <code>justification</code> : peut être une des valeurs de type
71 <classname>Zend_Text_Figlet::JUSTIFICATION_*</classname>. Il existe
72 <constant>JUSTIFICATION_LEFT</constant>, <constant>JUSTIFICATION_CENTER</constant> et
73 <constant>JUSTIFICATION_RIGHT</constant>. La justification par défaut est défini par la
74 valeur de <code>rightToLeft</code>.
80 <code>rightToLeft</code> : défini la direction d'écriture du texte. Peut
81 être <classname>Zend_Text_Figlet::DIRECTION_LEFT_TO_RIGHT</classname> ou
82 <classname>Zend_Text_Figlet::DIRECTION_RIGHT_TO_LEFT</classname>. Par défaut le
83 réglage du fichier de police est utilisé. Quand aucune justification n'est
84 définie, un texte écrit de droite à gauche est automatiquement aligné à
91 <code>smushMode</code> : un entier qui définit comme chaque caractère est
92 fusionné avec les autres. Peut être la somme de multiple valeurs de type
93 <classname>Zend_Text_Figlet::SM_*</classname>. Il existe les modes de fusion
94 suivant : SM_EQUAL, SM_LOWLINE, SM_HIERARCHY, SM_PAIR, SM_BIGX, SM_HARDBLANK,
95 SM_KERN et SM_SMUSH. Une valeur de 0 ne désactive pas entièrement la fusion,
96 mais force la valeur SM_KERN, tandis que la valeur de -1 la désactive. Une
97 explication des différents modes de fusion peut être trouvé <ulink
98 url="http://www.jave.de/figlet/figfont.txt">ici</ulink>. Par défaut le réglage
99 de la police est utilisé. L'option du mode de fusion est normalement seulement
100 utilisé par les concepteurs de police testant les différents mode de disposition
101 d'une nouvelle police.
107 <example id="zend.text.figlet.example.using">
108 <title>Utilisation Zend_Text_Figlet</title>
111 Cet exemple illustre une utilisation basique de
112 <classname>Zend_Text_Figlet</classname> pour créer une texte FIGlet simple :
115 <programlisting language="php"><![CDATA[
116 $figlet = new Zend_Text_Figlet();
117 echo $figlet->render('Zend');
121 En considérant que vous utilisez une police à espacement fixe, vous obtiendrez
122 quelque chose comme ceci :
125 <programlisting language="text"><![CDATA[
126 ______ ______ _ __ ______
127 |__ // | ___|| | \| || | __ \\
128 / // | ||__ | ' || | | \ ||
129 / //__ | ||___ | . || | |__/ ||
130 /_____|| |_____|| |_|\_|| |_____//
131 `-----`' `-----` `-` -`' -----`