Settings

The page will reload to apply your changes.
Theme

ASCII Art Font

ASCII Art Menu

Original Usenet thread from rec.arts.ascii, started 23 Oct 1994.
 _   _                     _        _             _     _           
| | | |___  ___ _ __   ___| |_     / \   _ __ ___| |__ (_)_   _____ 
| | | / __|/ _ \ '_ \ / _ \ __|   / _ \ | '__/ __| '_ \| \ \ / / _ \
| |_| \__ \  __/ | | |  __/ |_   / ___ \| | | (__| | | | |\ V /  __/
 \___/|___/\___|_| |_|\___|\__| /_/   \_\_|  \___|_| |_|_| \_/ \___|
Talk: Exterminate Duplicate flf Files! Line: Examples

Talk: Exterminate Duplicate flf Files! Line: Examples

rec.arts.ascii · 1 message · 23 Oct 1994
Tony Nugent <T.N...@sct.gu.edu.au> ASCII art 23 Oct 1994 20:17 · raw headers · report
Hi all!

This has turned out to be a rather long-winded rave.  If figlet
fonts don't interest you, then skip this.  But if you use figlet
and want to get the most out of it, then read on!

I've been having a good look at a few of my flf files, and found
a whole bunch of them to be EXACTLY THE SAME!!!

Ok ok... they LOOK different, but I can produce each of these
fonts from only ONE flf file.

The specific fonts I am talking about is the "catwalk" or
"1-2-2" series.  This includes the following nine figlet font
files, which can ultimately be replaced by one:

barbwire.flf     catwalk.flf    coinstak.flf 
diamond.flf      marquee.flf    nipples.flf
stellar.flf      tiles.flf      tubular.flf

Now, I haven't made a full check on all the 90-odd fonts, so
there may be (read: probably) more that would fall into this
particular series.  And there's probably many fonts that you
could group together that have similar basic characteristics.

All credit to the original authors though (whoever they may be -
I haven't even checked) - they are all really nice fonts.  But
they are the same!

To show you what I mean:

Ok, this is catwalk...

echo 12345 | figlet -c -f catwalk
                 _//    _// _/   _// _//        _//   _// _/// 
                  _//  _/     _//   _//       _ _//   _//      
                  _//       _//   _//        _/ _//   _///     
                  _//     _//        _//   _//  _//       _//  
                  _//   _//            _//_//// _/ _//      _//
                _///// _//////// _/////         _//   _/// _// 

and this is barbwire...

echo 12345 | figlet -c -f barbwire
                 ><<   ><< ><   ><< ><<        ><<   ><< ><<< 
                  ><< ><     ><<   ><<       > ><<   ><<      
                  ><<      ><<   ><<        >< ><<   ><<<     
                  ><<    ><<        ><<   ><<  ><<       ><<  
                  ><<  ><<            ><<><<<< >< ><<      ><<
                 ><<<<><<<<<<<< ><<<<<         ><<   ><<< ><< 

which is *exactly* the same result you can get if you did this...

echo 12345 | figlet -c -f catwalk | tr '_/' '><'

It's the tr command that's the key to this of course, and in
other posts I've talked about its use.  What I'm explaining here
further illustrates the original point about all this - that
many font files are duplicates and are unnecessary and
redundant.  (This is something that Anthony Thysson first
pointed out a little while ago).

To produce this font |   Pipe the figlet output   | Size of
from catwalk.flf     |   through this tr command  | flf file
---------------------+----------------------------+----------
barbwire.flf         |   tr '_/' '><'             | 8423 
coinstak.flf         |   tr '_/' 'O)'             | 8391
diamond.flf          |   tr '_/' '/\\'            | 8478 
marquee.flf          |   tr '_/' '.\:'            | 8382
nipples.flf          |   tr '_/' '{_'             | 8422 
stellar.flf          |   tr '_/' '`.'             | 8422
tiles.flf            |   tr '_/' '\[.'            | 8420 
tubular.flf          |   tr '_/' 'O~'             | 8422 

I suspect that the only real difference between the files that
contributes to the slight variation in size are the header
comments.

catwalk.flf itself is 8478 bytes, and the combined size of all
the above fonts totals just under 70,000 bytes.  In one swoop I
can delete them all and save this amount of disk space!  And this
is great when I'm living in an account with tight quota limits.

And not only that, by varying the actual characters tr
substitutes, I can produce any number of totally new fonts!

Ok, I'll invent a new font right now!
Let's substitute +- for _/ with tr...
                                               
             +--    +-- +-   +-- +--        +--   +-- +--- 
              +--  +-     +--   +--       + +--   +--      
              +--       +--   +--        +- +--   +---     
              +--     +--        +--   +--  +--       +--  
              +--   +--            +--+---- +- +--      +--
            +----- +-------- +-----         +--   +--- +-- 

Hmm, not too bad.  +~ *~ and @~ are also good combinations :)
Geez - I just invented FOUR more!  :-)  What shall I name
them?...

