Settings

The page will reload to apply your changes.
Theme

ASCII Art Font

ASCII Art Menu

Original Usenet message from alt.ascii-art, 8 Jun 1998.
Re: [pic] Font

Re: [pic] Font

Lester5374 <les...@aol.com> wrote:
>>Which existing Figlet font file did you use?  I have been trying
>>that sort of idea out with HARRY3D.FLF but the result was munged
>>and a mess!

>     It doesn't really matter what font you use as your template, but it should
>be the same height as yours so you don't have to do an excessive amount of
>editing. Plus, the font I used (Chunky) did not have this data at the front of
>the file, I had to add this from another font then adding my own info (I forget
>which):

>flf2a$ 5 5 60 15 14
>SLIDERS.FLF by ANTHONY CUCCHIARA - LESTER 5-26-98
>Based on the Sliders TV show and the "INTERDIMENSIONAL" True 
>Type Font by Jim Pingle (Taj...@cris.com)

>Explanation of first line:
>flf2 - "magic number" for file identification
>a    - should always be `a', for now
>$    - the "hardblank" -- prints as a blank, but can't be smushed
>5    - height of a character
>5    - height of a character, not including descenders
>60   - max line length (excluding comment lines) + a fudge factor
>15   - default smushmode for this font
>14   - number of comment lines

>     Now the 60 I'm still messing with (I don't know what it means!), and I'd
>love to know what default smushmode means too. :)


Well whadda ya know...all the info is right here in the Figlet
Manual dated August 1993:


====================================================================

                            FIGLET MANUAL

====================================================================



FIGLET(6)                                               FIGLET(6)


NAME
       figlet  -  print  in  large characters made up of ordinary
       screen characters

SYNOPSIS
       figlet [ -clnptvDEF ] [ -m smushmode ] [ -w outputwidth ]
            [ -d fontdirectory ] [ -f fontfile ]


DESCRIPTION
       figlet prints its input using large characters made up  of
       ordinary  screen  characters.   figlet output is generally
       reminiscent of the sort of ``signatures'' many people like
       to  put  at  the end of e-mail and UseNet messages, and is
       oriented normally, not sideways as  in  many  banner  pro-
       grams.

       figlet  can  print  in  a  variety of fonts, with adjacent
       characters ``smushed'' together in various  ways.   figlet
       fonts  are  stored in separate files, which can be identi-
       fied by the suffix  ``.flf''.   figlet  Most  figlet  font
       files will be stored in figlet's default font directory.


USAGE
       Just start up figlet (type ``figlet'') and then type what-
       ever you want.  Alternatively, pipe a file or  the  output
       of another command through figlet.  See EXAMPLES for other
       things to do.


OPTIONS
       figlet reads command line options from left to right,  and
       only  the  last  option  that  affects a parameter has any
       effect.  Every option (except -v and -F) has  an  inverse,
       so  that,  for  example, if figlet is customized with a C-
       shell alias, all the options are still available.

       -c
       -l     -c centers the output  horizontally.   -l  puts  it
              back to left-justified (default).

       -d fontdirectory
              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 spec-
              ified  when  it  was  compiled.   To find out which
              directory this is, use the -F option.

       -f fontfile
              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.

       -w outputwidth
              Sets  the outputwidth to the given integer.  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 and -t override each other.

       -m smushmode
              Specifies how figlet should  ``smush''  consecutive
              characters together.  This option is rarely needed,
              as a figlet font file specifies the best  smushmode
              to use with the font.  smushmode can be one of:


              -2 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  following  smushmodes  (-1
                     through 63).

              -1 No smushing.
                     Characters are simply concatenated together.

                     In  any non-negative smushmode figlet pushes
                     adjacent  font  characters  together   until
                     their  non-blank  portions  touch.   At that
                     point, it may or may not push the  two  font
                     characters   1   screen   character  closer,
                     depending on the  smushmode.   Pushing  font
                     characters one step closer requires ``smush-
                     ing'' two non-blank screen characters into a
                     single  screen character.  figlet has 6 ways
                     of doing this, represented by 1, 2, 4, 8, 16
                     and 32.  The various non-negative smushmodes
                     (0-63) are obtained by adding up the numbers
                     corresponding to the sort of smushing figlet
                     should do.

              1 Smush equal characters.
                     Two screen characters  are  smushed  into  a
                     single  character if they are the same.  The
                     resulting character is the same as  both  of
                     the original characters.  This mode does not
                     smush the character known  as  a  hardblank,
                     which is a character that prints as a blank,
                     but is not smushed (except in mode 32).  See
                     FONT  FILE  FORMAT  for  more information on
                     hardblanks.

              2 Smush underscores.
                     An underscore  will  be  smushed  into  (and
                     replaced by) any of ``|/\[]{}()<>''.

              4 Hierarchy smushing.
                     Smushes  certain characters together accord-
                     ing to a  hierarchy  containing  6  classes:
                     ``|'',   ``/\'',   ``[]'',  ``{}'',  ``()'',
                     ``<>''.   A  member  of  any  class  can  be
                     smushed into and replaced by a member of any
                     later class.

              8 Opposite pair smushing, type I.
                     Smushes opposing brackets  (``[]''),  braces
                     (``{}'')  and parentheses (``()'') together,
                     replacing them with a vertical bar (`|').

              16 Opposite pair smushing, type II.
                     Smushes opposing slashes (``/\'') and  less-
                     than/greater-than (``<>'') together, replac-
                     ing them with an upper-case `X'.

              32 Hardblank smushing.
                     Smushes two hardblanks  together,  replacing
                     them with a single hardblank.  See FONT FILE
                     FORMAT for more information on hardblanks.

       -p
       -n     -p puts figlet into paragraph  mode,  which  elimi-
              nates  some  spurious  line  breaks  when  piping a
              multi-line file through figlet.  In paragraph mode,
              figlet  treats line breaks within a paragraph as if
              they were merely blanks between  words.   (Specifi-
              cally,  -p  causes  figlet  to  convert any newline
              which is not preceded by a newline and not followed
              by a space character into a blank.)  -n puts figlet
              back to normal (default), in  which  every  newline
              figlet reads causes it to produce a line break.

       -t     Sets the outputwidth to the terminal width.  If the
              terminal width is  not  known,  the  previous  out-
              putwidth  is retained.  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 and -t
              override each other.

       -v     Prints out the version and  copyright  information,
              then exits.

       -D
       -E     -D  switches to the German (Deutsch) 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.   -E switches back to English (default).
              No other character sets are currently supported.

       -F     Displays the name  of  the  default  font  and  the
              default font directory, along with the names of the
              figlet fonts in the default directory, then  exits.
              (This will reflect any change of the default direc-
              tory with the -d option, as long  as  -d  is  given
              before the -F).


EXAMPLES
       To use figlet with its default settings, simply type

              example% figlet

       and then type whatever you like.

       Use the -c option if you would prefer centered output:

              example% figlet -c


       To change the font, use the -f option, for example,

              example% figlet -f script


       To see what fonts are available in the default font direc-
       tory, use -F:

              example% figlet -F


       We have found the most common usage of figlet to be making
       up  large  text to be placed in e-mail messages.  For this
       reason, figlet defaults to 80 column output.  If  you  are
       using  a  wider terminal, and would like figlet to use the
       full width of your terminal, use the -t option:

              example% figlet -t


       If figlet gets its input from a file, it is often  a  good
       idea to use -p:

              example% figlet -p < myfile


       Of course, most of the above can be combined:

              example% figlet -ptf shadow < anotherfile

              example% figlet -cf slant



   Other Things to Try
       On many systems nice effects can be obtained from the lean
       font by piping it through tr.  Some you might want to  try
       are the following:

              example% figlet -f lean | tr ' _/' ' ()'
              example% figlet -f lean | tr ' _/' './\\'
              example% figlet -f lean | tr ' _/' ' //'
              example% figlet -f lean | tr ' _/' '/  '

       Similar things can be done with the block font.


FONT FILE FORMAT
       If  you  would like to design a figlet font, it is usually
       best to begin with an already-existing font.   Except  for
       the  first  line  of  a font file, most of the file format
       should be obvious.  If you design a font,  please  let  us
       know about it!  (See AUTHORS for e-mail addresses.)

       A figlet font filename must have the suffix ``.flf''.

       A  figlet font file begins with a header.  The header con-
       sists of one line giving information about the font,  fol-
       lowed by zero or more comment lines, which figlet ignores.
       Following the header is the font data.


   The Header
       The first line of a figlet font file is of  the  following
       form:

              flf2ahardblank height up_ht maxlen smushmode cmt_count

       for example:

              flf2a$ 6 5 20 15 1

       The  first  five  characters  of  a  font  file  should be
       ``flf2a''.  ``flf2'' is the magic number  of  a  figlet  2
       font file.  The next character (`a') is currently ignored.
       It may  mean  something  in  future  versions  of  figlet.
       If/when  it  does,  you  can be sure your fonts will still
       work if this character is `a'.

       Immediately following this is the  hardblank  (character).
       Note  that  there  are no blanks between ``flf2a'' and the
       hardblank.  figlet can smush together consecutive  charac-
       ters  in  various  ways.   Normally,  any character can be
       smushed into a blank.  A hardblank prints as a blank,  but
       cannot  be smushed into any character except a blank, and,
       if smushmode 32 is enabled, another hardblank.  (For exam-
       ple,  the  `r'  in script.flf contains a hardblank, `$' in
       that font.  To see why this is necessary, create a copy of
       script.flf  with  this  hardblank replaced by a blank.  In
       this new font, the ``tr'' combination looks awful.)

       By convention, the hardblank is a `$', but it can  be  any
       character  besides  blank,  newline and null.  If you want
       the entire printing ASCII set available to use,  make  the
       hardblank a <delete> character.

       Then  comes  the  height (integer).  This is the number of
       screen lines high that each character in the font is.

       up_ht (integer) is the number of lines from  the  baseline
       of  a  character  to the top of the character, i.e., it is
       the height of a character, ignoring any descenders.   This
       number is currently ignored by figlet, but future versions
       may use it.

       maxlen (integer) is the maximum length of a  line  in  the
       font  file  (excluding  the  first  line  and the comments
       lines, which can be as long as you want).  You are free to
       make  this  a  little (or alot) too large as a safety mea-
       sure.  As an added safety measure,  figlet  adds  a  fudge
       factor to maxlen.

       smushmode (integer) determines how much figlet smushes the
       font.  Possible smushmodes are -1 through 63.   Typically,
       you'll  want to use -1 (no smushing), 0 (push font charac-
       ters together until they touch) or 15 (smush various pairs
       of  characters  together  into single characters).  To try
       out different smushmodes with your font, use the  -m  com-
       mand-line  option.  See OPTIONS for a more detailed expla-
       nation of these smushmodes.  (Note that a smushmode of  -2
       can be given on the command line, but not in a font file.)

       Between the first line and the actual  characters  of  the
       font  are the comment lines.  Cmt_count specifies how many
       lines there are.  These lines are optional, may be as long
       as you want, and are ignored by figlet.

       Thus,  a  complete figlet font file header will look some-
       thing like the following:

              flf2a$ 6 5 20 15 1
              Example by Glenn Chappell 7/93


   The Font Data
       The font data begins on the next line after  the  comments
       and continues to the end of the file.  The characters from
       ` ' to `~' are given in standard ASCII order, followed  by
       the  extra German characters: umlauted `A', `O', `U', `a',
       `o' and `u' and s-z.  Each character  uses  height  lines,
       where height was given on the first line of the font file.
       The characters in the  file  are  given  exactly  as  they
       should be printed out, with two exceptions: (1) hardblanks
       should be the hardblank character, not a  blank,  and  (2)
       every line has an endmark character.

       In  most  figlet  fonts, the endmark is either `@' or '#'.
       figlet eliminates the  last  block  of  consecutive  equal
       characters  from  each  line (other than the header lines)
       when the file is read in.  By convention, the last line of
       a  font  character has 2 endmarks, while all the rest have
       one.  This makes it easy to see where characters begin and
       end.  No line should have more than 2 endmarks.

       It  is  very  important that every character in a font has
       the same height, and, once the endmarks are removed,  that
       all  the  lines  constituting a single font character have
       the same length.  Be careful also that  no  lines  in  the
       font  file have trailing blanks, as figlet will take these
       to be the endmarks.

       If you don't want to define all the characters,  make  the
       undefined characters empty, i.e., each line of the charac-
       ter should consist only of an endmark.

       The blank character should usually  be  made  entirely  of
       hardblanks.  (Some slanted fonts are an exception.)

       Again, if you design a font, please let us know!


FILES
       file.flf            figlet font file


DIAGNOSTICS
       figlet's  diagnostics are intended to be self-explanatory.
       Possible messages are

              Usage: ...
              Out of memory
              Unable to open font file
              Not a Figlet 2 font file
              Unable to open directory

              "-t" is disabled, since ioctl is not fully implemented.

       This last message is printed when the -t option is  given,
       but  the operating system in use does not include the sys-
       tem call figlet uses to determine the terminal width.


ORIGIN
       ``figlet'' stands for ``Frank, Ian and Glenn's  LETters''.
       Inspired by Frank's

       Most  of  the  figlet fonts were inspired by signatures on
       various UseNet articles.  Since typically hundreds of peo-
       ple  use the same style of letters in their signatures, it
       was not deemed necessary to give credit to  any  one  font
       designer.


BUGS
       Very  little  error checking is done on font files.  While
       figlet tries to be forgiving of errors, and should  (hope-
       fully) never actually crash, using an improperly-formatted
       font file with figlet will produce unpredictable output.

       figlet does not handle formatting  characters  in  a  very
       intelligent way.  A tab character is converted to a blank,
       and vertical-tab, form-feed and carriage-return  are  each
       converted to a newline.  On many systems, tabs can be han-
       dled better by piping files through expand  before  piping
       through figlet.

       figlet  output  is quite ugly if it is displayed in a pro-
       portionally-spaced  font.   I  suppose  this  is   to   be
       expected.


AUTHORS
       Glenn  Chappell  <gg...@uiuc.edu> did most of the work.  You
       can e-mail him but he is not an e-mail  fanatic...  people
       who  email  Glenn  will  probably  get answers, but if you
       email his best friend:

       Ian Chai <spe...@uiuc.edu> (or fig...@uiuc.edu),  who  is
       an  e-mail  fanatic, you'll get answers, endless conversa-
       tion about the mysteries of life, invitations to join some
       473  mailing  lists  and a free toaster.  (Well, ok, maybe
       not the free toaster.)

       Frank inspired this whole project with his .sig, but don't
       email him... he's decidedly an un-email-fanatic.


v2.0                      9 August 1993                         8

====================================================================


Bye,

Original message headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f996b,558cf9b4b90f0015
X-Google-Attributes: gidf996b,public
From: Colin Douthwaite <cfb...@southern.co.nz>
Subject: Re: [pic] Font
Date: 1998/06/08
Message-ID: <897...@mnementh.southern.co.nz>
X-Deja-AN: 360508477
References: <897...@mnementh.southern.co.nz> <199...@ladder01.news.aol.com>
Organization: CLEAR Net, http://www.clear.net.nz/
User-Agent: tin/pre-1.4-980226 (UNIX) (SunOS/5.4 (sun4m))
Newsgroups: alt.ascii-art
About this message. This message was posted publicly to the newsgroup alt.ascii-art in 1998 and is mirrored here unchanged as part of the Historic Archives – only email addresses are masked. The artwork and text belong to their original authors: if you copy a piece, keep the artist's initials or signature intact and credit them where you can. Are you the author? Contact us to get your posts attributed, connected to your artist profile, or removed.

Report this message

Help us keep the archive clean and accurate. Reports are reviewed by a person – nothing is changed automatically.

Help classify this post