FIST(1)

NAME
fist - emphatic message generator

SYNOPSIS
fist [ -c -fpat -l -mtext -n -sfactor -u ]

DESCRIPTION
fist prints an image of a clenched fist (unless suppressed by the -c option), followed by a slogan in block letters, limited to 16 characters per line (``Television is to news as bumper stickers are to philosophy.''-Richard M. Nixon). Options permit you to scale the fist commensurate to the iniquities of the Oppressor (or your printer's paper size, whichever is smaller), select right- or left-handed blows against the Empire, and various other gimmicks which popped into the mind of this Humble Programmer while watching "Ice Station Zebra" over and over again and watching his fingernails grow. Oops...that was another megalomaniac. Anyway, here's the latest incarnation of the fist program. May your banners ever espouse worthy causes, and may those truly worthy be achieved.

OPTIONS

-c  Chill out: no fist is generated, only the message text.

-fpat
    Fill the fist with the text pattern pat, which may be any string of ASCII/ISO characters. If the pattern contains blanks or characters interpreted by the shell, it should be quoted or escaped appropriately.

-l  The fist will be left handed.

-mtext
    Supply a line of the text to be printed below the fist on the command line. If the text contains blank or shell metacharacters it should be quoted or escaped. Only the first 16 characters of the text will be printed. You may supply multiple -m options for multi-line text. Note that you must also specify the -n option if you don't want fist to read additional lines of text from standard input after printing lines supplied by the -m option.

-n  Do not read text to be printed below the fist from standard input. Unless you've specified text with one or more -m options, no text at all will be printed, just the fist. If you specify only the -c and -n options, the only consequence of running fist will be the passage of time.

-sfactor
    Scale the fist by the given percentage factor between 25 and 100.

-u  Print how to call information.

FILES
Lines of text (limited to 16 characters) are read from standard input unless suppressed by the -n option; these lines are printed in block letters below the fist. Input from standard input is terminated by an end of file. Output is written to standard output. Input and output are processed strictly sequentially and hence fist may be used in pipelines.

BUGS
The block character font is a limited subset of ASCII containing only upper case letters, numbers, and punctuation with character codes between hexadecimal 20 and 5F. The font was originally created in the late 1960's in UNIVAC 1108 six bit FIELDATA code, and re-shuffled into ASCII order when the first port was made to an ASCII machine in 1981. If you'd like to add lower case letters, ISO codes, or full Unicode, go right ahead.

fist will not work on machines which do not use the ASCII character code (for example EBCDIC machines). You'll need to shuffle the font table or translate character codes to ASCII before you index it. I don't have such a machine, so I'm not going to include code I can't test.

Scale factors smaller than about 60 on the -s option produce infelicitous results: the fist looks like it's wearing a mitten.

You can't aggregate options, separate options from their arguments with a blank, or other cool getopt features because the program doesn't use getopt in order to preserve its retro look.

Over the last thirty years numerous people have suggested the program might be enhanced by adding options to raise two fingers (``peace'') or only one finger (well, you know). Please send me the code if you make this decades-long dream a reality.

SEE ALSO
ascii(7)

AUTHOR
John Walker http://www.fourmilab.ch/

This software is in the public domain. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions. This software is provided ``as is'' without express or implied warranty.