View on
Jerrad Pierce > Text-FIGlet >


Annotate this POD


New  1
Open  1
View/Report Bugs

NAME ^ - display large characters made up of ordinary screen characters

SYNOPSIS ^ [ -A ] [ -C ] [ -D ] [ -E ] [ -L ] [ -N ] [ -R ] [ -U ] [ -X ] [ -c ] [ -d=fontdirectory ] [ -e EXPR] [ -f=fontfile ] [ -help ] [ -l ] [ -r ] [ -w=outputwidth ] [ -x ]

DESCRIPTION ^ prints its input using large characters made up of ordinary screen characters. output is generally reminiscent of the sort of signatures many people like to put at the end of e-mail and UseNet messages. It is also reminiscent of the output of some banner programs, although it is oriented normally, not sideways. can print in a variety of fonts, both left-to-right and right-to-left, with adjacent characters kerned and smushed together in various ways. fonts are stored in separate files, which can be identified by the suffix .flf. Most font files will be stored in FIGlet's default font directory. can also use control files, which tell it to map certain input characters to certain other characters, similar to the Unix tr command. Control files can be identified by the suffix .flc. Most FIGlet control files will be stored in FIGlet's default font directory.



All Words. Once the - arguments are read, all words remaining on the command line are used instead of standard input to print letters. Allows shell scripts to generate large letters without having to dummy up standard input files.

An empty character, obtained by two sequential and empty quotes, results in a line break.

To include text begining with - that might otherwise appear to be an invalid argument, use the argument --

-C=controlfile -N

These options deal with FIGlet controlfiles. A controlfile is a file containing a list of commands that FIGlet executes each time it reads a character. These commands can map certain input characters to other characters, similar to the Unix tr command or the FIGlet -D option. FIGlet maintains a list of controlfiles, which is empty when FIGlet starts up. -C adds the given controlfile to the list. -N clears the controlfile list, cancelling the effect of any previous -C. FIGlet executes the commands in all controlfiles in the list. See the file figfont.txt, provided with FIGlet, for details on how to write a controlfile.

-D -E

-E is the default, and a no-op.

-D switches to the German (ISO 646-DE) character set. Turns `[', `\' and `]' into umlauted A, O and U, respectively. `{', `|' and `}' turn into the respective lower case versions of these. `~' turns into s-z.

These options are deprecated, which means they may soon be removed. The modern way to achieve this effect is with control files, see -C.


These options print various information about FIGlet, then exit.

1 Version (integer).

This will print the version of your copy of FIGlet as a decimal integer. The main version number is multiplied by 10000, the sub-version number is multiplied by 100, and the sub-sub-version number is multiplied by 1. These are added together, and the result is printed out. For example, FIGlet 2.1.2 will print ``20102''. If there is ever a version 2.1.3, it will print ``20103''. Similarly, version 3.7.2 would print ``30702''. These numbers are guaranteed to be ascending, with later versions having higher numbers.

2 Default font directory.

This will print the default font directory. It is affected by the -d option.

3 Font.

This will print the name of the font FIGlet would use. It is affected by the -f option. This is not a filename; the .flf suffix is not printed.

-L -R -X

These options control whether FIGlet prints left-to-right or right-to-left. -L selects left-to-right printing. -R selects right-to-left printing. -X (default) makes FIGlet use whichever is specified in the font file.


Process input as Unicode, if you use a control file with the u directive unicode processing is automagically enabled for any text processed with that control.

-c -l -r -x

These options handle the justification of FIGlet output. -c centers the output horizontally. -l makes the output flush-left. -r makes it flush-right. -x (default) sets the justification according to whether left-to-right or right-to-left text is selected. Left-to-right text will be flush-left, while right-to-left text will be flush-right. (Left-to-rigt versus right-to-left text is controlled by -L, -R and -X.)


Change the default font directory. FIGlet looks for fonts first in the default directory and then in the current directory. If the -d option is not specified, FIGlet uses the directory that was specified when it was compiled. To find out which directory this is, use the -I2 option.


Evaluates the remaining arguments as perl and processes the results. This can be especially useful for retrieving Unicode characters.


Select the font. The .flf suffix may be left off of fontfile, in which case FIGlet automatically appends it. FIGlet looks for the file first in the default font directory and then in the current directory, or, if fontfile was given as a full pathname, in the given directory. If the -f option is not specified, FIGlet uses the font that was specified when it was compiled. To find out which font this is, use the -I3 option.


Specifies how Text::FIGlet::Font should ``smush'' and kern consecutive characters together. On the command line, -m0 can be useful, as it tells FIGlet to kern characters without smushing them together. Otherwise, this option is rarely needed, as a Text::FIGlet::Font font file specifies the best smushmode to use with the font. -m is, therefore, most useful to font designers testing the various smushmodes with their font. smushmode can be -2 through 63.


Get mode from font file (default).

Every FIGlet font file specifies the best smushmode to use with the font. This will be one of the smushmodes (-1 through 63) described in the following paragraphs.


No smushing or kerning.

Characters are simply concatenated together.


Fixed width.

This will pad each character in the font such that they are all a consistent width. The padding is done such that the character is centered in it's "cell", and any odd padding is the trailing edge.


Kern only.

Characters are pushed together until they touch.


These options control the outputwidth, or the screen width FIGlet assumes when formatting its output. FIGlet uses the outputwidth to determine when to break lines and how to center the output. Normally, FIGlet assumes 80 columns so that people with wide terminals won't annoy the people they e-mail FIGlet output to. -w sets the outputwidth to the given integer. An outputwidth of 1 is a special value that tells FIGlet to print each non- space character, in its entirety, on a separate line, no matter how wide it is. Another special outputwidth is -1, it means to not warp.

EXAMPLES ^ -A Hello "" World

ENVIRONMENT ^ will make use of these environment variables if present


The default font to load. If undefined the default is standard.flf It should reside in the directory specified by FIGLIB.


The default location of fonts. If undefined the default is /usr/games/lib/figlet


FIGlet font files are available at


Under pre 5.8 perl -e may munge the first character if it is Unicode, this is a bug in perl itself. The output is usually:

    o   \\ 
   /_\   >>
  /   \ // 

If this occurs, prepend the sequence with a null.


Text::FIGlet, figlet(6), banner(6),|


Jerrad Pierce <>|<>

syntax highlighting: