Zend_Text_Figlet.xml 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.text.figlet">
  5. <title>Zend_Text_Figlet</title>
  6. <para>
  7. <classname>Zend_Text_Figlet</classname> ist eine Komponente die es Entwicklern erlaubt einen
  8. sogenannten FIGlet Text zu erstellen. Ein FIGlet Text ist ein String der eine
  9. <acronym>ASCII</acronym> Kunst repräsentiert. FIGlets sind ein spezielles Schriftformat, das
  10. FLT (FigLet Font) genannt wird. Standardmäßig wird eine Schriftart mit
  11. <classname>Zend_Text_Figlet</classname> ausgeliefert, aber man kann zusätzliche Schriftarten
  12. unter <ulink url="http://www.figlet.org/fontdb.cgi">http://www.figlet.org</ulink>
  13. herunterladen.
  14. </para>
  15. <note>
  16. <title>Komprimierte Schriftarten</title>
  17. <para>
  18. <classname>Zend_Text_Figlet</classname> unterstützt gezippte Schriftarten. Das bedeutet
  19. das man eine <filename>.flf</filename> Datei nehmen und diese gzip-pen kann. Um
  20. <classname>Zend_Text_Figlet</classname> zu erlauben diese Datei zu erkennen, muß die
  21. gezippte Schriftart die Erweiterung <filename>.gz</filename> haben. Weiters, um die
  22. gezippte Schriftart verwenden zu können muß in <acronym>PHP</acronym> die Erweiterung
  23. GZIP aktiviert sein.
  24. </para>
  25. </note>
  26. <note>
  27. <title>Encoding</title>
  28. <para>
  29. <classname>Zend_Text_Figlet</classname> erwartet das Strings standardmäßig UTF-8 kodiert
  30. sind. Wenn das nicht der Fall ist, kann die Zeichenkodierung als zweiter Parameter an
  31. die <methodname>render()</methodname> Methode übergeben werden.
  32. </para>
  33. </note>
  34. <para>
  35. Man kann mehrere Optionen für ein FIGlet definieren. Wenn ein
  36. <classname>Zend_Text_Figlet</classname> instanziiert wird, kann ein Array oder eine Instanz
  37. von <classname>Zend_Config</classname> übergeben werden.
  38. <itemizedlist>
  39. <listitem>
  40. <para>
  41. <property>font</property> - Definiert die Schriftart die für die Darstellung
  42. verwendet werden soll. Wenn keine definiert wird, wird die eingebaute Schriftart
  43. verwendet.
  44. </para>
  45. </listitem>
  46. <listitem>
  47. <para>
  48. <property>outputWidth</property> - Definiert die maximale Breite des
  49. Ausgabestrings. Das wird für die Trennung von Wörtern verwendet sowie für die
  50. Feineinstellung. Achtung vor zu kleinen Werten, da diese zu undefiniertem
  51. Verhalten führen können. Der Standardwert ist 80.
  52. </para>
  53. </listitem>
  54. <listitem>
  55. <para>
  56. <property>handleParagraphs</property> - Ein boolscher Wert welcher anzeigt wie
  57. neue Zeilen zu handhaben sind. Wenn er auf <constant>TRUE</constant> gesetzt
  58. wird, werden einzelne neue Zeilen ignoriert und stattdessen als einzelnes
  59. Leerzeichen behandelt. Nur mehrere neue Zeilen werden als solche behandelt. Der
  60. Standardwert ist <constant>FALSE</constant>.
  61. </para>
  62. </listitem>
  63. <listitem>
  64. <para>
  65. <property>justification</property> - Kann einer der Werte von
  66. <classname>Zend_Text_Figlet::JUSTIFICATION_*</classname> sein. Es gibt
  67. <constant>JUSTIFICATION_LEFT</constant>,
  68. <constant>JUSTIFICATION_CENTER</constant> und
  69. <constant>JUSTIFICATION_RIGHT</constant>. Die standardmäßige Justierung ist mit
  70. dem Wert <property>rightToLeft</property> definiert.
  71. </para>
  72. </listitem>
  73. <listitem>
  74. <para>
  75. <property>rightToLeft</property> - Definiert in welche Richtung geschrieben
  76. wird. Das kann entweder
  77. <constant>Zend_Text_Figlet::DIRECTION_LEFT_TO_RIGHT</constant> oder
  78. <constant>Zend_Text_Figlet::DIRECTION_RIGHT_TO_LEFT</constant> sein.
  79. Standardmäßig wird die Einstellung der Datei der Schriftart verwendet. Wenn die
  80. Justierung nicht definiert ist, wird ein Text der von rechts-nach-links
  81. geschrieben wird automatisch nach rechts gerückt.
  82. </para>
  83. </listitem>
  84. <listitem>
  85. <para>
  86. <property>smushMode</property> - Ein Integer-Bitfeld welches definiert wie
  87. einzelne Zeichen ineinander gesmusht (verflochten) werden. Das kann die Summe
  88. von mehreren Werten von <classname>Zend_Text_Figlet::SM_*</classname> sein. Es
  89. gibt die folgenden Smush-Modi: SM_EQUAL, SM_LOWLINE, SM_HIERARCHY, SM_PAIR,
  90. SM_BIGX, SM_HARDBLANK, SM_KERN und SM_SMUSH. Ein Wert von 0 schaltet das
  91. Smushing nicht aus sondern erzwingt die Anwendung von SM_KERN, während es ein
  92. Wert von -1 ausschaltet. Eine Erklärung der verschiedenen Smush-Modi kann <ulink
  93. url="http://www.jave.de/figlet/figfont.txt">hier</ulink> gefunden werden.
  94. Die Smush-Mode Option wird normalerweise nur von Schriftart-Designer verwendet
  95. um die verschiedenen Layoutmodi mit einer neuen Schriftart zu testen.
  96. </para>
  97. </listitem>
  98. </itemizedlist>
  99. </para>
  100. <example id="zend.text.figlet.example.using">
  101. <title>Verwendung von Zend_Text_Figlet</title>
  102. <para>
  103. Dieses Beispiel zeigt die einfache Verwendung von
  104. <classname>Zend_Text_Figlet</classname> um einen einfachen FIGlet Text zu erstellen:
  105. </para>
  106. <programlisting language="php"><![CDATA[
  107. $figlet = new Zend_Text_Figlet();
  108. echo $figlet->render('Zend');
  109. ]]></programlisting>
  110. <para>
  111. Angenommen es wird eine Monospace Schriftart verwenden dann würde das Beispiel wie folgt
  112. aussehen:
  113. </para>
  114. <programlisting language="text"><![CDATA[
  115. ______ ______ _ __ ______
  116. |__ // | ___|| | \| || | __ \\
  117. / // | ||__ | ' || | | \ ||
  118. / //__ | ||___ | . || | |__/ ||
  119. /_____|| |_____|| |_|\_|| |_____//
  120. `-----`' `-----` `-` -`' -----`
  121. ]]></programlisting>
  122. </example>
  123. </sect1>