TigerZF
🌐Español

Capítulo 69. Zend_Text

69.1. Zend_Text_Figlet

Zend_Text_Figlet es un componente que permite a los desarrolladores crear el llamado texto FIGlet. Un texto FIGlet es una cadena que se representa como arte ASCII. Los FIGlets utilizan un formato de fuente especial, denominado FLT (FigLet Font). Por defecto, se distribuye una fuente estándar con Zend_Text_Figlet, pero puede descargar fuentes adicionales en http://www.figlet.org.

[Note] Fuentes comprimidas

Zend_Text_Figlet admite fuentes comprimidas con gzip. Esto significa que puede tomar un archivo .flf y comprimirlo con gzip. Para que Zend_Text_Figlet lo reconozca, la fuente comprimida debe tener la extensión .gz. Además, para poder usar fuentes comprimidas, debe tener habilitada la extensión GZIP de PHP.

[Note] Codificación

Zend_Text_Figlet espera que sus cadenas estén codificadas en UTF-8 por defecto. Si este no es el caso, puede indicar la codificación de caracteres como segundo parámetro del método render().

Puede definir múltiples opciones para un FIGlet. Al instanciar Zend_Text_Figlet, puede suministrar un array o una instancia de Zend_Config.

  • font - Define la fuente que se debe usar para el renderizado. Si no se define, se utilizará la fuente incorporada.

  • outputWidth - Define el ancho máximo de la cadena de salida. Se utiliza tanto para el ajuste de línea como para la justificación. Tenga cuidado con valores demasiado pequeños, ya que pueden dar lugar a un comportamiento indefinido. El valor por defecto es 80.

  • handleParagraphs - Un valor booleano que indica cómo se manejan los saltos de línea. Cuando se establece en TRUE, los saltos de línea individuales se ignoran y en su lugar se tratan como espacios simples. Solo los saltos de línea múltiples se tratarán como tales. El valor por defecto es FALSE.

  • justification - Puede ser uno de los valores de Zend_Text_Figlet::JUSTIFICATION_*. Existen JUSTIFICATION_LEFT, JUSTIFICATION_CENTER y JUSTIFICATION_RIGHT. La justificación predeterminada viene definida por el valor de rightToLeft.

  • rightToLeft - Define en qué dirección se escribe el texto. Puede ser Zend_Text_Figlet::DIRECTION_LEFT_TO_RIGHT o Zend_Text_Figlet::DIRECTION_RIGHT_TO_LEFT. Por defecto se utiliza la configuración del archivo de fuente. Cuando la justificación no está definida, un texto escrito de derecha a izquierda se alinea automáticamente a la derecha.

  • smushMode - Un campo de bits entero que define cómo se combinan (smush) los caracteres individuales entre sí. Puede ser la suma de varios valores de Zend_Text_Figlet::SM_*. Existen los siguientes modos de smush: SM_EQUAL, SM_LOWLINE, SM_HIERARCHY, SM_PAIR, SM_BIGX, SM_HARDBLANK, SM_KERN y SM_SMUSH. Un valor de 0 no desactiva por completo el smushing, sino que fuerza la aplicación de SM_KERN, mientras que un valor de -1 lo desactiva. Puede encontrar una explicación de los distintos modos de smush aquí. Por defecto se utiliza la configuración del archivo de fuente. La opción de modo de smush normalmente solo la utilizan los diseñadores de fuentes al probar los distintos modos de disposición con una fuente nueva.

Ejemplo 69.1. Uso de Zend_Text_Figlet

Este ejemplo ilustra el uso básico de Zend_Text_Figlet para crear un texto FIGlet sencillo:

$figlet = new Zend_Text_Figlet();
echo $figlet->render('Zend');

Suponiendo que esté usando una fuente monoespaciada, esto se vería de la siguiente manera:

  ______    ______    _  __   ______
 |__  //   |  ___||  | \| || |  __ \\
   / //    | ||__    |  ' || | |  \ ||
  / //__   | ||___   | .  || | |__/ ||
 /_____||  |_____||  |_|\_|| |_____//
 `-----`'  `-----`   `-` -`'  -----`