How would I use some multi line ascii art as my characters for a counter? (batch)

前端 未结 3 1151
梦毁少年i
梦毁少年i 2020-12-03 20:48

here is the font

    ::  __   ___    ____    _  _     _____     __    ______    ___     ___     ___  
    :: /_ | |__ \\  |___ \         


        
相关标签:
3条回答
  • 2020-12-03 20:56
    echo   __   ___    ____    _  _     _____     __    ______    ___     ___     ___  
    echo  /_ ^| ^|__ \  ^|___ \  ^| ^|^| ^|   ^| ____^|   / /   ^|____  ^|  / _ \   / _ \   / _ \ 
    echo   ^| ^|    ) ^|   __) ^| ^| ^|^| ^|_  ^| ^|__    / /_       / /  ^| (_) ^| ^| (_) ^| ^| ^| ^| ^|
    echo   ^| ^|   / /   ^|__ ^<  ^|__   _^| ^|___ \  ^| '_ \     / /    ^> _ ^<   \__, ^| ^| ^| ^| ^|
    echo   ^| ^|  / /_   ___) ^|    ^| ^|    ___) ^| ^| (_) ^|   / /    ^| (_) ^|    / /  ^| ^|_^| ^|
    echo   ^|_^| ^|____^| ^|____/     ^|_^|   ^|____/   \___/   /_/      \___/    /_/    \___/ 
    

    You can try with subroutines (or macros ):

    call :echo_one
    call :echo_two
    
    :echo_one
    echo   __    
    echo  /_ ^|  
    echo   ^| ^|
    echo   ^| ^|
    echo   ^| ^|
    echo   ^|_^|
    goto :eof
    
    :echo_two
    echo     ___     
    echo   ^|__ \ 
    echo       ) ^| 
    echo      / /   
    echo     / /_   
    echo   ^|____^| 
    goto :eof
    
    0 讨论(0)
  • 2020-12-03 20:57

    Give this a try :)

    @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
    

    -- OUTPUT --

    The digits:
       ___    __   ___    ____    _  _     _____     __    ______    ___     ___
      / _ \  /_ | |__ \  |___ \  | || |   | ____|   / /   |____  |  / _ \   / _ \
     | | | |  | |    ) |   __) | | || |_  | |__    / /_       / /  | (_) | | (_) |
     | | | |  | |   / /   |__ <  |__   _| |___ \  | '_ \     / /    > _ <   \__, |
     | |_| |  | |  / /_   ___) |    | |    ___) | | (_) |   / /    | (_) |    / /
      \___/   |_| |____| |____/     |_|   |____/   \___/   /_/      \___/    /_/
    
    The answer to life, the universe, and everything:
      _  _     ___
     | || |   |__ \
     | || |_     ) |
     |__   _|   / /
        | |    / /_
        |_|   |____|
    

    Update

    I've extended Aacini's idea to make it easy to change fonts; I've actually created a library of batch routines to facilitate printing in multiple fonts. Fonts can be added by appending to the library script, or by creating a separate font script for each new font. The posted library has two fonts built in - Big, and Standard. I've also posted a stand alone font script for a Small font. The font script(s) must be in the same directory as the main library.

    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
    

    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
    

    Full documentation is built into Banner.bat

    Sample usage:

    call banner printStr standard "Hello world!"
    
    0 讨论(0)
  • 2020-12-03 21:06

    The Batch file below allows you to easily change the font:

    @echo off
    setlocal EnableDelayedExpansion
    
    set "font[1]=   ___    __   ___    ____    _  _     _____     __    ______    ___     ___  "
    set "font[2]=  / _ \  /_ | |__ \  |___ \  | || |   | ____|   / /   |____  |  / _ \   / _ \ "
    set "font[3]= | | | |  | |    ) |   __) | | || |_  | |__    / /_       / /  | (_) | | (_) |"
    set "font[4]= | | | |  | |   / /   |__ <  |__   _| |___ \  | '_ \     / /    > _ <   \__, |"
    set "font[5]= | |_| |  | |  / /_   ___) |    | |    ___) | | (_) |   / /    | (_) |    / / "
    set "font[6]=  \___/   |_| |____| |____/     |_|   |____/   \___/   /_/      \___/    /_/  "
    set fontWides=8 5 7 8 9 8 8 9 8 8
    set fontLines=6
    
    for /L %%i in (1,1,%fontLines%) do (
       set n=0
       for %%w in (%fontWides%) do (
          set num[%%i][!n!]=!font[%%i]:~0,%%w!
          set font[%%i]=!font[%%i]:~%%w!
          set /A n+=1
       )
    )
    
    echo All digits:
    call :numBanner 1234567890
    echo A test with number 725:
    call :numBanner 725
    goto :EOF
    
    :numBanner number
    set number=%1
    set "digits="
    :nextDigit
       set digits=%digits% %number:~0,1%
       set number=%number:~1%
    if defined number goto nextDigit
    for /L %%i in (1,1,%fontLines%) do (
       set "line="
       for %%d in (%digits%) do (
          set line=!line!!num[%%i][%%d]!
       )
       echo !line!
    )
    exit /B
    

    Output:

    All digits:
      __   ___    ____    _  _     _____     __    ______    ___     ___     ___
     /_ | |__ \  |___ \  | || |   | ____|   / /   |____  |  / _ \   / _ \   / _ \
      | |    ) |   __) | | || |_  | |__    / /_       / /  | (_) | | (_) | | | | |
      | |   / /   |__ <  |__   _| |___ \  | '_ \     / /    > _ <   \__, | | | | |
      | |  / /_   ___) |    | |    ___) | | (_) |   / /    | (_) |    / /  | |_| |
      |_| |____| |____/     |_|   |____/   \___/   /_/      \___/    /_/    \___/
    A test with number 725:
      ______   ___    _____
     |____  | |__ \  | ____|
         / /     ) | | |__
        / /     / /  |___ \
       / /     / /_   ___) |
      /_/     |____| |____/
    

    Update

    I got an unpleasant surprise when I discovered that I lost the points I earned when my answer was selected as Best answer. It seems that the 15 points are for the "bigger answer" and I am interested in recover my 15 points, so here we go...

    The ultimate Ascii-art banner program is FIGlet, that use fonts defined in files with .flf extension called "FIGfonts". There are hundreds of FIGfonts; you may browse some of them in FIGlet Fonts Library.

    FIGBat.bat is a Batch program compatible with FIGfonts that I wrote some time ago. Here it is:

    @echo off
    
    rem Windows/DOS Batch version of FIGlet program: display text using a FIGfont
    rem http://www.jave.de/figlet/fonts.html          http://www.figlet.org/
    rem FIGBat.bat version 1.0 - Antonio Perez Ayala - May/12/2012
    
    rem This program does not perform fitting nor smushing
    
    setlocal EnableDelayedExpansion
    set specialChar[=exclam
    set specialChar["]=quote
    set specialChar[*]=star
    set specialChar[?]=question
    set specialChar[~]=tilde
    set charSet=" " exclam] quote #  $  percent "&" '  ( ")" star   +  "," -      .     /         ^
                 0  1       2     3  4  5        6  7  8  9  colon ";" "<" equal ">"    question  ^
                 @  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      [   \  ]      caret _         ^
                 ` _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      {  "|" }      tilde           ^
                 Ä  Ö       Ü     ä  ö  ü        ß
    rem Ascii: 196  214    220  228 246 252     223     Standard German FIGChars
    set 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
    
    set font=solid
    set "dir=%~DP0"
    REM set alignment=
    REM set outputWidth=8190
    set outputColor=
    set multiColor=
    
    
    rem Process switches
    
    if "%~1" neq "/?" if "%~1" neq "-?" goto checkNextSwitch
    echo Display text using a FIGfont
    echo/
    echo FIGBat [/f font] [/d dir] [/c^|l^|r] [/t^|w width] [/a attr] [word ...]
    echo/
    echo /f    select a font file.
    echo /d    change the directory for fonts.
    echo /c    centers the output.
    echo /l    left-aligns the output.
    echo /r    right-aligns the output.
    echo /t    sets the output width to the terminal width.
    echo /w    specifies a custom output width.
    echo /a    sets the output color:
    echo       /a bf   set color as attribute (see COLOR /? for more info)
    echo       /a RB   set colors as Rainbow Bands
    echo       /a MC   set Multi-color Characters in random order
    echo/
    echo word ...  Text to display. If not given, read lines to show from STDIN.
    echo/
    echo /c /l /r switches may include a number separated by equal-sign that define
    echo a left margin at which the alignment start.
    echo/
    echo /t /w switches may include a S or D letter separated by equal-sign that
    echo indicate to enclose the FIGure into a frame of Single or Double lines.
    echo/
    echo For example:
    echo     figbat /c=19 /w=s 41 Text centered into a frame between columns 20 and 60
    echo/
    echo Multiple switches can NOT be combined in one; write each one individually.
    echo/
    goto :EOF
    
    :switch/F
    set "font=%~N2"
    goto shift2
    
    :switch/D
    set "dir=%~2"
    goto shift2
    
    :switch/W
    set outputWidth=%2
    goto shift2
    
    :switch/A
    set outputColor=%2
    if /I %2 equ MC (
       rem Activate Multi-color Characters
       set multiColor=1
    )
    if /I %2 equ RB (
       rem Define colors as Rainbow Bands
       set lastColor=0
       for %%a in (  E D C B A 9     6 5 4 3 2 1  ) do (
          set /A lastColor+=1
          set color[!lastColor!]=%%a
       )
       set outputColor=!color[1]!
       set rainbowBand=1
    )
    :shift2
    shift
    goto shift1
    
    :switch/C
    set alignment=center
    goto shift1
    
    :switch/L
    set alignment=left
    goto shift1
    
    :switch/R
    set alignment=right
    goto shift1
    
    :switch/T
    for /F "skip=4 tokens=2" %%a in ('mode con /status') do (
       set outputWidth=%%a
       goto shift1
    )
    :shift1
    shift
    
    :checkNextSwitch
    for %%a in (/ -) do (
       for %%b in (f d c l r t w a) do if /I "%~1" equ "%%a%%b" goto switch/%%b
    )
    
    
    rem Load the FIGfont file
    if "%dir:~-1%" == "\" set "dir=%dir:~0,-1%"
    if not exist "%dir%\%font%.flf" (
       echo FIGfont file not found: "%dir%\%font%.flf"
       goto :EOF
    )
    call :loadFIGfont < "%dir%\%font%.flf"
    
    rem Show text from parameters or from input lines
    if "%~1" equ "" goto readNextLine
    
    set "line=%~1"
    :getNextWord
       shift
       if "%~1" neq "" set "line=%line% %~1" & goto getNextWord
    call :showFIGure line
    goto :EOF
    
    :readNextLine
       set line=
       set /P line=
       if not defined line goto :EOF
       call :showFIGure line
       goto readNextLine
    :EOF
    
    
    Format of HeaderLine in a FIGfont.flf file:
    
    #Token in FOR /F "tokens=... Batch command
    
    1 - Signature&Hardblank, for example: f1f2a$ (hard blank is usually $)
    2 - Height (of FIGcharacters in lines)
    3 - Baseline (height of font from baseline up)
    4 - Max_Lenght (width of the widest FIGcharacter, plus a small factor)
    5 - Old_Layout (default smushmode for this font)
    6 - Comment_Lines (between HeaderLine and the first FIGcharacter)
    7 - Print_Direction (usually 0)
    8 - Full_Layout (detailed smushmode specification)
    9 - Codetag_Count (number of FIGcharacters in the font minus 102)
    
    
    rem Load a FIGfont.flf file
    
    :loadFIGfont < FIGfont.flf
    rem Get font parameters from Header line
    set /P HeaderLine=
    for /F "tokens=1,2,6" %%a in ("%HeaderLine%") do (
       set firstToken=%%a
       set Height=%%b
       set Comment_Lines=%%c
    )
    set Hardblank=%firstToken:~-1%
    rem Skip comment lines
    for /L %%a in (1,1,%Comment_Lines%) do set /P =
    rem Load FIGchars in "FIG<char><line>=sub-chars" variables
    for %%a in (%charSet%) do (
       for /L %%b in (1,1,%Height%) do (
          set /P "FIG%%~a%%b="
          rem Remove one or two end marks
          set "endmark=!FIG%%~a%%b:~-1!"
          set "FIG%%~a%%b=!FIG%%~a%%b:~0,-1!"
          if "!FIG%%~a%%b:~-1!" equ "!endmark!" set "FIG%%~a%%b=!FIG%%~a%%b:~0,-1!"
          rem Replace hard blanks by spaces (no smushing)
          if "!FIG%%~a%%b!" neq "" set "FIG%%~a%%b=!FIG%%~a%%b:%Hardblank%= !"
       )
    )
    exit /B
    
    
    rem Show an Ascii string as a FIGure
    
    :showFIGure stringVar
    
    rem Get lenght of Ascii string (1024 characters max)
    set textLen=0
    for /L %%a in (9,-1,0) do (
       set /A "bit=1<<%%a, lastLen=bit+textLen"
       for %%B in (!lastLen!) do if "!%1:~%%B,1!" neq "" set textLen=%%B
       )
    )
    rem Convert Ascii characters into the charSet used in FIGcharacters
    for /L %%a in (0,1,%textLen%) do (
       set "char=!%1:~%%a,1!"
       call :changeSpecial char="!char!"
       set char[%%a]=!char!
    )
    rem Randomize color order for Multicolor Characters mode
    if defined multiColor (
       set "colors= F E D C B A 9 8 7 6 5 4 3 2 1 "
       set lastColor=0
       for /L %%a in (15,-1,2) do (
          set /A "lastColor+=1, randomColor=(!random!*%%a)/32768+1"
          call :moveColor !randomColor!
       )
       set /A lastColor+=1
       set color[!lastColor!]=!colors: =!
    )
    rem Show the equivalent FIGure
    for /L %%a in (1,1,%Height%) do (
       if defined multiColor (
          set multiColor=1
          for /L %%b in (0,1,%textLen%) do (
             REM                                                                                PATCH TO AVOID ERRORS WHEN SHOW QUOTES :"='
             for /F "tokens=1,2 delims=%Hardblank%" %%C in ("!char[%%b]!%Hardblank%!multiColor!") do ColorMsg !color[%%D]! "!FIG%%~C%%a:"=""!"
             set /A multiColor+=1
             if !multiColor! gtr !lastColor! (
                set multiColor=1
             )
          )
          echo/
       ) else (
          set FIGline=
          for /L %%b in (0,1,%textLen%) do (
             for %%C in ("!char[%%b]!") do set FIGline=!FIGline!!FIG%%~C%%a!
          )
          if defined outputColor (
             REM PATCH TO AVOID ERRORS WHEN SHOW QUOTES :"='
             ColorMsg !outputColor! "!FIGline:"=""!"
             echo/
             if defined rainbowBand (
                set /A rainbowBand+=1
                if !rainbowBand! gtr !lastColor! (
                   set rainbowBand=1
                )
                for %%B in (!rainbowBand!) do set outputColor=!color[%%B]!
             )
          ) else (
             echo(!FIGline!
          )
       )
    )
    exit /B
    
    
    rem Auxiliary subroutine for Randomize colors
    
    :moveColor index
    for /F "tokens=%1" %%a in ("%colors%") do (
       set color[%lastColor%]=%%a
       set colors=!colors: %%a = !
    )
    exit /B
    
    
    rem Change characters that can not be easily managed in a Batch file
    
    :changeSpecial changedChar="!originalChar!"
    rem Change the special characters that can be included in a variable name
    set "special=!specialChar[%~2]!"
    if "!special!" equ "specialChar[:]" set special=colon
    if defined special set %1=%special%& exit /B
    rem Change the rest of special characters
    if "%~2" equ "" set special=percent
    if "%~2" equ "=" set special=equal
    if "%~2" equ "^^" set special=caret
    if defined special set %1=%special%& exit /B
    rem Change lowcase letters (mistaken for upcase letters in variable names)
    for %%a in (%lowcaseLetters%) do (
       if "%~2" equ "%%a" (
          set %1=_%%a
       )
    )
    exit /B
    

    This is a sample of a few of the existent FIGfonts displayed with FIGBat.bat program:

    ================= Alligator3.flf: 9462 bytes ================
        :::     :::        :::        :::::::::::  ::::::::      :::     :::::::::::  ::::::::  :::::::::   ::::::::  
      :+: :+:   :+:        :+:            :+:     :+:    :+:   :+: :+:       :+:     :+:    :+: :+:    :+: :+:    :+: 
     +:+   +:+  +:+        +:+            +:+     +:+         +:+   +:+      +:+     +:+    +:+ +:+    +:+        +:+ 
    +#++:++#++: +#+        +#+            +#+     :#:        +#++:++#++:     +#+     +#+    +:+ +#++:++#:      +#++:  
    +#+     +#+ +#+        +#+            +#+     +#+   +#+# +#+     +#+     +#+     +#+    +#+ +#+    +#+        +#+ 
    #+#     #+# #+#        #+#            #+#     #+#    #+# #+#     #+#     #+#     #+#    #+# #+#    #+# #+#    #+# 
    ###     ### ########## ########## ###########  ########  ###     ###     ###      ########  ###    ###  ########  
    ================= Alpha.flf: 36168 bytes ================
              _____                    _____            _____                    _____                    _____          
             /\    \                  /\    \          /\    \                  /\    \                  /\    \         
            /::\    \                /::\____\        /::\    \                /::\____\                /::\    \        
           /::::\    \              /:::/    /       /::::\    \              /:::/    /               /::::\    \       
          /::::::\    \            /:::/    /       /::::::\    \            /:::/    /               /::::::\    \      
         /:::/\:::\    \          /:::/    /       /:::/\:::\    \          /:::/    /               /:::/\:::\    \     
        /:::/__\:::\    \        /:::/    /       /:::/__\:::\    \        /:::/____/               /:::/__\:::\    \    
       /::::\   \:::\    \      /:::/    /       /::::\   \:::\    \      /::::\    \              /::::\   \:::\    \   
      /::::::\   \:::\    \    /:::/    /       /::::::\   \:::\    \    /::::::\    \   _____    /::::::\   \:::\    \  
     /:::/\:::\   \:::\    \  /:::/    /       /:::/\:::\   \:::\____\  /:::/\:::\    \ /\    \  /:::/\:::\   \:::\    \ 
    /:::/  \:::\   \:::\____\/:::/____/       /:::/  \:::\   \:::|    |/:::/  \:::\    /::\____\/:::/  \:::\   \:::\____\
    \::/    \:::\  /:::/    /\:::\    \       \::/    \:::\  /:::|____|\::/    \:::\  /:::/    /\::/    \:::\  /:::/    /
     \/____/ \:::\/:::/    /  \:::\    \       \/_____/\:::\/:::/    /  \/____/ \:::\/:::/    /  \/____/ \:::\/:::/    / 
              \::::::/    /    \:::\    \               \::::::/    /            \::::::/    /            \::::::/    /  
               \::::/    /      \:::\    \               \::::/    /              \::::/    /              \::::/    /   
               /:::/    /        \:::\    \               \::/____/               /:::/    /               /:::/    /    
              /:::/    /          \:::\    \               ~~                    /:::/    /               /:::/    /     
             /:::/    /            \:::\    \                                   /:::/    /               /:::/    /      
            /:::/    /              \:::\____\                                 /:::/    /               /:::/    /       
            \::/    /                \::/    /                                 \::/    /                \::/    /        
             \/____/                  \/____/                                   \/____/                  \/____/         
    
    ================= Banner.flf: 34391 bytes ================
     ######                                               #######                        
     #     #    ##    #    #  #    #  ######  #####       #         ####   #    #  ##### 
     #     #   #  #   ##   #  ##   #  #       #    #      #        #    #  ##   #    #   
     ######   #    #  # #  #  # #  #  #####   #    #      #####    #    #  # #  #    #   
     #     #  ######  #  # #  #  # #  #       #####       #        #    #  #  # #    #   
     #     #  #    #  #   ##  #   ##  #       #   #       #        #    #  #   ##    #   
     ######   #    #  #    #  #    #  ######  #    #      #         ####   #    #    #   
    
    ================= Bear.flf: 10459 bytes ================
       _     _      _     _      _     _      _     _        _     _      _     _      _     _      _     _   
      (c).-.(c)    (c).-.(c)    (c).-.(c)    (c).-.(c)      (c).-.(c)    (c).-.(c)    (c).-.(c)    (c).-.(c)  
       / ._. \      / ._. \      / ._. \      / ._. \        / ._. \      / ._. \      / ._. \      / ._. \   
     __\( Y )/__  __\( Y )/__  __\( Y )/__  __\( Y )/__    __\( Y )/__  __\( Y )/__  __\( Y )/__  __\( Y )/__ 
    (_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)  (_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)
       || B ||      || E ||      || A ||      || R ||        || F ||      || O ||      || N ||      || T ||   
     _.' `-' '._  _.' `-' '._  _.' `-' '._  _.' `-' '._    _.' `-' '._  _.' `-' '._  _.' `-' '._  _.' `-' '._ 
    (.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-`\.-.)  (.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)
     `-'     `-'  `-'     `-'  `-'     `-'  `-'     `-'    `-'     `-'  `-'     `-'  `-'     `-'  `-'     `-' 
    ================= BulbHead.flf: 4454 bytes ================
     ____  __  __  __    ____  _   _  ____    __    ____     ____  _____  _  _  ____ 
    (  _ \(  )(  )(  )  (  _ \( )_( )( ___)  /__\  (  _ \   ( ___)(  _  )( \( )(_  _)
     ) _ < )(__)(  )(__  ) _ < ) _ (  )__)  /(__)\  )(_) )   )__)  )(_)(  )  (   )(  
    (____/(______)(____)(____/(_) (_)(____)(__)(__)(____/   (__)  (_____)(_)\_) (__) 
    ================= DancingFont.flf: 8382 bytes ================
      ____        _        _   _        ____                  _   _        ____     _____     U  ___ u   _   _       _____   
     |  _"\   U  /"\  u   | \ |"|    U /"___|      ___       | \ |"|    U /"___|u  |" ___|     \/"_ \/  | \ |"|     |_ " _|  
    /| | | |   \/ _ \/   <|  \| |>   \| | u       |_"_|     <|  \| |>   \| |  _ / U| |_  u     | | | | <|  \| |>      | |    
    U| |_| |\  / ___ \   U| |\  |u    | |/__       | |      U| |\  |u    | |_| |  \|  _|/  .-,_| |_| | U| |\  |u     /| |\   
     |____/ u /_/   \_\   |_| \_|      \____|    U/| |\u     |_| \_|      \____|   |_|      \_)-\___/   |_| \_|     u |_|U   
      |||_     \\    >>   ||   \\,-.  _// \\  .-,_|___|_,-.  ||   \\,-.   _)(|_    )(\\,-        \\     ||   \\,-.  _// \\_  
     (__)_)   (__)  (__)  (_")  (_/  (__)(__)  \_)-' '-(_/   (_")  (_/   (__)__)  (__)(_/       (__)    (_")  (_/  (__) (__) 
    ================= Doom.flf: 8386 bytes ================
    ______                           ______                _   
    |  _  \                          |  ___|              | |  
    | | | |  ___    ___   _ __ ___   | |_     ___   _ __  | |_ 
    | | | | / _ \  / _ \ | '_ ` _ \  |  _|   / _ \ | '_ \ | __|
    | |/ / | (_) || (_) || | | | | | | |    | (_) || | | || |_ 
    |___/   \___/  \___/ |_| |_| |_| \_|     \___/ |_| |_| \__|
    
    
    ================= Epic.flf: 10789 bytes ================
     _______  _______ _________ _______    _______  _______  _       _________
    (  ____ \(  ____ )\__   __/(  ____ \  (  ____ \(  ___  )( (    /|\__   __/
    | (    \/| (    )|   ) (   | (    \/  | (    \/| (   ) ||  \  ( |   ) (   
    | (__    | (____)|   | |   | |        | (__    | |   | ||   \ | |   | |   
    |  __)   |  _____)   | |   | |        |  __)   | |   | || (\ \) |   | |   
    | (      | (         | |   | |        | (      | |   | || | \   |   | |   
    | (____/\| )      ___) (___| (____/\  | )      | (___) || )  \  |   | |   
    (_______/|/       \_______/(_______/  |/       (_______)|/    )_)   )_(   
    
    ================= Graceful.flf: 9364 bytes ================
      ___  ____   __    ___  ____  ____  _  _  __          ____   __   __ _  ____ 
     / __)(  _ \ / _\  / __)(  __)(  __)/ )( \(  )        (  __) /  \ (  ( \(_  _)
    ( (_ \ )   //    \( (__  ) _)  ) _) ) \/ (/ (_/\       ) _) (  O )/    /  )(  
     \___/(__\_)\_/\_/ \___)(____)(__)  \____/\____/      (__)   \__/ \_)__) (__) 
    ================= Isometric1.flf: 12753 bytes ================
                      ___           ___           ___           ___           ___           ___                       ___     
          ___        /\  \         /\  \         /\__\         /\  \         /\  \         /\  \          ___        /\  \    
         /\  \      /::\  \       /::\  \       /::|  |       /::\  \        \:\  \       /::\  \        /\  \      /::\  \   
         \:\  \    /:/\ \  \     /:/\:\  \     /:|:|  |      /:/\:\  \        \:\  \     /:/\:\  \       \:\  \    /:/\:\  \  
         /::\__\  _\:\~\ \  \   /:/  \:\  \   /:/|:|__|__   /::\~\:\  \       /::\  \   /::\~\:\  \      /::\__\  /:/  \:\  \ 
      __/:/\/__/ /\ \:\ \ \__\ /:/__/ \:\__\ /:/ |::::\__\ /:/\:\ \:\__\     /:/\:\__\ /:/\:\ \:\__\  __/:/\/__/ /:/__/ \:\__\
     /\/:/  /    \:\ \:\ \/__/ \:\  \ /:/  / \/__/~~/:/  / \:\~\:\ \/__/    /:/  \/__/ \/_|::\/:/  / /\/:/  /    \:\  \  \/__/
     \::/__/      \:\ \:\__\    \:\  /:/  /        /:/  /   \:\ \:\__\     /:/  /         |:|::/  /  \::/__/      \:\  \      
      \:\__\       \:\/:/  /     \:\/:/  /        /:/  /     \:\ \/__/     \/__/          |:|\/__/    \:\__\       \:\  \     
       \/__/        \::/  /       \::/  /        /:/  /       \:\__\                      |:|  |       \/__/        \:\__\    
                     \/__/         \/__/         \/__/         \/__/                       \|__|                     \/__/    
    ================= Jacky.flf: 12329 bytes ================
      ________     ____       ____    __   ___  __      __     _________     ____        __      _   ________  
     (___  ___)   (    )     / ___)  () ) / __) ) \    / (    (_   _____)   / __ \      /  \    / ) (___  ___) 
         ) )      / /\ \    / /      ( (_/ /     \ \  / /       ) (___     / /  \ \    / /\ \  / /      ) )    
        ( (      ( (__) )  ( (       ()   (       \ \/ /       (   ___)   ( ()  () )   ) ) ) ) ) )     ( (     
     __  ) )      )    (   ( (       () /\ \       \  /         ) (       ( ()  () )  ( ( ( ( ( (       ) )    
    ( (_/ /      /  /\  \   \ \___   ( (  \ \       )(         (   )       \ \__/ /   / /  \ \/ /      ( (     
     \___/      /__(  )__\   \____)  ()_)  \_\     /__\         \_/         \____/   (_/    \__/       /__\    
    
    ================= Ogre.flf: 6313 bytes ================
       ___                        ___                _   
      /___\  __ _  _ __   ___    / __\  ___   _ __  | |_ 
     //  // / _` || '__| / _ \  / _\   / _ \ | '_ \ | __|
    / \_// | (_| || |   |  __/ / /    | (_) || | | || |_ 
    \___/   \__, ||_|    \___| \/      \___/ |_| |_| \__|
            |___/                                        
    ================= Puffy.flf: 8227 bytes ================
     ___             ___    ___            ___                  _   
    (  _`\         /'___) /'___)          (  _`\               ( )_ 
    | |_) ) _   _ | (__  | (__   _   _    | (_(_)   _     ___  | ,_)
    | ,__/'( ) ( )| ,__) | ,__) ( ) ( )   |  _)   /'_`\ /' _ `\| |  
    | |    | (_) || |    | |    | (_) |   | |    ( (_) )| ( ) || |_ 
    (_)    `\___/'(_)    (_)    `\__, |   (_)    `\___/'(_) (_)`\__)
                                ( )_| |                             
                                `\___/'                             
    ================= Rounded.flf: 7432 bytes ================
     ______                            _             _    _______                      
    (_____ \                          | |           | |  (_______)                 _   
     _____) )  ___   _   _  ____    __| | _____   __| |   _____     ___   ____   _| |_ 
    |  __  /  / _ \ | | | ||  _ \  / _  || ___ | / _  |  |  ___)   / _ \ |  _ \ (_   _)
    | |  \ \ | |_| || |_| || | | |( (_| || ____|( (_| |  | |      | |_| || | | |  | |_ 
    |_|   |_| \___/ |____/ |_| |_| \____||_____) \____|  |_|       \___/ |_| |_|   \__)
    
    ================= Script.flf: 16682 bytes ================
                                      ______                 
       ()            o               (_) |                   
       /\  __   ,_         _  _|_       _|_  __   _  _   _|_ 
      /  \/    /  |  |  _|/ \_ |       / | |/  \_/ |/ |   |  
     /(__/\___/   |_/|_/ |__/  |_/    (_/   \__/   |  |_/ |_/
                        /|                                   
                        \|                                   
    ================= Standard.flf: 30562 bytes ================
      ____    _                         _                      _     _____                   _   
     / ___|  | |_    __ _   _ __     __| |   __ _   _ __    __| |   |  ___|   ___    _ __   | |_ 
     \___ \  | __|  / _` | | '_ \   / _` |  / _` | | '__|  / _` |   | |_     / _ \  | '_ \  | __|
      ___) | | |_  | (_| | | | | | | (_| | | (_| | | |    | (_| |   |  _|   | (_) | | | | | | |_ 
     |____/   \__|  \__,_| |_| |_|  \__,_|  \__,_| |_|     \__,_|   |_|      \___/  |_| |_|  \__|
    
    ================= Stop.flf: 7504 bytes ================
        _                           _______                     
       | |    _                    (_______)               _    
        \ \  | |_    ___   ____     _____     ___   ____  | |_  
         \ \ |  _)  / _ \ |  _ \   |  ___)   / _ \ |  _ \ |  _) 
     _____) )| |__ | |_| || | | |  | |      | |_| || | | || |__ 
    (______/  \___) \___/ | ||_/   |_|       \___/ |_| |_| \___)
                          |_|                                   
    ================= Train.flf: 6983 bytes ================
      _____                     _                        ___                    _    
     |_   _|    _ _   __ _     (_)    _ _       o O O   | __|   ___    _ _     | |_  
       | |     | '_| / _` |    | |   | ' \     o        | _|   / _ \  | ' \    |  _| 
      _|_|_   _|_|_  \__,_|   _|_|_  |_||_|   TS__[O]  _|_|_   \___/  |_||_|   _\__| 
    _|"""""|_|"""""|_|"""""|_|"""""|_|"""""| {======|_| """ |_|"""""|_|"""""|_|"""""|
    "`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'./o--000'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'
    
    0 讨论(0)
提交回复
热议问题