1FIGLET(6) Games Manual FIGLET(6)
2
3
4
6 FIGlet - display large characters made up of ordinary screen characters
7
8
10 figlet [ -cklnoprstvxDELNRSWX ] [ -d fontdirectory ]
11 [ -f fontfile ] [ -m layoutmode ]
12 [ -w outputwidth ] [ -C controlfile ]
13 [ -I infocode ] [ message ]
14
15
17 FIGlet prints its input using large characters (called ``FIGcharac‐
18 ters'')made up of ordinary screen characters (called ``sub-charac‐
19 ters''). FIGlet output is generally reminiscent of the sort of ``sig‐
20 natures'' many people like to put at the end of e-mail and UseNet mes‐
21 sages. It is also reminiscent of the output of some banner programs,
22 although it is oriented normally, not sideways.
23
24 FIGlet can print in a variety of fonts, both left-to-right and right-
25 to-left, with adjacent FIGcharacters kerned and ``smushed'' together in
26 various ways. FIGlet fonts are stored in separate files, which can be
27 identified by the suffix ``.flf''. In systems with UTF-8 support
28 FIGlet may also support TOIlet ``.tlf'' fonts. Most FIGlet font files
29 will be stored in FIGlet's default font directory.
30
31 FIGlet can also use ``control files'', which tell it to map certain
32 input characters to certain other characters, similar to the Unix tr
33 command. Control files can be identified by the suffix ``.flc''. Most
34 FIGlet control files will be stored in FIGlet's default font directory.
35
36 You can store FIGlet fonts and control files in compressed form. See
37 COMPRESSED FONTS.
38
39
41 Just start up FIGlet (type ``figlet'') and then type whatever you want.
42 Alternatively, pipe a file or the output of another command through
43 FIGlet, or put input on the command line after the options. See EXAM‐
44 PLES for other things to do.
45
46
48 FIGlet reads command line options from left to right, and only the last
49 option that affects a parameter has any effect. Almost every option
50 has an inverse, so that, for example, if FIGlet is customized with a
51 shell alias, all the options are usually still available.
52
53 Commonly-used options are -f, -c, -k, -t, -p and -v.
54
55
56 -f fontfile
57 Select the font. The .flf suffix may be left off of fontfile,
58 in which case FIGlet automatically appends it. FIGlet looks for
59 the file first in the default font directory and then in the
60 current directory, or, if fontfile was given as a full pathname,
61 in the given directory. If the -f option is not specified,
62 FIGlet uses the font that was specified when it was compiled.
63 To find out which font this is, use the -I3 option.
64
65
66 -d fontdirectory
67 Change the default font directory. FIGlet looks for fonts first
68 in the default directory and then in the current directory. If
69 the -d option is not specified, FIGlet uses the directory that
70 was specified when it was compiled. To find out which directory
71 this is, use the -I2 option.
72
73
74 -c
75 -l
76 -r
77 -x These options handle the justification of FIGlet output. -c
78 centers the output horizontally. -l makes the output flush-
79 left. -r makes it flush-right. -x (default) sets the justifi‐
80 cation according to whether left-to-right or right-to-left text
81 is selected. Left-to-right text will be flush-left, while
82 right-to-left text will be flush-right. (Left-to-right versus
83 right-to-left text is controlled by -L, -R and -X.)
84
85
86 -t
87 -w outputwidth
88 These options control the outputwidth, or the screen width
89 FIGlet assumes when formatting its output. FIGlet uses the out‐
90 putwidth to determine when to break lines and how to center the
91 output. Normally, FIGlet assumes 80 columns so that people with
92 wide terminals won't annoy the people they e-mail FIGlet output
93 to. -t sets the outputwidth to the terminal width. If the ter‐
94 minal width cannot be determined, the previous outputwidth is
95 retained. -w sets the outputwidth to the given integer. An
96 outputwidth of 1 is a special value that tells FIGlet to print
97 each non-space FIGcharacter, in its entirety, on a separate
98 line, no matter how wide it is.
99
100
101 -p
102 -n These options control how FIGlet handles newlines. -p puts
103 FIGlet into ``paragraph mode'', which eliminates some unneces‐
104 sary line breaks when piping a multi-line file through FIGlet.
105 In paragraph mode, FIGlet treats line breaks within a paragraph
106 as if they were merely blanks between words. (Specifically, -p
107 causes FIGlet to convert any newline which is not preceded by a
108 newline and not followed by a space character into a blank.) -n
109 (default) puts FIGlet back to normal, in which every newline
110 FIGlet reads causes it to produce a line break.
111
112
113 -D
114 -E -D switches to the German (ISO 646-DE) character set. Turns
115 `[', `\' and `]' into umlauted A, O and U, respectively. `{',
116 `|' and `}' turn into the respective lower case versions of
117 these. `~' turns into s-z. -E turns off -D processing. These
118 options are deprecated, which means they probably will not
119 appear in the next version of FIGlet.
120
121
122 -C controlfile
123 -N These options deal with FIGlet controlfiles. A controlfile is a
124 file containing a list of commands that FIGlet executes each
125 time it reads a character. These commands can map certain input
126 characters to other characters, similar to the Unix tr command
127 or the FIGlet -D option. FIGlet maintains a list of con‐
128 trolfiles, which is empty when FIGlet starts up. -C adds the
129 given controlfile to the list. -N clears the controlfile list,
130 cancelling the effect of any previous -C. FIGlet executes the
131 commands in all controlfiles in the list. See the file fig‐
132 font.txt, provided with FIGlet, for details on how to write a
133 controlfile.
134
135
136 -s
137 -S
138 -k
139 -W
140
141 -o These options control how FIGlet spaces the FIGcharacters that
142 it outputs. -s (default) and -S cause ``smushing''. The
143 FIGcharacters are displayed as close together as possible, and
144 overlapping sub-characters are removed. Exactly which sub-char‐
145 acters count as ``overlapping'' depends on the font's layout‐
146 mode, which is defined by the font's author. -k causes ``kern‐
147 ing''. As many blanks as possible are removed between FIGchar‐
148 acters, so that they touch, but the FIGcharacters are not
149 smushed. -W makes FIGlet display all FIGcharacters at their
150 full width, which may be fixed or variable, depending on the
151 font.
152
153 The difference between -s and -S is that -s will not smush a
154 font whose author specified kerning or full width as the default
155 layoutmode, whereas -S will attempt to do so.
156
157 If there is no information in the font about how to smush, or if
158 the -o option is specified, then the FIGcharacters are ``over‐
159 lapped''. This means that after kerning, the first subcharacter
160 of each FIGcharacter is removed. (This is not done if a
161 FIGcharacter contains only one subcharacter.)
162
163
164 -m layoutmode
165 Specifies an explicit layoutmode between 1 and 63. Smushmodes
166 are explained in figfont.txt, which also provides complete
167 information on the format of a FIGlet font. For the sake of
168 backward compatibility with versions of FIGlet before 2.2, -m0
169 is equivalent to -k, -m-1 is equivalent to -W, and -m-2 is
170 equivalent to -s. The -m switch is normally used only by font
171 designers testing the various layoutmodes with a new font.
172
173
174 -v
175 -I infocode
176 These options print various information about FIGlet, then exit.
177 If several of these options are given on the command line, only
178 the last is executed, and only after all other command-line
179 options have been dealt with.
180
181 -v prints version and copyright information, as well as a
182 ``Usage: ...'' line. -I prints the information corresponding
183 to the given infocode in a consistent, reliable (i.e., guaran‐
184 teed to be the same in future releases) format. -I is primarily
185 intended to be used by programs that use FIGlet. infocode can
186 be any of the following.
187
188 -1 Normal operation (default).
189 This infocode indicates that FIGlet should operate nor‐
190 mally, not giving any informational printout, printing
191 its input in the selected font.
192
193 0 Version and copyright.
194 This is identical to -v.
195
196 1 Version (integer).
197 This will print the version of your copy of FIGlet as a
198 decimal integer. The main version number is multiplied
199 by 10000, the sub-version number is multiplied by 100,
200 and the sub-sub-version number is multiplied by 1. These
201 are added together, and the result is printed out. For
202 example, FIGlet 2.2 will print ``20200'' , version 2.2.1
203 will print ``20201''. Similarly, version 3.7.2 would
204 print ``30702''. These numbers are guaranteed to be
205 ascending, with later versions having higher numbers.
206 Note that the first major release of FIGlet, version 2.0,
207 did not have the -I option.
208
209 2 Default font directory.
210 This will print the default font directory. It is
211 affected by the -d option.
212
213 3 Font.
214 This will print the name of the font FIGlet would use.
215 It is affected by the -f option. This is not a filename;
216 the ``.flf'' suffix is not printed.
217
218 4 Output width.
219 This will print the value FIGlet would use for out‐
220 putwidth, the number of columns wide FIGlet assumes the
221 screen is. It is affected by the -w and -t options.
222
223 5 Supported font formats.
224 This will list font formats supported by FIGlet . Possi‐
225 ble formats are ``flf2'' for FIGfont Version 2 .flf files
226 and ``tlf2'' for TOIlet .tlf files.
227
228 If infocode is any other positive value, FIGlet will simply exit
229 without printing anything.
230
231
232 -L
233 -R
234 -X These options control whether FIGlet prints left-to-right or
235 right-to-left. -L selects left-to-right printing. -R selects
236 right-to-left printing. -X (default) makes FIGlet use whichever
237 is specified in the font file.
238
239 Once the options are read, if there are any remaining words on
240 the command line, they are used instead of standard input as the
241 source of text. This feature allows shell scripts to generate
242 large letters without having to dummy up standard input files.
243
244 An empty argument, obtained by two sequential quotes, results in
245 a line break.
246
247
249 To use FIGlet with its default settings, simply type
250
251 example% figlet
252
253 and then type whatever you like.
254
255 To change the font, use the -f option, for example,
256
257 example% figlet -f script
258
259
260 Use the -c option if you would prefer centered output:
261
262 example% figlet -c
263
264
265 We have found that the most common use of FIGlet is making up large
266 text to be placed in e-mail messages. For this reason, FIGlet defaults
267 to 80 column output. If you are using a wider terminal, and would like
268 FIGlet to use the full width of your terminal, use the -t option:
269
270 example% figlet -t
271
272
273 If you don't want FIGlet to smush FIGcharacters into each other, use
274 the -k option:
275
276 example% figlet -k
277
278
279 If figlet gets its input from a file, it is often a good idea to use
280 -p:
281
282 example% figlet -p < myfile
283
284
285 Of course, the above can be combined:
286
287 example% figlet -ptk -f shadow < anotherfile
288 example% figlet -cf slant
289
290
291 Finally, if you want to have FIGlet take the input from the command
292 line instead of a file:
293
294 example% figlet Hello world
295
296
297
298 Other Things to Try
299 On many systems nice effects can be obtained from the lean font by pip‐
300 ing it through tr. Some you might want to try are the following:
301
302 example% figlet -f lean | tr ' _/' ' ()'
303 example% figlet -f lean | tr ' _/' './\\'
304 example% figlet -f lean | tr ' _/' ' //'
305 example% figlet -f lean | tr ' _/' '/ '
306
307 Similar things can be done with the block font and many of the other
308 FIGlet fonts.
309
310
312 You can compress the fonts and controlfiles using the zip archiving
313 program. Place only one font or controlfile in each archive, and
314 rename the archive file (which will have a name ending in .zip) back to
315 .flf or .flc as the case may be. If you don't rename the file appro‐
316 priately, FIGlet won't be able to find it.
317
318 FIGlet does not care what the filename within the .zip archive is, and
319 will process only the first file.
320
321 The .zip format was chosen because tools to create and manipulate it
322 are widely available for free on many platforms.
323
324
326 Here are a few notes about some of the fonts provided with FIGlet. You
327 can get many other font from the Web site
328 http://www.figlet.org/ This location should also contain the latest
329 version of FIGlet and other related utilities.
330
331 The font standard is the basic FIGlet font, used when no other font is
332 specified. (This default can be changed when FIGlet is compiled on
333 your system.) The controlfiles 8859-2, 8859-3, 8859-4, and 8859-9 are
334 provided for interpreting those character sets, also known as ISO
335 Latin-2 through Latin-5 respectively. The character set 8859-1 (ISO
336 Latin-1) is FIGlet's default and requires no special controlfile.
337
338 Closely related are the fonts slant, shadow, small, smslant (both small
339 and slanted), smshadow, (both small and shadowed), and big. These
340 fonts support only Latin-1, except that big supports Greek FIGcharac‐
341 ters as well; the controlfiles frango (for Greek text written in Latin
342 characters, so-called ``frangovlakhika''), and 8859-7 (for mixed
343 Latin/Greek text) are provided.
344
345 The ivrit font is a right-to-left font including both Latin and Hebrew
346 FIGcharacters; the Latin characters are those of the standard font.
347 The available controlfiles are ilhebrew, which maps the letters you get
348 by typing on a U.S. keyboard as if it were a Hebrew keyboard; ushebrew,
349 which makes a reasonable mapping from Latin letters to Hebrew ones; and
350 8859-8, which supports mixed Latin/Hebrew text. Warning: FIGlet
351 doesn't support bidirectional text, so everything will come out right-
352 to-left, even Latin letters.
353
354 The fonts terminal, digital, and bubble output the input character with
355 some decoration around it (or no decoration, in the case of terminal).
356 The characters coded 128 to 159, which have varying interpretations,
357 are output as-is. You can use the appropriate controlfiles to process
358 Latin-2, Latin-3, or Latin-4 (but not Latin-5) text, provided your out‐
359 put device has screen or printer fonts that are appropriate for these
360 character sets.
361
362 Two script fonts are available: script, which is larger than standard,
363 and smscript, which is smaller.
364
365 The font lean is made up solely of `/' and `_' sub-characters; block is
366 a straight (non-leaning) version of it.
367
368 The font mini is very small, and especially suitable for e-mail signa‐
369 tures.
370
371 The font banner looks like the output of the banner program; it is a
372 capitals and small capitals font that doesn't support the ISO Latin-1
373 extensions to plain ASCII. It does, however, support the Japanese
374 katakana syllabary; the controlfile uskata maps the upper-case and
375 lower-case Latin letters into the 48 basic katakana characters, and the
376 controlfile jis0201 handles JIS 0201X (JIS-Roman) mixed Latin and
377 katakana text. Furthermore, the banner font also supports Cyrillic
378 (Russian) FIGcharacters; the controlfile 8859-5 supports mixed Latin
379 and Cyrillic text, the controlfile koi8r supports the popular KOI8-R
380 mapping of mixed text, and the controlfile moscow supports a sensible
381 mapping from Latin to Cyrillic, compatible with the moscow font (not
382 supplied).
383
384 The fonts mnemonic and safemnem support the mnemonic character set doc‐
385 umented in RFC 1345. They implement a large subset of Unicode (over
386 1800 characters) very crudely, using ASCII-based mnemonic sequences,
387 and are good for getting a quick look at UTF-8 unicode files, using the
388 controlfile utf8.
389
390
392 FIGLET_FONTDIR
393 If $FIGLET_FONTDIR is set, its value is used as a path to search
394 for font files.
395
396
398 file.flf FIGlet font file
399 file.flc FIGlet control file
400
401
403 FIGlet's diagnostics are intended to be self-explanatory. Possible
404 messages are
405
406 Usage: ...
407 Out of memory
408 Unable to open font file
409 Not a FIGlet 2 font file
410 Unable to open control file
411 Not a FIGlet 2 control file
412 "-t" is disabled, since ioctl is not fully implemented.
413
414 This last message is printed when the -t option is given, but the oper‐
415 ating system in use does not include the system call FIGlet uses to
416 determine the terminal width.
417
418 FIGlet also prints an explanatory message if the -F option is given on
419 the command line. The earlier version of FIGlet, version 2.0, listed
420 the available fonts when the -F option was given. This option has been
421 removed from FIGlet 2.1. It has been replaced by the figlist script,
422 which is part of the standard FIGlet package.
423
424
426 ``FIGlet'' stands for ``Frank, Ian and Glenn's LETters''. Inspired by
427 Frank's .sig, Glenn wrote (most of) it, and Ian helped.
428
429 Most of the standard FIGlet fonts were inspired by signatures on vari‐
430 ous UseNet articles. Since typically hundreds of people use the same
431 style of letters in their signatures, it was often not deemed necessary
432 to give credit to any one font designer.
433
434
436 Very little error checking is done on font and control files. While
437 FIGlet tries to be forgiving of errors, and should (hopefully) never
438 actually crash, using an improperly-formatted file with FIGlet will
439 produce unpredictable output.
440
441 FIGlet does not handle format characters in a very intelligent way. A
442 tab character is converted to a blank, and vertical-tab, form-feed and
443 carriage-return are each converted to a newline. On many systems, tabs
444 can be handled better by piping files through expand before piping
445 through FIGlet.
446
447 FIGlet output is quite ugly if it is displayed in a proportionally-
448 spaced font. I suppose this is to be expected.
449
450 Please report any errors you find in this man page or the program to
451 <info@figlet.org>
452
454 You can get many fonts which are not in the basic FIGlet package from
455 the Web site http://www.figlet.org/ It should also contain the latest
456 version of FIGlet and other utilities related to FIGlet.
457
458 There is a mailing list for FIGlet for general discussions about FIGlet
459 and a place where you can ask questions or share ideas with other
460 FIGlet users. It is also the place where we will publish news about new
461 fonts, new software updates etc.
462
463 To subscribe or unsubscribe from the FIGlet mailing list, please send
464 email to figlet-subscribe@figlet.org or figlet-unsubscribe@figlet.org
465 or visit the following web page: http://www.figlet.org/mail‐
466 man/listinfo/figlet
467
468
470 Glenn Chappell did most of the work. You can e-mail him but he is not
471 an e-mail fanatic; people who e-mail Glenn will probably get answers,
472 but if you e-mail his best friend:
473
474 Ian Chai, who is an e-mail fanatic, you'll get answers, endless conver‐
475 sation about the mysteries of life, invitations to join some 473 mail‐
476 ing lists and a free toaster. (Well, ok, maybe not the free toaster.)
477
478 Frank inspired this whole project with his .sig, but don't e-mail him;
479 he's decidedly an un-e-mail-fanatic.
480
481 Gilbert "The Mad Programmer" Healton added the -A option for version
482 2.1.1. This option specified input from the command line; it is still
483 allowed, but has no effect.
484
485 John Cowan added the -o, -s, -k, -S, and -W options, and the support
486 for Unicode mapping tables, ISO 2022/HZ/Shift-JIS/UTF-8 input, and com‐
487 pressed fonts and control files. He also revised this documentation,
488 with a lot of input from Paul Burton.
489
490 Claudio Matsuoka added the support for .tlf files for version 2.2.4 and
491 performs random hacks and bugfixes.
492
493 As a fan of FIGlet, Christiaan Keet revised the official FIGlet docu‐
494 mentation and set up the new FIGlet website at http://www.figlet.org/
495 (and the corresponding ftp://ftp.figlet.org/pub/figlet/)
496
497
499 figlist(6), chkfont(6), showfigfonts(6), toilet(1)
500
501
502
503v2.2.5 31 May 2012 FIGLET(6)