On this page
Figlets
Laminas\Text\Figlet
is a component which enables developers to create a so called FIGlet text.
FIGlet text is a string represented as ASCII art.
FIGlets use a special font format, called FLT (FigLet Font). By default, one
standard font is shipped with Laminas\Text\Figlet
, but you can download
additional fonts at http://www.figlet.org.
Compressed Fonts
Laminas\Text\Figlet
supports gzipped fonts. This means that you can take an.flf
file and gzip it. To allowLaminas\Text\Figlet
to recognize this, the gzipped font must have the extension.gz
. Further, to be able to use gzipped fonts, you have to have enabled the PHP GZIP extension.Encoding
Laminas\Text\Figlet
expects your strings to be UTF-8 encoded by default. If this is not the case, you can supply the character encoding to the second parameter to therender()
method.
You can define multiple options for a FIGlet. When instantiating
Laminas\Text\Figlet\Figlet
, you can supply an array, a Traversable
that
supplies both keys and values, or an instance of Laminas\Config\Config
.
font
: Defines the font which should be used for rendering. If not defines, the built-in font will be used.outputWidth
: Defines the maximum width of the output string. This is used for word-wrap as well as justification. Be careful when using small values; they may result in an undefined behaviour. The default value is 80.handleParagraphs
: A boolean which indicates how new lines are handled. When set toTRUE
, single new lines are ignored and instead treated as single spaces; only multiple new lines will be handled as such. The default value isFALSE
.justification
: May be one of theLaminas\Text\Figlet\Figlet::JUSTIFICATION_*
constants, which includeJUSTIFICATION_LEFT
,JUSTIFICATION_CENTER
, andJUSTIFICATION_RIGHT
The default justification is defined by therightToLeft
value.rightToLeft
: Defines the direction in which text is written. May be eitherLaminas\Text\Figlet\Figlet::DIRECTION_LEFT_TO_RIGHT
orLaminas\Text\Figlet\Figlet::DIRECTION_RIGHT_TO_LEFT
. By default, the setting of the font file is used. When justification is not defined, a text written from right-to-left is automatically right-aligned.smushMode
: An integer bitfield which defines how single characters are smushed together; can be the sum of multiple values fromLaminas\Text\Figlet\Figlet::SM_*
. The component defines the following smush modes:SM_EQUAL
,SM_LOWLINE
,SM_HIERARCHY
,SM_PAIR
,SM_BIGX
,SM_HARDBLANK
,SM_KERN
, andSM_SMUSH
. A value of 0 doesn't disable the entire smushing, but forcesSM_KERN
to be applied, while a value of -1 disables it. An explanation of the different smush modes can be found here. By default the setting of the font file is used. The smush mode option is normally used only by font designers testing the various layoutmodes with a new font.
Basic Usage
$figlet = new Laminas\Text\Figlet\Figlet();
echo $figlet->render('Laminas');
Assuming you are using a monospace font, the above results in the following:
__ ___ _ _ ______ _ _ ___ _____
| || / _ \\ | \ / || /_ _// | \| || / _ \\ / ___//
| || / //\ \\ | \/ || -| ||- | ' || / //\ \\ \___ \\
| ||__ | ___ ||| . . || _| ||_ | . || | ___ || / //
|____// |_|| |_|||_|\/|_|| /_____// |_|\_|| |_|| |_|| /____//
`----` `-` `-` `-` `-` `-----` `-` -` `-` `-` `-----`