I've called this the 1-2-2 series.  I'll show you why:

echo 12345 | figlet -c -f catwalk | tr '_/' '12'

                 122    122 12   122 122        122   122 1222 
                  122  12     122   122       1 122   122      
                  122       122   122        12 122   1222     
                  122     122        122   122  122       122  
                  122   122            12212222 12 122      122
                122222 122222222 122222         122   1222 122 

See the pattern?

Now, the capability to translate characters to produce these
results gives a whole set of new possibilities to figlet.  I've
suggested this before: it would be a powerful enhancement if
character translation (and translation of *sets* of characters -
an even more powerful enhancement that goes beyond the
capabilities of tr itself) was built right into figlet.  This
could be done via command-line switches, environment variables,
and figlet control files could be well utilised for this purpose
(see below).

The source code to tr is freely available, so it shouldn't be a
major task to incorporate such a feature into a future version
of figlet!

oak.oakland.edu :: /SimTel/msdos/textutil/tr112.zip

This is a dos port of tr, and it has source code with it!
I'm sure unix source is available just as readily.

Actually, filget has some of the basis of these ideas ALREADY
built into it!  At least the basics of a tr-type translation
routine already exists within it.  (Check the figlet man pages
in the control files section, and the upper.flc file that comes
with figlet 2.1).

Control files have a character translation command - the t
command.  But the translation is made on INPUT characters, and
it has no affect the translation of OUTPUT characters.

What is being suggested is some new syntax to specify particular
*sets* of output character translations within control files.
That way, one .flc file could contain *several* output
translation commands, maybe even specifying the use of a
particular "base" font.  Each particular translation would have
a unique "tag name" -  similar to just naming a font, but rather
than existing as actual font files, they are font names by
translation from another font.

Environment variables could also be used to specify which
control file figlet should use by default.

Anyway, this is now getting a bit technical.  What I really
wanted to point out are those nine figlet fonts that are the
same beast in different disguises.  I'm sure that other sets of
fonts can be found among the rest of the ~90 fonts.

So the task needs to be done - which fonts ARE similar (which
makes them - all but one - redundant), and how many different
sets of fonts are there among the 90 or so that do exist?

If no one has a look, and I still manage to hold my account
after the end of this year, I will be happy to check them all
myself and sort them out to identify (and perhaps "classify")
the "base" fonts.

Cheers
                  @@@@@@@@@@@ @@@@@@@@  @@@@    @@@ @@@   @@@ 
                      @!@    @!@    @!@ @!@!@   @!@ @!@   @!@ 
                      !@!    !@!    !@! @!@!@!  !@!  !@! !@!  
                      !:!    !:!    !@! !:! !@! !:!   !:!!@   
                      !:!    !:!    !:! !:!  !:!:!:    !:!    
                      :!:    :!:    :!: :!:   :!:!:    :!:    
                      :::     ::::::::  :::    ::::    :::    
     @@@@    @@@ @@@    @@@  @@@@@@@@  @@@@@@@@@@ @@@@    @@@ @@@@@@@@@@@ 
     @!@!@   @!@ @!@    @!@ @!@    @!@ @!@        @!@!@   @!@     @!@     
     @!@!@!  !@! !@!    !@! !@!        !@!        @!@!@!  !@!     !@!     
     !:! !@! !:! !:!    !@! @:@        !:!!@!!:   !:! !@! !:!     !:!     
     !:!  !:!:!: !:!    !:! !:!   !:!: !:!        !:!  !:!:!:     !:!     
     :!:   :!:!: :!:    :!: :!:    :!: :!:        :!:   :!:!:     :!:     
     :::    ::::  ::::::::   ::::::::  :::::::::: :::    ::::     :::     
             T.N...@sct.gu.edu.au   tnu...@gucis.cit.gu.edu.au
             Griffith University  Brisbane  Queensland  Australia

Oohahh - I _like_ this font!
I'll eventually make a slightly smaller version of it.
(Recognise alligator2.flf? - Thanks for the idea Bob :)

Related ASCII art in the Gallery

Explore these categories from our collection of 11,000+ artworks:

About this thread. These messages were posted publicly to the newsgroup rec.arts.ascii in 1994 and are 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 one of the authors? 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