Zend_Text_Figlet.xml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- EN-Revision: 12116 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.text.figlet">
  5. <title>Zend_Text_Figlet</title>
  6. <para><classname>Zend_Text_Figlet</classname> est un composant qui permet aux développeurs de créer des textes dénommés
  7. FIGlet. Un texte FIGlet test une chaîne de caractères, qui est représenté en "ASCII-art". FIGlet utilise une format
  8. de police spécial , nommée FLT (FigLet Font). Par défaut, une police standard est fourni avec
  9. <classname>Zend_Text_Figlet</classname>, mais vous pouvez ajouter des polices additionnels à <ulink
  10. url="http://www.figlet.org/fontdb.cgi">http://www.figlet.org</ulink>.</para>
  11. <note>
  12. <title>Polices compressée</title>
  13. <para><classname>Zend_Text_Figlet</classname> supporte les polices compressées en gzip. Ceci veut dire que vous pouvez
  14. prendre un fichier <code>.flf</code> et le gzipper. Pour permettre à <classname>Zend_Text_Figlet</classname> de les
  15. reconnaître, les polices gzippées doivent avoir l'extension <code>.gz</code>. De plus, pour pouvoir utiliser les
  16. polices compressées, vous devez activer l'extension GZIP de PHP.</para>
  17. </note>
  18. <note>
  19. <title>Encodage</title>
  20. <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
  21. le cas, vous pouvez fournir le type d'encodage des caractères en tant que second paramètre à la méthode
  22. <code>render()</code>.</para>
  23. </note>
  24. <para>Il existe plusieurs options pour un FIGlet. Quand vous instanciez <classname>Zend_Text_Figlet</classname>, vous pouvez
  25. les fournir sous la forme d'un tableau ou d'un objet <classname>Zend_Config</classname>. <itemizedlist>
  26. <listitem>
  27. <para><code>font</code> : défini la police utilisée pour le rendu. Par défaut la police incorporé sera
  28. utilisée.</para>
  29. </listitem>
  30. <listitem>
  31. <para><code>outputWidth</code> : défini la largeur maximum de la chaîne résultat. Ceci est utilisé pour
  32. le retour à la ligne automatique ainsi que pour la justification. Attention cependant à de trop petites
  33. valeurs, qui pourraient induire un comportement indéfini. La valeur par défaut est 80.</para>
  34. </listitem>
  35. <listitem>
  36. <para><code>handleParagraphs</code> : un booléen qui indique, comment les nouvelles lignes sont gérées.
  37. Réglé à <code>true</code>, les nouvelles lignes uniques sont ignorées et traitées comme un espace
  38. unique. Seules des nouvelles lignes multiples seront gérées comme telles. La valeur par défaut est
  39. <code>false</code>.</para>
  40. </listitem>
  41. <listitem>
  42. <para><code>justification</code> : peut être une des valeurs de type
  43. <classname>Zend_Text_Figlet::JUSTIFICATION_*</classname>. Il existe <code>JUSTIFICATION_LEFT</code>,
  44. <code>JUSTIFICATION_CENTER</code> et <code>JUSTIFICATION_RIGHT</code>. La justification par défaut est
  45. défini par la valeur de <code>rightToLeft</code>.</para>
  46. </listitem>
  47. <listitem>
  48. <para><code>rightToLeft</code> : défini la direction d'écriture du texte. Peut être
  49. <classname>Zend_Text_Figlet::DIRECTION_LEFT_TO_RIGHT</classname> ou
  50. <classname>Zend_Text_Figlet::DIRECTION_RIGHT_TO_LEFT</classname>. Par défaut le réglage du fichier de police est
  51. utilisé. Quand aucune justification n'est définie, un texte écrit de droite à gauche est automatiquement
  52. aligné à droite.</para>
  53. </listitem>
  54. <listitem>
  55. <para><code>smushMode</code> : un entier qui définit comme chaque caractère est fusionné avec les
  56. autres. Peut être la somme de multiple valeurs de type <classname>Zend_Text_Figlet::SM_*</classname>. Il existe
  57. les modes de fusion suivant : SM_EQUAL, SM_LOWLINE, SM_HIERARCHY, SM_PAIR, SM_BIGX, SM_HARDBLANK,
  58. SM_KERN et SM_SMUSH. Une valeur de 0 ne désactive pas entièrement la fusion, mais force la valeur
  59. SM_KERN, tandis que la valeur de -1 la désactive. Une explication des différents modes de fusion peut
  60. être trouvé <ulink url="http://www.jave.de/figlet/figfont.txt">ici</ulink>. Par défaut le réglage de la
  61. police est utilisé. L'option du mode de fusion est normalement seulement utilisé par les concepteurs de
  62. police testant les différents mode de disposition d'une nouvelle police.</para>
  63. </listitem>
  64. </itemizedlist></para>
  65. <example id="zend.text.figlet.example.using">
  66. <title>Utilisation Zend_Text_Figlet</title>
  67. <para>Cet exemple illustre une utilisation basique de <classname>Zend_Text_Figlet</classname> pour créer une texte FIGlet
  68. simple :</para>
  69. <programlisting role="php"><![CDATA[
  70. $figlet = new Zend_Text_Figlet();
  71. echo $figlet->render('Zend');
  72. ]]></programlisting>
  73. <para>En considérant que vous utilisez une police à espacement fixe, vous obtiendrez quelque chose comme ceci
  74. :</para>
  75. <programlisting role="text"><![CDATA[
  76. ______ ______ _ __ ______
  77. |__ // | ___|| | \| || | __ \\
  78. / // | ||__ | ' || | | \ ||
  79. / //__ | ||___ | . || | |__/ ||
  80. /_____|| |_____|| |_|\_|| |_____//
  81. `-----`' `-----` `-` -`' -----`
  82. ]]></programlisting>
  83. </example>
  84. </sect1>