__ __ __ __ /\ \ /\ \__/\ \__ __/\ \__ \ `\`\\/'/\_\ \ ,_\ ___ ____/\_\ \ ,_\ __ `\ `\ /'\/\ \ \ \/ /',__ /',__\/\ \ \ \/ /'__`\ `\ \ \ \ \ \ \ \_/\__, ` /\__, `\ \ \ \ \_/\ __/ \ \_\ \ \_\ \__\/\____/ \/\____/\ \_\ \__\ \____\ \/_/ \/_/\/__/\/___/ \/___/ \/_/\/__/\/____/
Ascii Banners
I was see what banners the toilet
command could generate, and I wanted a way to see what all of the fonts looked like.
Here is an example of what the command can do:
$ toilet Character mmm # m m" " # mm mmm m mm mmm mmm mm#mm mmm m mm # #" # " # #" " " # #" " # #" # #" " # # # m"""# # m"""# # # #"""" # "mmm" # # "mm"# # "mm"# "#mm" "mm "#mm" # $You can also pick a font with the -f option.
$ toilet -f whimsy Character d8b ?88 d8P 88b d888888P d8888b 888888b d888b8b 88bd88b d888b8b d8888b ?88' d8888b 88bd88b d8P' `P 88P `?8bd8P' ?88 88P' `d8P' ?88 d8P' `P 88P d8b_,dP 88P' ` 88b d88 88P88b ,88b d88 88b ,88b 88b 88b 88b d88 `?888P'd88' 88b`?88P'`88bd88' `?88P'`88b`?888P' `?8b `?888P'd88' $My shell will autocomplete the fonts, but I did not have time to try them all one at a time. Reading the manual I found the fonts were stored in
/usr/share/figlet
. Now I have the command ls /usr/share/figlet
to list the fonts, but they have the extension .flf
or .tlf
. I need to remove that, which is a good job for sed. The replacement s/\..lf//
will replace the .
character followed by anything and then lf
with nothing, removing it.
$ ls /usr/share/figlet | sed s/\..lf// | xargs -I {} echo {} 3-d 3x5 4x4_offr 5lineoblique 5x7 5x8 6x9 6x10 64f1____ 1943____ a_zooloo acrobatic advenger alligator alligator2 alphabet aquaplan asc_____ ascii9 ascii12 ascii___ assalt_m asslt__m atc_____ atc_gran avatar b_m__200 banner banner3-D banner3 banner4 barbwire basic battle_s battlesh baz__bil beer_pub bell bfraktur big bigascii9 bigascii12 bigchief bigmono9 bigmono12 binary block brite briteb britebi britei broadway bubble bubble__ bubble_b bulbhead c1______ c2______ c_ascii_ c_consen calgphy2 caligraphy catwalk caus_in_ char1___ char2___ char3___ char4___ charact1 charact2 charact3 charact4 charact5 charact6 characte charset_ chartr chartri chunky circle clb6x10 clb8x8 clb8x10 cli8x8 clr4x6 clr5x6 clr5x8 clr5x10 clr6x6 clr6x8 clr6x10 clr7x8 clr7x10 clr8x8 clr8x10 coil_cop coinstak colossal com_sen_ computer contessa contrast convoy__ cosmic cosmike cour courb courbi couri crawford cricket cursive cyberlarge cybermedium cybersmall d_dragon dcs_bfmo decimal deep_str demo_1__ demo_2__ demo_m__ devilish diamond digital doh doom dosrebel dotmatrix double drpepper druid___ dwhistled e__fist_ ebbs_1__ ebbs_2__ eca_____ eftichess eftifont eftipiti eftirobot eftitalic eftiwall eftiwater emboss emboss2 epic etcrvs__ f15_____ faces_of fair_mea fairligh fantasy_ fauxcyrillic fbr1____ fbr2____ fbr12___ fbr_stri fbr_tilt fender finalass fireing_ flyn_sh fourtops fp1_____ fp2_____ fraktur fullcyrillic funky_dr future future_1 future_2 future_3 future_4 future_5 future_6 future_7 future_8 fuzzy gauntlet ghost_bo goofy gothic gothic__ graceful gradient graffiti grand_pr green_be hades___ heavy_me helv helvb helvbi helvi heroboti hex high_noo hills___ hollywood home_pak house_of hypa_bal hyper___ inc_raw_ invita isometric1 isometric2 isometric3 isometric4 italic italics_ ivrit jazmine jerusalem joust___ katakana kban kgames_i kik_star krak_out l4me larry3d lazy_jon lcd lean letter letter_w letters letterw3 lexible_ linux lockergnome mad_nurs madrid magic_ma marquee master_o maxfour mayhem_d mcg_____ mig_ally mike mini mirror modern__ mono9 mono12 morse moscow mshebrew210 nancyj-fancy nancyj-underlined nancyj new_asci nfi1____ nipples notie_ca npn_____ ntgreek nvscript o8 octal odel_lak ogre ok_beer_ os2 outrun__ p_s_h_m_ p_skateb pacos_pe pagga panther_ pawn_ins pawp peaks pebbles pepper phonix__ platoon2 platoon_ pod_____ poison puffy pyramid r2-d2___ rad_____ rad_phan radical_ rainbow_ rally_s2 rally_sp rampage_ rastan__ raw_recu rci_____ rectangles relief relief2 rev ripper!_ road_rai rockbox_ rok_____ roman roman___ rot13 rounded rowancap rozzo runic runyc sans sansb sansbi sansi sblood sbook sbookb sbookbi sbooki script script__ serifcap shadow short skate_ro skateord skateroc sketch_s slant slide slscript sm______ small smascii9 smascii12 smblock smbraille smisome1 smkeyboard smmono9 smmono12 smscript smshadow smslant smtengwar space_op spc_demo speed stacey stampatello standard star_war starwars stealth_ stellar stencil1 stencil2 stop straight street_s subteran super_te t__of_ap tanja tav1____ taxi____ tec1____ tec_7000 tecrvs__ tengwar term thick thin threepoint ti_pan__ ticks ticksslant times timesofl tinker-toy tomahawk tombstone top_duck trashman trek triad_st ts1_____ tsalagi tsm_____ tsn_base tty ttyb twin_cob twopoint type_set ucf_fan_ ugalympi unarmed_ univers usa_____ usa_pq__ usaflag utopia utopiab utopiabi utopiai vortron_ war_of_w weird whimsy wideterm xbrite xbriteb xbritebi xbritei xchartr xchartri xcour xcourb xcourbi xcouri xhelv xhelvb xhelvbi xhelvi xsans xsansb xsansbi xsansi xsbook xsbookb xsbookbi xsbooki xtimes xtty xttyb yie-ar__ yie_ar_k z-pilot_ zig_zag_ zone7___
By replacing echo {}
with toilet -f {} Whatever text I want
I should be able to preview all of the fonts! The problem is some of the fonts are broken, make toilet produce an error, so xargs kills the whole script. Here I made the font display it's own name.
$ ls /usr/share/figlet | sed s/\..lf// | xargs -I {} toilet -f {} {} **** ** */// * /** / /* /** *** ***** ****** /// *///// **///** * /* /** /** / **** //****** //// ////// ### ### # # # # ## # ### # # # # ### ### error: could not load font 4x4_offr xargs: toilet: exited with status 255; aborting
The best way to move forward, I found, was to use the parallel
program. Here is the command using the parallel program: ls /usr/share/figlet | sed s/\..lf// | parallel "toilet -f {} {}"
. It produces a lot of output, so I stored it in a file, and read through it later. Then I just copied the fonts that I wanted to use again into a text file. A cool thing that this allows me to do is use a similar program on that file to generate a list of any text in a lot of cool fonts, and pick my favorite. Here are the ones that I thought I might want