Linux命令行字符畫生成器

  • 2019 年 12 月 27 日
  • 筆記

工具地址:https://github.com/pedroqin/Ascii_Signature

由於排版問題,部分示例無法正常顯示,如有需要請移步github查看

介紹

此項目移植於網頁版字符畫生成器,最初是為了方便公眾號生成圖文素材的封面圖片。移植到Linux下後,不僅可以更方便生成字符畫,也可應用於linux命令行模式下,使其文字提示更加醒目美觀。

文件說明

ascii_signature.sh

此文件為工具主程序,實現了查詢當前可用字體,根據參數生成目標字符畫的功能。

  • 目前支持對大小寫英文字母和數字轉化,暫不支持特殊字符
  • 腳本內自帶一種默認字符畫,其他字符畫依賴於相同路徑下 font文件夾
  • 沒有 [-f|–font]參數時默認使用自帶默認字體smkeyboard

具體操作如下:

$ ./ascii_signature.sh  usage:      ./ascii_signature.sh --font|-f $font --str|-s $string   do work                           --list|-l                            list all supported font    $ ./ascii_signature.sh -l  smkeyboard(default) blocks bubble doom smpoison template timesofl univers    $ ./ascii_signature.sh -s Diag -f univers  88888888ba,   88  88      `"8b  ""  88        `8b  88         88 88 ,adPPYYba,  ,adPPYb,d8  88         88 88 ""     `Y8 a8"    `Y88  88         8P 88 ,adPPPPP88 8b       88  88      .a8P  88 88,    ,88 "8a,   ,d88  88888888Y"'   88 `"8bbdP"Y8  `"YbbdP"Y8                               aa,    ,88                                "Y8bbdP"    $

font 文件夾

用於存放字符畫風格的目錄。其中,'template' 為模板文件,在新增字符畫風格時,只需將'template' copy 成新的名字,然後將文件中大小寫英文字母和數字填入對應位置即可 目前已經支持的字符畫樣式如下:

$ ls font/  blocks  bubble  doom  smpoison  template  timesofl  univers  $ ./ascii_signature.sh -s Diag   ____  ____  ____  ____  ||D ||||i ||||a ||||g ||  ||__||||__||||__||||__||  |/__||/__||/__||/__|  $ ./ascii_signature.sh -s Diag -f blocks   .----------------.  .----------------.  .----------------.  .----------------.  | .--------------. || .--------------. || .--------------. || .--------------. |  | |  ________    | || |     _____    | || |      __      | || |    ______    | |  | | |_   ___ `.  | || |    |_   _|   | || |     /       | || |  .' ___  |   | |  | |   | |   `.  | || |      | |     | || |    / /     | || | / .'   _|   | |  | |   | |    | | | || |      | |     | || |   / ____    | || | | |    ____  | |  | |  _| |___.' / | || |     _| |_    | || | _/ /     _ | || |  `.___]  _| | |  | | |________.'  | || |    |_____|   | || ||____|  |____|| || |  `._____.'   | |  | |              | || |              | || |              | || |              | |  | '--------------' || '--------------' || '--------------' || '--------------' |   '----------------'  '----------------'  '----------------'  '----------------'    $ ./ascii_signature.sh -s Diag -f bubble    _    _    _    _   /   /   /   /   ( D )( i )( a )( g )   _/  _/  _/  _/    $ ./ascii_signature.sh -s Diag -f doom  ______   _  |  _   (_)  | | | |  _    __ _    __ _  | | | | | |  / _` |  / _` |  | |/ /  | | | (_| | | (_| |  |___/   |_|  __,_|  __, |                        __/ |                       |___/    $ ./ascii_signature.sh -s Diag -f smpoison  @@@@@@@  @@@  @@@@@@   @@@@@@@  @@!  @@@ @@! @@!  @@@ !@@  @!@  !@! !!@ @!@!@!@! !@! @!@!@  !!:  !!! !!: !!:  !!! :!!   !!:  :: :  :  :    :   : :  :: :: :    $ ./ascii_signature.sh -s Diag -f timesofl       ### ######## ######## ########  #  #  ## ###  ### ######## ########  #  ##  # ######## ###  ### ##   # #  #  ##  # ##   ### ## #  ## #  ##  #  #  ##  # # #  ### #  #  ## #  #   #  #  #  ## ###  # # #  #  ## ##  #  #       ### ###   ## ##  #  # ####  ##  ######## ######## ######## #    ###    $ ./ascii_signature.sh -s Diag -f univers  88888888ba,   88  88      `"8b  ""  88        `8b  88         88 88 ,adPPYYba,  ,adPPYb,d8  88         88 88 ""     `Y8 a8"    `Y88  88         8P 88 ,adPPPPP88 8b       88  88      .a8P  88 88,    ,88 "8a,   ,d88  88888888Y"'   88 `"8bbdP"Y8  `"YbbdP"Y8                               aa,    ,88                                "Y8bbdP"

:當缺少小寫字母對應字符畫時,將對應位置留空即可。在進行轉換時會自動使用大寫字母字符畫進行替換