我如何使用一些多行ascii艺术作为我的计数器字符?(批量)

use*_*361 -1 ascii batch-file ascii-art

这是字体

    ::  __   ___    ____    _  _     _____     __    ______    ___     ___     ___  
    :: /_ | |__ \  |___ \  | || |   | ____|   / /   |____  |  / _ \   / _ \   / _ \ 
    ::  | |    ) |   __) | | || |_  | |__    / /_       / /  | (_) | | (_) | | | | |
    ::  | |   / /   |__ <  |__   _| |___ \  | '_ \     / /    > _ <   \__, | | | | |
    ::  | |  / /_   ___) |    | |    ___) | | (_) |   / /    | (_) |    / /  | |_| |
    ::  |_| |____| |____/     |_|   |____/   \___/   /_/      \___/    /_/    \___/ 
Run Code Online (Sandbox Code Playgroud)

老实说,我不知道如何引用彼此相邻的多行字符.

dbe*_*ham 7

试一试:)

@echo off

echo The digits:
call :printNum 0123456789

echo(
echo The answer to life, the universe, and everything:
call :printNum 42
exit /b

:printNum
setlocal enableDelayedExpansion
set "str=%~1"
call :strLen str len
set /a len-=1
for /l %%N in (1 1 6) do set "ln%%N="
for /l %%N in (0 1 %len%) do call :!str:~%%N,1!
for /l %%N in (1 1 6) do echo(!ln%%N!
exit /b
:1
set "ln1=!ln1!  __ "
set "ln2=!ln2! /_ |"
set "ln3=!ln3!  | |"
set "ln4=!ln4!  | |"
set "ln5=!ln5!  | |"
set "ln6=!ln6!  |_|"
exit /b
:2
set "ln1=!ln1!  ___  "
set "ln2=!ln2! |__ \ "
set "ln3=!ln3!    ) |"
set "ln4=!ln4!   / / "
set "ln5=!ln5!  / /_ "
set "ln6=!ln6! |____|"
exit /b
:3
set "ln1=!ln1!  ____  "
set "ln2=!ln2! |___ \ "
set "ln3=!ln3!   __) |"
set "ln4=!ln4!  |__ < "
set "ln5=!ln5!  ___) |"
set "ln6=!ln6! |____/ "
exit /b
:4
set "ln1=!ln1!  _  _   "
set "ln2=!ln2! | || |  "
set "ln3=!ln3! | || |_ "
set "ln4=!ln4! |__   _|"
set "ln5=!ln5!    | |  "
set "ln6=!ln6!    |_|  "
exit /b
:5
set "ln1=!ln1!  _____ "
set "ln2=!ln2! | ____|"
set "ln3=!ln3! | |__  "
set "ln4=!ln4! |___ \ "
set "ln5=!ln5!  ___) |"
set "ln6=!ln6! |____/ "
exit /b
:6
set "ln1=!ln1!    __  "
set "ln2=!ln2!   / /  "
set "ln3=!ln3!  / /_  "
set "ln4=!ln4! | '_ \ "
set "ln5=!ln5! | (_) |"
set "ln6=!ln6!  \___/ "
exit /b
:7
set "ln1=!ln1!  ______ "
set "ln2=!ln2! |____  |"
set "ln3=!ln3!     / / "
set "ln4=!ln4!    / /  "
set "ln5=!ln5!   / /   "
set "ln6=!ln6!  /_/    "
exit /b
:8
set "ln1=!ln1!   ___  "
set "ln2=!ln2!  / _ \ "
set "ln3=!ln3! | (_) |"
set "ln4=!ln4!  > _ < "
set "ln5=!ln5! | (_) |"
set "ln6=!ln6!  \___/ "
exit /b
:9
set "ln1=!ln1!   ___  "
set "ln2=!ln2!  / _ \ "
set "ln3=!ln3! | (_) |"
set "ln4=!ln4!  \__, |"
set "ln5=!ln5!    / / "
set "ln6=!ln6!   /_/  "
exit /b
:0
set "ln1=!ln1!   ___  "
set "ln2=!ln2!  / _ \ "
set "ln3=!ln3! | | | |"
set "ln4=!ln4! | | | |"
set "ln5=!ln5! | |_| |"
set "ln6=!ln6!  \___/ "
exit /b


:strLen string len -- returns the length of a string
::                 -- string [in]  - variable name containing the string being measured for length
::                 -- len    [out] - variable to be used to return the string length
:: Many thanks to 'sowgtsoi', but also 'jeb' and 'amel27' dostips forum users helped making this short and efficient
:$created 20081122 :$changed 20101116 :$categories StringOperation
:$source http://www.dostips.com
(   SETLOCAL ENABLEDELAYEDEXPANSION
    set "str=A!%~1!"&rem keep the A up front to ensure we get the length and not the upper bound
                     rem it also avoids trouble in case of empty string
    set "len=0"
    for /L %%A in (12,-1,0) do (
        set /a "len|=1<<%%A"
        for %%B in (!len!) do if "!str:~%%B,1!"=="" set /a "len&=~1<<%%A"
    )
)
( ENDLOCAL & REM RETURN VALUES
    IF "%~2" NEQ "" SET /a %~2=%len%
)
EXIT /b
Run Code Online (Sandbox Code Playgroud)

- 输出 -

The digits:
   ___    __   ___    ____    _  _     _____     __    ______    ___     ___
  / _ \  /_ | |__ \  |___ \  | || |   | ____|   / /   |____  |  / _ \   / _ \
 | | | |  | |    ) |   __) | | || |_  | |__    / /_       / /  | (_) | | (_) |
 | | | |  | |   / /   |__ <  |__   _| |___ \  | '_ \     / /    > _ <   \__, |
 | |_| |  | |  / /_   ___) |    | |    ___) | | (_) |   / /    | (_) |    / /
  \___/   |_| |____| |____/     |_|   |____/   \___/   /_/      \___/    /_/

The answer to life, the universe, and everything:
  _  _     ___
 | || |   |__ \
 | || |_     ) |
 |__   _|   / /
    | |    / /_
    |_|   |____|
Run Code Online (Sandbox Code Playgroud)

更新

我扩展了Aacini的想法,以便更改字体; 我实际上创建了一个批处理例程库,以便于以多种字体打印.可以通过附加到库脚本或通过为每个新字体创建单独的字体脚本来添加字体.发布的库有两种内置的字体 - Big和Standard.我还发布了一个小字体的独立字体脚本.字体脚本必须与主库位于同一目录中.

Banner.bat

@echo off
if "%~1" neq "" (
  2>nul findstr /bric:":%~1\>" "%~f0" | findstr /bivc:":font_" >nul && (
    shift /1&goto %1
  ) || (
    >&2 echo ERROR: routine %~1 not found
  )
) else >&2 echo ERROR: missing routine

