FIGlet

Revision as of 12:28, 7 April 2025 by imported>PaulStSmith (→‎External links: -- Added a Nuget package implementation.)
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

{{#invoke:Infobox|infobox}}Template:Template other{{#invoke:Check for unknown parameters | check | showblankpositional=1 | unknown = Template:Main other | preview = Page using Template:Infobox software with unknown parameter "_VALUE_"|ignoreblank=y | AsOf | author | background | bodystyle | caption | collapsetext | collapsible | developer | discontinued | engine | engines | genre | included with | language | language count | language footnote | latest preview date | latest preview version | latest release date | latest release version | latest_preview_date | latest_preview_version | latest_release_date | latest_release_version | licence | license | logo | logo alt | logo caption | logo upright | logo size | logo title | logo_alt | logo_caption | logo_upright | logo_size | logo_title | middleware | module | name | operating system | operating_system | other_names | platform | programming language | programming_language | released | replaced_by | replaces | repo | screenshot | screenshot alt | screenshot upright | screenshot size | screenshot title | screenshot_alt | screenshot_upright | screenshot_size | screenshot_title | service_name | size | standard | title | ver layout | website | qid }}Template:Main other

FIGlet is a computer program that generates text banners, in a variety of typefaces, composed of letters made up of conglomerations of smaller ASCII characters (see ASCII art). The name derives from "Frank, Ian and Glenn's letters".<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Being free software, FIGlet is commonly included as part of many Unix-like operating systems (Linux,<ref>Template:Cite book</ref> BSD, etc.) distributions, but it has been ported to other platforms as well. The official FIGlet FTP site includes precompiled ports for the Acorn, Amiga, Apple II, Atari ST, BeOS, Mac, MS-DOS, NeXTSTEP, OS/2, and Microsoft Windows, as well as a reimplementation in Perl (Text::FIGlet<ref>Text::FIGlet</ref>).<ref name="ftp">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> There are third-party reimplementations of FIGlet in Java<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> (including one embedded in the JavE ASCII art editor), JavaScript,<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> PHP,<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Python,<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> and Go.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> DuckDuckgo also has their own Figlet version, to be able to use it you need to type "Figlet [text]" and you can easily Copy & Paste everywhere<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

BehaviorEdit

FIGlet can read from standard input or accept a message as part of the command line. It prints to standard output. Some common arguments (options) are:

  • -f to select a font file. (font files are available here)
  • -d to change the directory for fonts.
  • -c centers the output.
  • -l left-aligns the output.
  • -r right-aligns the output.
  • -t sets the output width to the terminal width.
  • -w specifies a custom output width.
  • -k enables kerning, printing each letter of the message individually, instead of merged into the adjacent letters.

Sample usageEdit

An example of output generated by FIGlet is shown below. <syntaxhighlight lang="cobol"> [user@hostname ~]$ figlet 7MO

__ ___ _ _ _ _ \ \ / (_) | _(_)_ __ ___ __| (_) __ _

\ \ /\ / /| | |/ / | '_ \ / _ \/ _` | |/ _` |
 \ V  V / | |   <| | |_) |  __/ (_| | | (_| |
  \_/\_/  |_|_|\_\_| .__/ \___|\__,_|_|\__,_|
                   |_|                       

</syntaxhighlight>

The following command:

<syntaxhighlight lang="Shell-session">[user@hostname ~]$ figlet -ct -f roman Wikipedia</syntaxhighlight>

generates this output:

oooooo   oooooo     oooo  o8o  oooo         o8o                             .o8   o8o            
 `888.    `888.     .8'   `"'  `888         `"'                            "888   `"'            
  `888.   .8888.   .8'   oooo   888  oooo  oooo  oo.ooooo.   .ooooo.   .oooo888  oooo   .oooo.   
   `888  .8'`888. .8'    `888   888 .8P'   `888   888' `88b d88' `88b d88' `888  `888  `P  )88b  
    `888.8'  `888.8'      888   888888.     888   888   888 888ooo888 888   888   888   .oP"888  
     `888'    `888'       888   888 `88b.   888   888   888 888    .o 888   888   888  d8(  888  
      `8'      `8'       o888o o888o o888o o888o  888bod8P' `Y8bod8P' `Y8bod88P" o888o `Y888""8o 
                                                  888                                            
                                                 o888o                                           

The -ct options centers the text and makes it take up the full width of the terminal. The -f roman option specifies the 'roman' font file.

Font examplesEdit

InvitaEdit

 __       __)                          
(, )  |  /  , /)   ,           /) ,    
   | /| /    (/_    __    _  _(/    _  
   |/ |/  _(_/(___(_/_)__(/_(_(__(_(_(_
   /  |          .-/                   
                (_/                    
                                       

Edit

#     #                                          
#  #  # # #    # # #####  ###### #####  #   ##   
#  #  # # #   #  # #    # #      #    # #  #  #  
#  #  # # ####   # #    # #####  #    # # #    # 
#  #  # # #  #   # #####  #      #    # # ###### 
#  #  # # #   #  # #      #      #    # # #    # 
 ## ##  # #    # # #      ###### #####  # #    # 

Larry3dEdit

 __      __      __                             __                  
/\ \  __/\ \  __/\ \      __                   /\ \  __             
\ \ \/\ \ \ \/\_\ \ \/'\ /\_\  _____      __   \_\ \/\_\     __     
 \ \ \ \ \ \ \/\ \ \ , < \/\ \/\ '__`\  /'__`\ /'_` \/\ \  /'__`\   
  \ \ \_/ \_\ \ \ \ \ \\`\\ \ \ \ \L\ \/\  __//\ \L\ \ \ \/\ \L\.\_ 
   \ `\___x___/\ \_\ \_\ \_\ \_\ \ ,__/\ \____\ \___,_\ \_\ \__/.\_\
    '\/__//__/  \/_/\/_/\/_/\/_/\ \ \/  \/____/\/__,_ /\/_/\/__/\/_/
                                 \ \_\                              
                                  \/_/                              

FIGlet-based ASCII typefacesEdit

Eric Olson's 2002 FIG typeface family is a series of OpenType fonts similar to the output of FIGlet.

TOIlet seeks to extend FIGlet to use colour text.<ref name="TOIlet">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> FIGlet supports TOIlet fonts as of version 2.2.4.

See alsoEdit

Template:Portal

ReferencesEdit

Template:Reflist

External linksEdit