<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 15157 -->
<!-- Reviewed: no -->
<sect1 id="zend.text.figlet">
    <title>Zend_Text_Figlet</title>
    <para>
        <classname>Zend_Text_Figlet</classname> ist eine Komponente die es Entwicklern erlaubt einen sogenannten
        FIGlet Text zu erstellen. FIGlets sind ein spezielles Schriftformat, das FLT (FigLet Font) genannt
        wird. Standardmäßig wird eine Schriftart mit <classname>Zend_Text_Figlet</classname> ausgeliefert, aber man
        kann zusätzliche Schriftarten unter
        <ulink url="http://www.figlet.org/fontdb.cgi">http://www.figlet.org</ulink> herunterladen.
    </para>
    <note>
        <title>Komprimierte Schriftarten</title>
        <para>
            <classname>Zend_Text_Figlet</classname> unterstützt gezippte Schriftarten. Das bedeutet das man eine
            <code>.flf</code> Datei nehmen und diese gzip-pen kann. Um <classname>Zend_Text_Figlet</classname>
            zu erlauben diese Datei zu erkennen, muß die gezippte Schriftart die Erweiterung <code>.gz</code>
            haben. Weiters, um die gezippte Schriftart verwenden zu können muß in PHP die Erweiterung GZIP
            aktiviert sein.
        </para>
    </note>
    <note>
        <title>Encoding</title>
        <para>
            <classname>Zend_Text_Figlet</classname> erwartet das Strings standardmäßig UTF-8 kodiert sind. Wenn das
            nicht der Fall ist, kann die Zeichenkodierung als zweiter Parameter an die
            <code>render()</code> Methode übergeben werden.
        </para>
    </note>
    <para>
        Man kann mehrere Optionen für ein FIGlet definieren. Wenn ein <classname>Zend_Text_Figlet</classname> instanziiert
        wird, kann ein Array oder eine Instanz von <classname>Zend_Config</classname> übergeben werden.

        <itemizedlist>
            <listitem>
                <para>
                    <code>font</code> - Definiert die Schriftart die für die Darstellung verwendet werden soll.
                    Wenn keine definiert wird, wird die eingebaute Schriftart verwendet.
                </para>
            </listitem>
            <listitem>
                <para>
                    <code>outputWidth</code> - Definiert die maximale Breite des Ausgabestrings. Das wird für
                    die Trennung von Wörtern verwendet sowie für die Feineinstellung. Achtungvor zu kleinen
                    Werten, da diese zu undefiniertem Verhalten führen können. Der Standardwert ist 80.
                </para>
            </listitem>
            <listitem>
                <para>
                    <code>handleParagraphs</code> - Ein boolscher Wert welcher anzeigt wie neue Zeilen zu
                    handhaben sind. Wenn er auf true gesetzt wird, werden einzelne neue Zeilen ignoriert und
                    stattdessen als einzelnes Leerzeichen behandelt. Nur mehrere neue Zeilen werden als solche
                    behandelt. Der Standardwert ist <code>false</code>.
                </para>
            </listitem>
            <listitem>
                <para>
                    <code>justification</code> - Kann einer der Werte von
                    <classname>Zend_Text_Figlet::JUSTIFICATION_*</classname> sein. Es gibt
                    <code>JUSTIFICATION_LEFT</code>, <code>JUSTIFICATION_CENTER</code>
                    und <code>JUSTIFICATION_RIGHT</code>. Die standardmäßige Justierung ist mit dem Wert
                    <code>rightToLeft</code> definiert.
                </para>
            </listitem>
            <listitem>
                <para>
                    <code>rightToLeft</code> - Definiert in welche Richtung geschrieben wird. Das kann entweder
                    <classname>Zend_Text_Figlet::DIRECTION_LEFT_TO_RIGHT</classname> oder
                    <classname>Zend_Text_Figlet::DIRECTION_RIGHT_TO_LEFT</classname> sein. Standardmäßig wird die
                    Einstellung der Datei der Schriftart verwendet. Wenn die Justierung nicht definiert ist,
                    wird ein Text der von rechts-nach-links geschrieben wird automatisch nach rechts gerückt.
                </para>
            </listitem>
            <listitem>
                <para>
                    <code>smushMode</code> - Ein Integer-Bitfeld welches definiert wie einzelne Zeichen
                    ineinander gesmusht (verflochten) werden. Das kann die Summe von mehreren Werten von
                    <classname>Zend_Text_Figlet::SM_*</classname> sein. Es gibt die folgenden Smush-Modi:
                    SM_EQUAL, SM_LOWLINE, SM_HIERARCHY, SM_PAIR, SM_BIGX, SM_HARDBLANK, SM_KERN und
                    SM_SMUSH. Ein Wert von 0 schaltet das Smushing nicht aus sondern erzwingt die Anwendung von
                    SM_KERN, wärend es ein Wert von -1 ausschaltet. Eine Erklärung der verschiedenen Smush-Modi
                    kann <ulink url="http://www.jave.de/figlet/figfont.txt">hier</ulink> gefunden werden. Die
                    Smush-Mode Option wird normalerweise nur von Schriftart-Designer verwendet um die
                    verschiedenen Layoutmodi mit einer neuen Schriftart zu testen.
                </para>
            </listitem>
        </itemizedlist>
    </para>
    <example id="zend.text.figlet.example.using">
        <title>Verwendung von Zend_Text_Figlet</title>
        <para>
            Dieses Beispiel zeigt die einfache Verwendung von <classname>Zend_Text_Figlet</classname> um einen einfachen
            FIGlet Text zu erstellen:
        </para>
        <programlisting role="php"><![CDATA[
$figlet = new Zend_Text_Figlet();
echo $figlet->render('Zend');
]]></programlisting>
        <para>
            Angenommen es wird eine Monospace Schriftart verwenden dann würde das Beispiel wie folgt aussehen:
        </para>
        <programlisting role="text"><![CDATA[
  ______    ______    _  __   ______
 |__  //   |  ___||  | \| || |  __ \\
   / //    | ||__    |  ' || | |  \ ||
  / //__   | ||___   | .  || | |__/ ||
 /_____||  |_____||  |_|\_|| |_____//
 `-----`'  `-----`   `-` -`'  -----`
]]>
</programlisting>
    </example>
</sect1>
<!--
vim:se ts=4 sw=4 et:
-->
