Zend_Text_Figlet.xml 6.3 KB

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