:Usage                      -- Library syntax and general info
::  ____                                              _               _
:: | __ )    __ _   _ __    _ __     ___   _ __      | |__     __ _  | |_
:: |  _ \   / _` | | '_ \  | '_ \   / _ \ | '__|     | '_ \   / _` | | __|
:: | |_) | | (_| | | | | | | | | | |  __/ | |     _  | |_) | | (_| | | |_
:: |____/   \__,_| |_| |_| |_| |_|  \___| |_|    (_) |_.__/   \__,_|  \__|
::
:: Banner.bat is a library of batch routines that enables printing messages
:: to the screen using multi-line fonts.
::
::  Syntax:
::
::    [call] [path]banner command [arguments]
::
::  For a full list of commands, use:
::
::    banner help
::
::  For detailed help on a specific command, use:
::
::    banner help command
::
call :help usage
exit /b


:Help      [Command]        -- Help for commands in this library
::
::  Displays help about Command
::
::  If Command is not specified, then lists all available commands.
::
  setlocal disableDelayedExpansion
  set file="%~f0"
  echo(
  if not "%~1"=="" goto :help.func
  for /f "tokens=* delims=:" %%A in (
    'findstr /r "^:[^:]" "%~f0"^|findstr /rvi "^:font_"^|sort'
  ) do echo(  %%A
  exit /b
  :help.func
  set beg=
  for /f "tokens=1,* delims=:" %%a in ('findstr /nric:"^:%~1\>" "%~f0"') do (
    if not defined beg set beg=%%a
  )
  if not defined beg (1>&2 echo: Function %~1 not found) & exit /b 1
  set end=
  for /f "tokens=1 delims=:" %%a in ('findstr /nrc:"^[^:]" "%~f0"') do (
    if not defined end if %beg% LSS %%a set end=%%a
  )
  for /f "tokens=1,* delims=[]:" %%a in ('findstr /n "^" "%~f0"') do (
    if %beg% leq %%a if %%a lss %end% echo: %%b
  )
exit /b


:PrintStr  Font  String     -- Print a string literal
::
::  Prints String using the specified multi-line Font.
::
::  If the font has not yet been loaded, then the font will be loaded temporarily
::  and released once the line has been printed. If printing multiple lines, then
::  it is more efficient to pre-load the font using LoadFont.
::
::  The following escape sequences are available for troublesome characters:
::
::    \c = ^ (caret)
::
::    \p = % (percent)
::
::    \q = " (quote)
::
::    \\ = \ (backslash)
::
setlocal disableDelayedExpansion
set "str=%~2"
setlocal enableDelayedExpansion
set "str=!str:\q="!"
set "str=!str:\c=^!"
set "str=!str:\p=%%!"
set "str=!str:\\=\!"
call :printVar %1 str
exit /b


:PrintVar  Font  StrVar     -- Print value of a string variable
::
::  Prints the value of variable StrVar using the specified multi-line Font.
::
::  If the font has not yet been loaded, then the font will be loaded temporarily
::  and released once the line has been printed. If printing multiple lines, then
::  it is more efficient to pre-load the font using LoadFont.
::
setlocal enableDelayedExpansion
if not defined font.%~1.height call :loadFont %1
set "lower=abcdefghijklmnopqrstuvwxyz"
call :strLen %~2 len
set /a len-=1
for /l %%N in (1 1 !font.%~1.height!) do set "ln%%N="
for /l %%P in (0 1 %len%) do (
  set "chr=!%~2:~%%P,1!"
  if "!chr!" equ "=" (
    set "chr=equal"
  ) else if "!chr!" equ ":" (
    set "chr=colon"
  ) else if "!chr!" equ "^!" (
    set "chr=bang"
  ) else if "!chr!" equ "^^" (
    set "chr=^^"
  ) else if "!chr!" neq "*" if "!chr!" neq "~" for /f "delims=" %%C in ("!chr!") do if "!lower:%%C=%%C!" neq "!lower!" set "chr=upper%%C"
  if not defined font.%~1.!chr!.1 set "chr=missing"
  for /f delims^=^ eol^= %%C in ("!chr!") do for /l %%N in (1 1 !font.%~1.height!) do set "ln%%N=!ln%%N!!font.%~1.%%C.%%N!"
)
for /l %%N in (1 1 !font.%~1.height!) do echo(!ln%%N!
exit /b


:LoadFont  Font             -- Load a font definition for later use
::
::  Loads Font into memory to enable faster printing
::
if "%~1" equ "" (
  echo ERROR: Missing font argument
  exit /b 1
)
setlocal disableDelayedExpansion
if exist "%~dp0Font_%~1.bat" (
  call "%~dp0Font_%~1.bat"
) else findstr /bri ":font_%~1\>" "%~f0" >nul && (
  call :font_%~1
) || (
  echo ERROR: Font %~1 not found
  exit /b 1
)
set font.%~1.setlocal=1
setlocal enableDelayedExpansion
set "lower=abcdefghijklmnopqrstuvwxyz"
set "font.%~1.height=!fontHeight!"
set /a "pos=0, ln=1, start=0"
for %%W in (!fontWidth!) do for %%S in (!start!) do (
  if !pos! equ 0 (
    set chr=missing
  ) else for %%N in (!pos!) do set "chr=!fontChars:~%%N,1!"
  if "!chr!" equ "^!" (
    set "chr=bang"
  ) else if "!chr!" equ "=" (
    set "chr=equal"
  ) else if "!chr!" equ ":" (
    set "chr=colon"
  ) else if "!chr!" neq "*" if "!chr!" neq "~" for /f "delims=" %%C in ("!chr!") do if "!lower:%%C=%%C!" neq "!lower!" set "chr=upper%%C"
  for /l %%N in (1 1 !fontHeight!) do set "font.%~1.!chr!.%%N=!font%%N:~%%S,%%W!"
  set /a "start+=%%W, pos+=1"
)
for /f "delims=" %%A in ('set font.%~1.') do (
  if defined font.%~1.setlocal endlocal&endlocal
  if "%%A" neq "font.%~1.setlocal=1" set "%%A"
)
exit /b


:ListFonts                  -- List all available fonts
::
::  List all available fonts. Fonts may be embedded directly within this
::  script, or they may be stand-alone files within the same directory
::  as this library.
echo(
(
  for /f "delims=_. tokens=2" %%A in (
    'findstr /lbi :font_ "%~f0"^^^&dir /b "%~dp0font_*.bat"'
  ) do @echo   %%A
)|sort


:StrLen    StrVar  LenVar   -- Compute the length of a string
::
:: Compute the length of the string within variable StrVar
:: and return the result in variable LenVar.
::
:: Many thanks to 'sowgtsoi', but also 'jeb' and 'amel27' dostips forum users
:: helped making this short and efficient.
:: Created 20081122 :$changed 20101116 :$categories StringOperation
:: Source http://www.dostips.com
(   SETLOCAL ENABLEDELAYEDEXPANSION
    set "str=A!%~1!"&rem keep the A up front to ensure we get the length and not the upper bound
                     rem it also avoids trouble in case of empty string
    set "len=0"
    for /L %%A in (12,-1,0) do (
        set /a "len|=1<<%%A"
        for %%B in (!len!) do if "!str:~%%B,1!"=="" set /a "len&=~1<<%%A"
    )
)
( ENDLOCAL & REM RETURN VALUES
    IF "%~2" NEQ "" SET /a %~2=%len%
)
EXIT /b


:: Font Definitions
:: ================================================================================
:: Additional fonts may be appended to this script with a label of :font_fontName
:: Alternatively, a font may be installed as a stand-alone file in the same folder
:: as banner.bat. Each font file should be named font_fontName.bat
::
:: Each font should define fontChars, fontHeight, fontWidth, and font1...fontN. The
:: letters in fontChars should correspond to the letters defined in font1..fontN.
:: You can define as many or as few characters as you want for a given font.
:: A special symbol will be used in place of any undefined character. The first
:: character must be the symbol used to represent an undefined character.
:: If " is defined, then it should be the last character.
:: Don't forget to double the % in the fontChars string.

:Font_Big
set "fontChars= ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789`~!@#$%%^&*()_+-={}|[]\:;'<>?,./""
set "fontHeight=8"
set "fontWidth=   6       11       8        9        9        9        9         9       9        8        9      7       9        9        8        9        9        9        9        9       10         9        11           15          8       10        8      6      8       8       7       8      7    6       8       8     4    6      7    4      12         8       8      8         8     7      6     6      8       8        11       7       8      6      8      5    7       8       9        8       8       9        8       8     4    6    4      10        11       6      8     5      9         10      5   5       9       8       9        9       6     6    4    6     6      8     4   4   4     6    6     7     4   4     8      6  "
set     "font1=                   ____     _____   _____    ______   ______    _____   _    _   _____        _   _  __  _        __  __   _   _    ____    _____     ____    _____     _____   _______   _    _  __      __ __          __ __   __ __     __  ______                _                  _           __           _       _     _   _      _                                                            _                                                      ___    __   ___    ____    _  _     _____     __    ______    ___     ___    _   /\/|  _     ____      _  _      _    _   __  /\               _       __ __                                         __ __     _   ___   ___  __               _     __ __     ___                __  _ _ "
set     "font2= .....     /\     |  _ \   / ____| |  __ \  |  ____| |  ____|  / ____| | |  | | |_   _|      | | | |/ / | |      |  \/  | | \ | |  / __ \  |  __ \   / __ \  |  __ \   / ____) |__   __| | |  | | \ \    / / \ \        / / \ \ / / \ \   / / |___  /               | |                | |         / _|         | |     (_)   (_) | |    | |                                                          | |                                                    / _ \  /_ | |__ \  |___ \  | || |   | ____|   / /   |____  |  / _ \   / _ \  ( ) |/\/  | |   / __ \   _| || |_   | |  (_) / / |/\|   ___     /\| |/\   / / \ \              _              ______    / / \ \   | | |  _| |_  | \ \      _   _  ( )   / / \ \   |__ \              / / ( | )"
set     "font3= .....    /  \    | |_) | | |      | |  | | | |__    | |__    | |  __  | |__| |   | |        | | | ' /  | |      | \  / | |  \| | | |  | | | |__) | | |  | | | |__) | | (___      | |    | |  | |  \ \  / /   \ \  /\  / /   \ V /   \ \_/ /     / /          __ _  | |__     ___    __| |   ___  | |_    __ _  | |__    _     _  | | __ | |  _ __ ___    _ __     ___    _ __     __ _   _ __   ___  | |_   _   _  __   __ __      __ __  __  _   _   ____ | | | |  | |    ) |   __) | | || |_  | |__    / /_       / /  | (_) | | (_) |  \|       | |  / / _` | |_  __  _| / __)    / /        ( - )    \ ` ' /  | |   | |           _| |_   ______  |______|  | |   | |  | | | |     | |  \ \    (_) (_) |/   / /   \ \     ) |            / /   V V "
set     "font4= .....   / /\ \   |  _ <  | |      | |  | | |  __|   |  __|   | | |_ | |  __  |   | |    _   | | |  <   | |      | |\/| | | . ` | | |  | | |  ___/  | |  | | |  _  /   \___ \     | |    | |  | |   \ \/ /     \ \/  \/ /     > <     \   /     / /          / _` | | '_ \   / __|  / _` |  / _ \ |  _|  / _` | | '_ \  | |   | | | |/ / | | | '_ ` _ \  | '_ \   / _ \  | '_ \   / _` | | '__| / __| | __| | | | | \ \ / / \ \ /\ / / \ \/ / | | | | |_  / | | | |  | |   / /   |__ <  |__   _| |___ \  | '_ \     / /    > _ <   \__, |           | | | | (_| |  _| || |_  \__ \   / /         / _ \/\ |_     _| | |   | |          |_   _| |______|  ______  / /     \ \ | | | |     | |   \ \               < <     > >   / /            / /        "
set     "font5= .....  / ____ \  | |_) | | |____  | |__| | | |____  | |      | |__| | | |  | |  _| |_  | |__| | | . \  | |____  | |  | | | |\  | | |__| | | |      | |__| | | | \ \   ____) |    | |    | |__| |    \  /       \  /\  /     / . \     | |     / /__        | (_| | | |_) | | (__  | (_| | |  __/ | |   | (_| | | | | | | |   | | |   <  | | | | | | | | | | | | | (_) | | |_) | | (_| | | |    \__ \ | |_  | |_| |  \ V /   \ V  V /   >  <  | |_| |  / /  | |_| |  | |  / /_   ___) |    | |    ___) | | (_) |   / /    | (_) |    / /            |_|  \ \__,_| |_  __  _| (   /  / / _       | (_>  <  / , . \  | |   | |            |_|            |______| \ \     / / | | | |     | |    \ \   _   _       \ \   / /   |_|    _   _   / /         "
set     "font6=       /_/    \_\ |____/   \_____| |_____/  |______| |_|       \_____| |_|  |_| |_____|  \____/  |_|\_\ |______| |_|  |_| |_| \_|  \____/  |_|       \___\_\ |_|  \_\ (_____/     |_|     \____/      \/         \/  \/     /_/ \_\    |_|    /_____|        \__,_| |_.__/   \___|  \__,_|  \___| |_|    \__, | |_| |_| |_|   | | |_|\_\ |_| |_| |_| |_| |_| |_|  \___/  | .__/   \__, | |_|    |___/  \__|  \__,_|   \_/     \_/\_/   /_/\_\  \__, | /___|  \___/   |_| |____| |____/     |_|   |____/   \___/   /_/      \___/    /_/             (_)   \____/    |_||_|    |_|  /_/ (_)       \___/\/  \/|_|\/  | |   | |                                     | |   | |  | | | |_   _| |     \_\ (_) ( )       \_\ /_/    (_)   ( ) (_) /_/          "
set     "font7=                                                                                                                                                                                                                                                                                                          __/ |              _/ |                                        | |         | |                                                        __/ |                                                                                                                                                               \_\ /_/   ______                              \_\ /_/   |_| |___| |___|             |/                         |/                   "
set     "font8=                                                                                                                                                                                                                                                                                                         |___/              |__/                                         |_|         |_|                                                       |___/                                                                                                                                                                         |______|                                                                                                                   "
exit /b

:Font_Standard
set "fontChars= ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789`~!@#$%%^&*()_+-={}|[]\:;'<>?,./""
set "fontHeight=6"
set "fontWidth=   6      10       8        8       8       8       8       8       8      6      8      7       8       9        8       8       8       8       8       8       8       8       10          13        7       8      7     4     8      8       7        8      7     6      8       8     4    6      7    4      12         8       8       8       8      7      6     6      8       8        11       7       8      6      8     4     8       8       9        8       8       8       8       8     4    6    4      10        11       6     7     5      9       7      5   5      8       8       8       8      6     6    4   5     5     7    4   4   4    5   5     6    4   4    7      6  "
set     "font1=           _      ____     ____   ____    _____   _____    ____   _   _   ___       _   _  __  _       __  __   _   _    ___    ____     ___    ____    ____    _____   _   _  __     __ __        __ __  __ __   __  _____              _                  _           __           _       _     _   _      _                                                            _                                                      ___    _   ____    _____   _  _     ____     __     _____    ___     ___    _   /\/|  _     ____      _  _      _    _  __  /\    ___             __ __                                      __ __     _   __   __  __              _    __ __    ___              __  _ _ "
set     "font2= .....    / \    | __ )   / ___| |  _ \  | ____| |  ___|  / ___| | | | | |_ _|     | | | |/ / | |     |  \/  | | \ | |  / _ \  |  _ \   / _ \  |  _ \  / ___|  |_   _| | | | | \ \   / / \ \      / / \ \/ / \ \ / / |__  /       __ _  | |__     ___    __| |   ___   / _|   __ _  | |__   (_)   (_) | | __ | |  _ __ ___    _ __     ___    _ __     __ _   _ __   ___  | |_   _   _  __   __ __      __ __  __  _   _   ____  / _ \  / | |___ \  |___ /  | || |   | ___|   / /_   |___  |  ( _ )   / _ \  ( ) |/\/  | |   / __ \   _| || |_   | |  (_)/ / |/\|  ( _ )   __/\__  / / \ \             _             _____    / / \ \   | | | _| |_ | \ \     _   _  ( )  / / \ \  |__ \            / / ( | )"
set     "font3= .....   / _ \   |  _ \  | |     | | | | |  _|   | |_    | |  _  | |_| |  | |   _  | | | ' /  | |     | |\/| | |  \| | | | | | | |_) | | | | | | |_) | \___ \    | |   | | | |  \ \ / /   \ \ /\ / /   \  /   \ V /    / /       / _` | | '_ \   / __|  / _` |  / _ \ | |_   / _` | | '_ \  | |   | | | |/ / | | | '_ ` _ \  | '_ \   / _ \  | '_ \   / _` | | '__| / __| | __| | | | | \ \ / / \ \ /\ / / \ \/ / | | | | |_  / | | | | | |   __) |   |_ \  | || |_  |___ \  | '_ \     / /   / _ \  | (_) |  \|       | |  / / _` | |_  ..  _| / __)   / /        / _ \/\ \    / | |   | |          _| |_   _____  |_____|  | |   | |  | | | |   | |  \ \   (_) (_) |/  / /   \ \   / /           / /   V V "
set     "font4= .....  / ___ \  | |_) | | |___  | |_| | | |___  |  _|   | |_| | |  _  |  | |  | |_| | | . \  | |___  | |  | | | |\  | | |_| | |  __/  | |_| | |  _ <   ___) |   | |   | |_| |   \ V /     \ V  V /    /  \    | |    / /_      | (_| | | |_) | | (__  | (_| | |  __/ |  _| | (_| | | | | | | |   | | |   <  | | | | | | | | | | | | | (_) | | |_) | | (_| | | |    \__ \ | |_  | |_| |  \ V /   \ V  V /   >  <  | |_| |  / /  | |_| | | |  / __/   ___) | |__   _|  ___) | | (_) |   / /   | (_) |  \__, |           |_| | | (_| | |_      _| \__ \  / /_       | (_>  < /_  _\ | |   | |         |_   _| |_____| |_____| < <     > > | | | |   | |   \ \   _   _      \ \   / /  |_|   _   _   / /        "
set     "font5= ..... /_/   \_\ |____/   \____| |____/  |_____| |_|      \____| |_| |_| |___|  \___/  |_|\_\ |_____| |_|  |_| |_| \_|  \___/  |_|      \__\_\ |_| \_\ |____/    |_|    \___/     \_/       \_/\_/    /_/\_\   |_|   /____|      \__,_| |_.__/   \___|  \__,_|  \___| |_|    \__, | |_| |_| |_|  _/ | |_|\_\ |_| |_| |_| |_| |_| |_|  \___/  | .__/   \__, | |_|    |___/  \__|  \__,_|   \_/     \_/\_/   /_/\_\  \__, | /___|  \___/  |_| |_____| |____/     |_|   |____/   \___/   /_/     \___/     /_/            (_)  \ \__,_|   |_||_|   (   / /_/(_)       \___/\/   \/   | |   | |  _____    |_|                    | |   | |  | | | |   | |    \_\ (_) ( )      \_\ /_/   (_)  ( ) (_) /_/         "
set     "font6=                                                                                                                                                                                                                                                                             |___/              |__/                                         |_|         |_|                                                       |___/                                                                                                     \____/              |_|                               \_\ /_/  |_____|                           \_\ /_/   |_| |__| |__|            |/                      |/                  "
exit /b
Run Code Online (Sandbox Code Playgroud)

font_Small.bat

set "fontChars= ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789`~!@#$%%^&*()_+-={}|[]\:;'<>?,./""
set "fontHeight=5"
set "fontWidth=  5      8      6      7     7      6     6      7     7      6     7      7      7       9       7       8      6      8      6     6      8       8       8        11       7       8      6    4    7       7    5     7      6     6     7      7     4    6     6    4    8       7      6     7      7      6    5     6     7      6      9       6     7     5     7     4    6     6     7      6     6     7      6     6    4    6    4     9        10      5      8     5     9       5     5  5     6       8      6     6     6     6    4   5     5    6    4   4   4    5   5     6    4   4    6     6  "
set     "font1=         _     ___    ___   ___    ___   ___    ___   _  _   ___      _   _  __  _      __  __   _  _    ___    ___    ___    ___   ___   _____   _   _  __   __ __      __ __  __ __   __  ____             _              _          __          _      _     _   _     _                                                 _                                              __    _   ___   ____  _ _    ___    __   ____   ___   ___   _   /\/|  _    ____      _ _          _  __   /\   __             __ __            _                   __ __     _   __   __  __     _   _   _    __ __    ___             __  _ _ "
set     "font2= ....   /_\   | _ )  / __| |   \  | __| | __|  / __| | || | |_ _|  _ | | | |/ / | |    |  \/  | | \| |  / _ \  | _ \  / _ \  | _ \ / __| |_   _| | | | | \ \ / / \ \    / / \ \/ / \ \ / / |_  /      __ _  | |__   __   __| |  ___   / _|  __ _  | |_   (_)   (_) | |__ | |  _ __    _ _    ___   _ __   __ _   _ _   ___ | |_   _  _  __ __ __ __ __ __ __  _  _   ___  /  \  / | |_  ) |__ / | | |  | __|  / /  |__  | ( _ ) / _ \ ( ) |/\/  | |  / __ \   _| | |_   ||_ (_)/ /  |/\| / _|___  _/\_  / / \ \         _| |_   ___   ___    / / \ \   | | | _| |_ | \ \   (_) (_) ( )  / / \ \  |__ \           / / ( | )"
set     "font3= ....  / _ \  | _ \ | (__  | |) | | _|  | _|  | (_ | | __ |  | |  | || | | ' <  | |__  | |\/| | | .` | | (_) | |  _/ | (_) | |   / \__ \   | |   | |_| |  \ V /   \ \/\/ /   >  <   \ V /   / /      / _` | | '_ \ / _| / _` | / -_) |  _| / _` | | ' \  | |   | | | / / | | | '  \  | ' \  / _ \ | '_ \ / _` | | '_| (_-< |  _| | || | \ V / \ V  V / \ \ / | || | |_ / | () | | |  / /   |_ \ |_  _| |__ \ / _ \   / /  / _ \ \_, /  \|       |_| / / _` | |_  .  _| (_-<   / /_       > _|_ _| >  < | |   | |       |_   _| |___| |___| _| |   | |_ | | | |   | |  \ \   _   _  |/  < <   > >   /_/  _   _   / /   V V "
set     "font4= .... /_/ \_\ |___/  \___| |___/  |___| |_|    \___| |_||_| |___|  \__/  |_|\_\ |____| |_|  |_| |_|\_|  \___/  |_|    \__\_\ |_|_\ |___/   |_|    \___/    \_/     \_/\_/   /_/\_\   |_|   /___|     \__,_| |_.__/ \__| \__,_| \___| |_|   \__, | |_||_| |_|  _/ | |_\_\ |_| |_|_|_| |_||_| \___/ | .__/ \__, | |_|   /__/  \__|  \_,_|  \_/   \_/\_/  /_\_\  \_, | /__|  \__/  |_| /___| |___/   |_|  |___/ \___/  /_/   \___/  /_/            (_) \ \__,_| |_     _| / _/  /_/(_)      \_____|   \/  | |   | |  ___    |_|         |___|  | |   | |  | | | |   | |   \_\ (_) ( )      \_\ /_/   (_)  ( ) (_) /_/        "
set     "font5=                                                                                                                                                                                                                                           |___/             |__/                                 |_|       |_|                                               |__/                                                                                   \____/    |_|_|    ||                              \_\ /_/  |___|                       \_\ /_/   |_| |__| |__|           |/                      |/                 "
exit /b
Run Code Online (Sandbox Code Playgroud)

Banner.bat中内置了完整的文档

样品用法:

call banner printStr standard "Hello world!"
Run Code Online (Sandbox Code Playgroud)


Aac*_*ini 5

下面的批处理文件允许您轻松更改字体:

\n\n
@echo off\nsetlocal EnableDelayedExpansion\n\nset "font[1]=   ___    __   ___    ____    _  _     _____     __    ______    ___     ___  "\nset "font[2]=  / _ \\  /_ | |__ \\  |___ \\  | || |   | ____|   / /   |____  |  / _ \\   / _ \\ "\nset "font[3]= | | | |  | |    ) |   __) | | || |_  | |__    / /_       / /  | (_) | | (_) |"\nset "font[4]= | | | |  | |   / /   |__ <  |__   _| |___ \\  | \'_ \\     / /    > _ <   \\__, |"\nset "font[5]= | |_| |  | |  / /_   ___) |    | |    ___) | | (_) |   / /    | (_) |    / / "\nset "font[6]=  \\___/   |_| |____| |____/     |_|   |____/   \\___/   /_/      \\___/    /_/  "\nset fontWides=8 5 7 8 9 8 8 9 8 8\nset fontLines=6\n\nfor /L %%i in (1,1,%fontLines%) do (\n   set n=0\n   for %%w in (%fontWides%) do (\n      set num[%%i][!n!]=!font[%%i]:~0,%%w!\n      set font[%%i]=!font[%%i]:~%%w!\n      set /A n+=1\n   )\n)\n\necho All digits:\ncall :numBanner 1234567890\necho A test with number 725:\ncall :numBanner 725\ngoto :EOF\n\n:numBanner number\nset number=%1\nset "digits="\n:nextDigit\n   set digits=%digits% %number:~0,1%\n   set number=%number:~1%\nif defined number goto nextDigit\nfor /L %%i in (1,1,%fontLines%) do (\n   set "line="\n   for %%d in (%digits%) do (\n      set line=!line!!num[%%i][%%d]!\n   )\n   echo !line!\n)\nexit /B\n
Run Code Online (Sandbox Code Playgroud)\n\n

输出:

\n\n
All digits:\n  __   ___    ____    _  _     _____     __    ______    ___     ___     ___\n /_ | |__ \\  |___ \\  | || |   | ____|   / /   |____  |  / _ \\   / _ \\   / _ \\\n  | |    ) |   __) | | || |_  | |__    / /_       / /  | (_) | | (_) | | | | |\n  | |   / /   |__ <  |__   _| |___ \\  | \'_ \\     / /    > _ <   \\__, | | | | |\n  | |  / /_   ___) |    | |    ___) | | (_) |   / /    | (_) |    / /  | |_| |\n  |_| |____| |____/     |_|   |____/   \\___/   /_/      \\___/    /_/    \\___/\nA test with number 725:\n  ______   ___    _____\n |____  | |__ \\  | ____|\n     / /     ) | | |__\n    / /     / /  |___ \\\n   / /     / /_   ___) |\n  /_/     |____| |____/\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

更新

\n\n

当我发现我失去了当我的答案被选为最佳答案时获得的积分时,我感到很不愉快。看来15分是为了“更大的答案”,我有兴趣恢复我的15分,所以我们开始......

\n\n

最终的 Ascii-art 横幅程序是Figlet,它使用在名为“FIGfonts”的 .flf 扩展名的文件中定义的字体。有数百种FIGfont;您可以在Figlet 字体库中浏览其中一些。

\n\n

FigBat.bat是我前段时间写的一个与FIGfonts兼容的批处理程序。这里是:

\n\n
@echo off\n\nrem Windows/DOS Batch version of FIGlet program: display text using a FIGfont\nrem http://www.jave.de/figlet/fonts.html          http://www.figlet.org/\nrem FIGBat.bat version 1.0 - Antonio Perez Ayala - May/12/2012\n\nrem This program does not perform fitting nor smushing\n\nsetlocal EnableDelayedExpansion\nset specialChar[=exclam\nset specialChar["]=quote\nset specialChar[*]=star\nset specialChar[?]=question\nset specialChar[~]=tilde\nset charSet=" " exclam] quote #  $  percent "&" \'  ( ")" star   +  "," -      .     /         ^\n             0  1       2     3  4  5        6  7  8  9  colon ";" "<" equal ">"    question  ^\n             @  A       B     C  D  E        F  G  H  I  J      K   L  M      N     O         ^\n             P  Q       R     S  T  U        V  W  X  Y  Z      [   \\  ]      caret _         ^\n             ` _a      _b    _c _d _e       _f _g _h _i _j     _k  _l _m     _n    _o         ^\n            _p _q      _r    _s _t _u       _v _w _x _y _z      {  "|" }      tilde           ^\n             \xc3\x84  \xc3\x96       \xc3\x9c     \xc3\xa4  \xc3\xb6  \xc3\xbc        \xc3\x9f\nrem Ascii: 196  214    220  228 246 252     223     Standard German FIGChars\nset lowcaseLetters=a b c d e f g h i j k l m n o p q r s t u v w x y z\n\nset font=solid\nset "dir=%~DP0"\nREM set alignment=\nREM set outputWidth=8190\nset outputColor=\nset multiColor=\n\n\nrem Process switches\n\nif "%~1" neq "/?" if "%~1" neq "-?" goto checkNextSwitch\necho Display text using a FIGfont\necho/\necho FIGBat [/f font] [/d dir] [/c^|l^|r] [/t^|w width] [/a attr] [word ...]\necho/\necho /f    select a font file.\necho /d    change the directory for fonts.\necho /c    centers the output.\necho /l    left-aligns the output.\necho /r    right-aligns the output.\necho /t    sets the output width to the terminal width.\necho /w    specifies a custom output width.\necho /a    sets the output color:\necho       /a bf   set color as attribute (see COLOR /? for more info)\necho       /a RB   set colors as Rainbow Bands\necho       /a MC   set Multi-color Characters in random order\necho/\necho word ...  Text to display. If not given, read lines to show from STDIN.\necho/\necho /c /l /r switches may include a number separated by equal-sign that define\necho a left margin at which the alignment start.\necho/\necho /t /w switches may include a S or D letter separated by equal-sign that\necho indicate to enclose the FIGure into a frame of Single or Double lines.\necho/\necho For example:\necho     figbat /c=19 /w=s 41 Text centered into a frame between columns 20 and 60\necho/\necho Multiple switches can NOT be combined in one; write each one individually.\necho/\ngoto :EOF\n\n:switch/F\nset "font=%~N2"\ngoto shift2\n\n:switch/D\nset "dir=%~2"\ngoto shift2\n\n:switch/W\nset outputWidth=%2\ngoto shift2\n\n:switch/A\nset outputColor=%2\nif /I %2 equ MC (\n   rem Activate Multi-color Characters\n   set multiColor=1\n)\nif /I %2 equ RB (\n   rem Define colors as Rainbow Bands\n   set lastColor=0\n   for %%a in (  E D C B A 9     6 5 4 3 2 1  ) do (\n      set /A lastColor+=1\n      set color[!lastColor!]=%%a\n   )\n   set outputColor=!color[1]!\n   set rainbowBand=1\n)\n:shift2\nshift\ngoto shift1\n\n:switch/C\nset alignment=center\ngoto shift1\n\n:switch/L\nset alignment=left\ngoto shift1\n\n:switch/R\nset alignment=right\ngoto shift1\n\n:switch/T\nfor /F "skip=4 tokens=2" %%a in (\'mode con /status\') do (\n   set outputWidth=%%a\n   goto shift1\n)\n:shift1\nshift\n\n:checkNextSwitch\nfor %%a in (/ -) do (\n   for %%b in (f d c l r t w a) do if /I "%~1" equ "%%a%%b" goto switch/%%b\n)\n\n\nrem Load the FIGfont file\nif "%dir:~-1%" == "\\" set "dir=%dir:~0,-1%"\nif not exist "%dir%\\%font%.flf" (\n   echo FIGfont file not found: "%dir%\\%font%.flf"\n   goto :EOF\n)\ncall :loadFIGfont < "%dir%\\%font%.flf"\n\nrem Show text from parameters or from input lines\nif "%~1" equ "" goto readNextLine\n\nset "line=%~1"\n:getNextWord\n   shift\n   if "%~1" neq "" set "line=%line% %~1" & goto getNextWord\ncall :showFIGure line\ngoto :EOF\n\n:readNextLine\n   set line=\n   set /P line=\n   if not defined line goto :EOF\n   call :showFIGure line\n   goto readNextLine\n:EOF\n\n\nFormat of HeaderLine in a FIGfont.flf file:\n\n#Token in FOR /F "tokens=... Batch command\n\n1 - Signature&Hardblank, for example: f1f2a$ (hard blank is usually $)\n2 - Height (of FIGcharacters in lines)\n3 - Baseline (height of font from baseline up)\n4 - Max_Lenght (width of the widest FIGcharacter, plus a small factor)\n5 - Old_Layout (default smushmode for this font)\n6 - Comment_Lines (between HeaderLine and the first FIGcharacter)\n7 - Print_Direction (usually 0)\n8 - Full_Layout (detailed smushmode specification)\n9 - Codetag_Count (number of FIGcharacters in the font minus 102)\n\n\nrem Load a FIGfont.flf file\n\n:loadFIGfont < FIGfont.flf\nrem Get font parameters from Header line\nset /P HeaderLine=\nfor /F "tokens=1,2,6" %%a in ("%HeaderLine%") do (\n   set firstToken=%%a\n   set Height=%%b\n   set Comment_Lines=%%c\n)\nset Hardblank=%firstToken:~-1%\nrem Skip comment lines\nfor /L %%a in (1,1,%Comment_Lines%) do set /P =\nrem Load FIGchars in "FIG<char><line>=sub-chars" variables\nfor %%a in (%charSet%) do (\n   for /L %%b in (1,1,%Height%) do (\n      set /P "FIG%%~a%%b="\n      rem Remove one or two end marks\n      set "endmark=!FIG%%~a%%b:~-1!"\n      set "FIG%%~a%%b=!FIG%%~a%%b:~0,-1!"\n      if "!FIG%%~a%%b:~-1!" equ "!endmark!" set "FIG%%~a%%b=!FIG%%~a%%b:~0,-1!"\n      rem Replace hard blanks by spaces (no smushing)\n      if "!FIG%%~a%%b!" neq "" set "FIG%%~a%%b=!FIG%%~a%%b:%Hardblank%= !"\n   )\n)\nexit /B\n\n\nrem Show an Ascii string as a FIGure\n\n:showFIGure stringVar\n\nrem Get lenght of Ascii string (1024 characters max)\nset textLen=0\nfor /L %%a in (9,-1,0) do (\n   set /A "bit=1<<%%a, lastLen=bit+textLen"\n   for %%B in (!lastLen!) do if "!%1:~%%B,1!" neq "" set textLen=%%B\n   )\n)\nrem Convert Ascii characters into the charSet used in FIGcharacters\nfor /L %%a in (0,1,%textLen%) do (\n   set "char=!%1:~%%a,1!"\n   call :changeSpecial char="!char!"\n   set char[%%a]=!char!\n)\nrem Randomize color order for Multicolor Characters mode\nif defined multiColor (\n   set "colors= F E D C B A 9 8 7 6 5 4 3 2 1 "\n   set lastColor=0\n   for /L %%a in (15,-1,2) do (\n      set /A "lastColor+=1, randomColor=(!random!*%%a)/32768+1"\n      call :moveColor !randomColor!\n   )\n   set /A lastColor+=1\n   set color[!lastColor!]=!colors: =!\n)\nrem Show the equivalent FIGure\nfor /L %%a in (1,1,%Height%) do (\n   if defined multiColor (\n      set multiColor=1\n      for /L %%b in (0,1,%textLen%) do (\n         REM                                                                                PATCH TO AVOID ERRORS WHEN SHOW QUOTES :"=\'\n         for /F "tokens=1,2 delims=%Hardblank%" %%C in ("!char[%%b]!%Hardblank%!multiColor!") do ColorMsg !color[%%D]! "!FIG%%~C%%a:"=""!"\n         set /A multiColor+=1\n         if !multiColor! gtr !lastColor! (\n            set multiColor=1\n         )\n      )\n      echo/\n   ) else (\n      set FIGline=\n      for /L %%b in (0,1,%textLen%) do (\n         for %%C in ("!char[%%b]!") do set FIGline=!FIGline!!FIG%%~C%%a!\n      )\n      if defined outputColor (\n         REM PATCH TO AVOID ERRORS WHEN SHOW QUOTES :"=\'\n         ColorMsg !outputColor! "!FIGline:"=""!"\n         echo/\n         if defined rainbowBand (\n            set /A rainbowBand+=1\n            if !rainbowBand! gtr !lastColor! (\n               set rainbowBand=1\n            )\n            for %%B in (!rainbowBand!) do set outputColor=!color[%%B]!\n         )\n      ) else (\n         echo(!FIGline!\n      )\n   )\n)\nexit /B\n\n\nrem Auxiliary subroutine for Randomize colors\n\n:moveColor index\nfor /F "tokens=%1" %%a in ("%colors%") do (\n   set color[%lastColor%]=%%a\n   set colors=!colors: %%a = !\n)\nexit /B\n\n\nrem Change characters that can not be easily managed in a Batch file\n\n:changeSpecial changedChar="!originalChar!"\nrem Change the special characters that can be included in a variable name\nset "special=!specialChar[%~2]!"\nif "!special!" equ "specialChar[:]" set special=colon\nif defined special set %1=%special%& exit /B\nrem Change the rest of special characters\nif "%~2" equ "" set special=percent\nif "%~2" equ "=" set special=equal\nif "%~2" equ "^^" set special=caret\nif defined special set %1=%special%& exit /B\nrem Change lowcase letters (mistaken for upcase letters in variable names)\nfor %%a in (%lowcaseLetters%) do (\n   if "%~2" equ "%%a" (\n      set %1=_%%a\n   )\n)\nexit /B\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是使用 FigBat.bat 程序显示的一些现有 Figfonts 的示例:

\n\n
================= Alligator3.flf: 9462 bytes ================\n    :::     :::        :::        :::::::::::  ::::::::      :::     :::::::::::  ::::::::  :::::::::   ::::::::  \n  :+: :+:   :+:        :+:            :+:     :+:    :+:   :+: :+:       :+:     :+:    :+: :+:    :+: :+:    :+: \n +:+   +:+  +:+        +:+            +:+     +:+         +:+   +:+      +:+     +:+    +:+ +:+    +:+        +:+ \n+#++:++#++: +#+        +#+            +#+     :#:        +#++:++#++:     +#+     +#+    +:+ +#++:++#:      +#++:  \n+#+     +#+ +#+        +#+            +#+     +#+   +#+# +#+     +#+     +#+     +#+    +#+ +#+    +#+        +#+ \n#+#     #+# #+#        #+#            #+#     #+#    #+# #+#     #+#     #+#     #+#    #+# #+#    #+# #+#    #+# \n###     ### ########## ########## ###########  ########  ###     ###     ###      ########  ###    ###  ########  \n================= Alpha.flf: 36168 bytes ================\n          _____                    _____            _____                    _____                    _____          \n         /\\    \\                  /\\    \\          /\\    \\                  /\\    \\                  /\\    \\         \n        /::\\    \\                /::\\____\\        /::\\    \\                /::\\____\\                /::\\    \\        \n       /::::\\    \\              /:::/    /       /::::\\    \\              /:::/    /               /::::\\    \\       \n      /::::::\\    \\            /:::/    /       /::::::\\    \\            /:::/    /               /::::::\\    \\      \n     /:::/\\:::\\    \\          /:::/    /       /:::/\\:::\\    \\          /:::/    /               /:::/\\:::\\    \\     \n    /:::/__\\:::\\    \\        /:::/    /       /:::/__\\:::\\    \\        /:::/____/               /:::/__\\:::\\    \\    \n   /::::\\   \\:::\\    \\      /:::/    /       /::::\\   \\:::\\    \\      /::::\\    \\              /::::\\   \\:::\\    \\   \n  /::::::\\   \\:::\\    \\    /:::/    /       /::::::\\   \\:::\\    \\    /::::::\\    \\   _____    /::::::\\   \\:::\\    \\  \n /:::/\\:::\\   \\:::\\    \\  /:::/    /       /:::/\\:::\\   \\:::\\____\\  /:::/\\:::\\    \\ /\\    \\  /:::/\\:::\\   \\:::\\    \\ \n/:::/  \\:::\\   \\:::\\____\\/:::/____/       /:::/  \\:::\\   \\:::|    |/:::/  \\:::\\    /::\\____\\/:::/  \\:::\\   \\:::\\____\\\n\\::/    \\:::\\  /:::/    /\\:::\\    \\       \\::/    \\:::\\  /:::|____|\\::/    \\:::\\  /:::/    /\\::/    \\:::\\  /:::/    /\n \\/____/ \\:::\\/:::/    /  \\:::\\    \\       \\/_____/\\:::\\/:::/    /  \\/____/ \\:::\\/:::/    /  \\/____/ \\:::\\/:::/    / \n          \\::::::/    /    \\:::\\    \\               \\::::::/    /            \\::::::/    /            \\::::::/    /  \n           \\::::/    /      \\:::\\    \\               \\::::/    /              \\::::/    /              \\::::/    /   \n           /:::/    /        \\:::\\    \\               \\::/____/               /:::/    /               /:::/    /    \n          /:::/    /          \\:::\\    \\               ~~                    /:::/    /               /:::/    /     \n         /:::/    /            \\:::\\    \\                                   /:::/    /               /:::/    /      \n        /:::/    /              \\:::\\____\\                                 /:::/    /               /:::/    /       \n        \\::/    /                \\::/    /                                 \\::/    /                \\::/    /        \n         \\/____/                  \\/____/                                   \\/____/                  \\/____/         \n\n================= Banner.flf: 34391 bytes ================\n ######                                               #######                        \n #     #    ##    #    #  #    #  ######  #####       #         ####   #    #  ##### \n #     #   #  #   ##   #  ##   #  #       #    #      #        #    #  ##   #    #   \n ######   #    #  # #  #  # #  #  #####   #    #      #####    #    #  # #  #    #   \n #     #  ######  #  # #  #  # #  #       #####       #        #    #  #  # #    #   \n #     #  #    #  #   ##  #   ##  #       #   #       #        #    #  #   ##    #   \n ######   #    #  #    #  #    #  ######  #    #      #         ####   #    #    #   \n\n================= Bear.flf: 10459 bytes ================\n   _     _      _     _      _     _      _     _        _     _      _     _      _     _      _     _   \n  (c).-.(c)    (c).-.(c)    (c).-.(c)    (c).-.(c)      (c).-.(c)    (c).-.(c)    (c).-.(c)    (c).-.(c)  \n   / ._. \\      / ._. \\      / ._. \\      / ._. \\        / ._. \\      / ._. \\      / ._. \\      / ._. \\   \n __\\( Y )/__  __\\( Y )/__  __\\( Y )/__  __\\( Y )/__    __\\( Y )/__  __\\( Y )/__  __\\( Y )/__  __\\( Y )/__ \n(_.-/\'-\'\\-._)(_.-/\'-\'\\-._)(_.-/\'-\'\\-._)(_.-/\'-\'\\-._)  (_.-/\'-\'\\-._)(_.-/\'-\'\\-._)(_.-/\'-\'\\-._)(_.-/\'-\'\\-._)\n   || B ||      || E ||      || A ||      || R ||        || F ||      || O ||      || N ||      || T ||   \n _.\' `-\' \'._  _.\' `-\' \'._  _.\' `-\' \'._  _.\' `-\' \'._    _.\' `-\' \'._  _.\' `-\' \'._  _.\' `-\' \'._  _.\' `-\' \'._ \n(.-./`-\'\\.-.)(.-./`-\'\\.-.)(.-./`-\'\\.-.)(.-./`-`\\.-.)  (.-./`-\'\\.-.)(.-./`-\'\\.-.)(.-./`-\'\\.-.)(.-./`-\'\\.-.)\n `-\'     `-\'  `-\'     `-\'  `-\'     `-\'  `-\'     `-\'    `-\'     `-\'  `-\'     `-\'  `-\'     `-\'  `-\'     `-\' \n================= BulbHead.flf: 4454 bytes ================\n ____  __  __  __    ____  _   _  ____    __    ____     ____  _____  _  _  ____ \n(  _ \\(  )(  )(  )  (  _ \\( )_( )( ___)  /__\\  (  _ \\   ( ___)(  _  )( \\( )(_  _)\n ) _ < )(__)(  )(__  ) _ < ) _ (  )__)  /(__)\\  )(_) )   )__)  )(_)(  )  (   )(  \n(____/(______)(____)(____/(_) (_)(____)(__)(__)(____/   (__)  (_____)(_)\\_) (__) \n================= DancingFont.flf: 8382 bytes ================\n  ____        _        _   _        ____                  _   _        ____     _____     U  ___ u   _   _       _____   \n |  _"\\   U  /"\\  u   | \\ |"|    U /"___|      ___       | \\ |"|    U /"___|u  |" ___|     \\/"_ \\/  | \\ |"|     |_ " _|  \n/| | | |   \\/ _ \\/   <|  \\| |>   \\| | u       |_"_|     <|  \\| |>   \\| |  _ / U| |_  u     | | | | <|  \\| |>      | |    \nU| |_| |\\  / ___ \\   U| |\\  |u    | |/__       | |      U| |\\  |u    | |_| |  \\|  _|/  .-,_| |_| | U| |\\  |u     /| |\\   \n |____/ u /_/   \\_\\   |_| \\_|      \\____|    U/| |\\u     |_| \\_|      \\____|   |_|      \\_)-\\___/   |_| \\_|     u |_|U   \n  |||_     \\\\    >>   ||   \\\\,-.  _// \\\\  .-,_|___|_,-.  ||   \\\\,-.   _)(|_    )(\\\\,-        \\\\     ||   \\\\,-.  _// \\\\_  \n (__)_)   (__)  (__)  (_")  (_/  (__)(__)  \\_)-\' \'-(_/   (_")  (_/   (__)__)  (__)(_/       (__)    (_")  (_/  (__) (__) \n================= Doom.flf: 8386 bytes ================\n______                           ______                _   \n|  _  \\                          |  ___|              | |  \n| | | |  ___    ___   _ __ ___   | |_     ___   _ __  | |_ \n| | | | / _ \\  / _ \\ | \'_ ` _ \\  |  _|   / _ \\ | \'_ \\ | __|\n| |/ / | (_) || (_) || | | | | | | |    | (_) || | | || |_ \n|___/   \\___/  \\___/ |_| |_| |_| \\_|     \\___/ |_| |_| \\__|\n\n\n================= Epic.flf: 10789 bytes ================\n _______  _______ _________ _______    _______  _______  _       _________\n(  ____ \\(  ____ )\\__   __/(  ____ \\  (  ____ \\(  ___  )( (    /|\\__   __/\n| (    \\/| (    )|   ) (   | (    \\/  | (    \\/| (   ) ||  \\  ( |   ) (   \n| (__    | (____)|   | |   | |        | (__    | |   | ||   \\ | |   | |   \n|  __)   |  _____)   | |   | |        |  __)   | |   | || (\\ \\) |   | |   \n| (      | (         | |   | |        | (      | |   | || | \\   |   | |   \n| (____/\\| )      ___) (___| (____/\\  | )      | (___) || )  \\  |   | |   \n(_______/|/       \\_______/(_______/  |/       (_______)|/    )_)   )_(   \n\n================= Graceful.flf: 9364 bytes ================\n  ___  ____   __    ___  ____  ____  _  _  __          ____   __   __ _  ____ \n / __)(  _ \\ / _\\  / __)(  __)(  __)/ )( \\(  )        (  __) /  \\ (  ( \\(_  _)\n( (_ \\ )   //    \\( (__  ) _)  ) _) ) \\/ (/ (_/\\       ) _) (  O )/    /  )(  \n \\___/(__\\_)\\_/\\_/ \\___)(____)(__)  \\____/\\____/      (__)   \\__/ \\_)__) (__) \n================= Isometric1.flf: 12753 bytes ================\n                  ___           ___           ___           ___           ___           ___                       ___     \n      ___        /\\  \\         /\\  \\         /\\__\\         /\\  \\         /\\  \\         /\\  \\          ___        /\\  \\    \n     /\\  \\      /::\\  \\       /::\\  \\       /::|  |