一款生成艺术字的小工具FigLet
各位使用命令行工具时,是否好奇过那些花里胡哨的镂空艺术字体是怎么生成的?
其实有一款小工具可以实现各种艺术字体的自动生成,那就是FigLet,话不多说,先举个例子:
ryan@ryan-ThinkPad-X270:~$ figlet gooneyryan
__ _ ___ ___ _ __ ___ _ _ _ __ _ _ __ _ _ __
/ _` |/ _ \ / _ \| '_ \ / _ \ | | | '__| | | |/ _` | '_ \
| (_| | (_) | (_) | | | | __/ |_| | | | |_| | (_| | | | |
\__, |\___/ \___/|_| |_|\___|\__, |_| \__, |\__,_|_| |_|
|___/ |___/ |___/
是不是有内味儿了?还可以设置字体:
ryan@ryan-ThinkPad-X270:~$ figlet -f slant gooneyryan
____ _____ ____ ____ ___ __ _________ ______ _____
/ __ `/ __ \/ __ \/ __ \/ _ \/ / / / ___/ / / / __ `/ __ \
/ /_/ / /_/ / /_/ / / / / __/ /_/ / / / /_/ / /_/ / / / /
\__, /\____/\____/_/ /_/\___/\__, /_/ \__, /\__,_/_/ /_/
/____/ /____/ /____/
ubuntu上安装figlet非常简单:
sudo apt install figlet
输入命令showfigfonts可以查看全部字体,而且还有示例(有几个字体显示不正常,我也不知道为啥):
ryan@ryan-ThinkPad-X270:~$ showfigfonts
banner :
##### ## # # # # ###### #####
# # # # ## # ## # # # #
##### # # # # # # # # ##### # #
# # ###### # # # # # # # #####
# # # # # ## # ## # # #
##### # # # # # # ###### # #
big :
_ _
| | (_)
| |__ _ __ _
| '_ \| |/ _` |
| |_) | | (_| |
|_.__/|_|\__, |
__/ |
|___/
block :
_| _| _|
_|_|_| _| _|_| _|_|_| _| _|
_| _| _| _| _| _| _|_|
_| _| _| _| _| _| _| _|
_|_|_| _| _|_| _|_|_| _| _|
bubble :
_ _ _ _ _ _
/ \ / \ / \ / \ / \ / \
( b | u | b | b | l | e )
\_/ \_/ \_/ \_/ \_/ \_/
digital :
+-+-+-+-+-+-+-+
|d|i|g|i|t|a|l|
+-+-+-+-+-+-+-+
ivrit :
_ _ _
| |_(_)_ ____ _(_)
| __| | '__\ \ / / |
| |_| | | \ V /| |
\__|_|_| \_/ |_|
lean :
_/
_/ _/_/ _/_/_/ _/_/_/
_/ _/_/_/_/ _/ _/ _/ _/
_/ _/ _/ _/ _/ _/
_/ _/_/_/ _/_/_/ _/ _/
mini :
._ _ o._ o
| | ||| ||
mnemonic :
mnemonic
script :
o
, __ ,_ _ _|_
/ \_/ / | | |/ \_|
\/ \___/ |_/|_/|__/ |_/
/|
\|
shadow :
| |
__| __ \ _` | _` | _ \\ \ \ /
\__ \ | | | ( | ( | ( |\ \ \ /
____/_| |_|\__,_|\__,_|\___/ \_/\_/
slant :
__ __
_____/ /___ _____ / /_
/ ___/ / __ `/ __ \/ __/
(__ ) / /_/ / / / / /_
/____/_/\__,_/_/ /_/\__/
small :
_ _
____ __ __ _| | |
(_-< ' \/ _` | | |
/__/_|_|_\__,_|_|_|
smscript :
, , _ ,_ o _|_
/ \_/|/|/| / \_/ / | | |/\_|
\/ | | |_/ \/ \__/ |/|/|_/ |_/
(|
smshadow :
| |
(_-< ` \ (_-< \ _` | _` | _ \\ \ \ /
___/_|_|_|___/_| _|\__,_|\__,_|\___/ \_/\_/
smslant :
__ __
___ __ _ ___ / /__ ____ / /_
(_-</ ' \(_-</ / _ `/ _ \/ __/
/___/_/_/_/___/_/\_,_/_//_/\__/
standard :
_ _ _
___| |_ __ _ _ __ __| | __ _ _ __ __| |
/ __| __/ _` | '_ \ / _` |/ _` | '__/ _` |
\__ \ || (_| | | | | (_| | (_| | | | (_| |
|___/\__\__,_|_| |_|\__,_|\__,_|_| \__,_|
term :
term
FigLet只是一个酷炫的小玩具么,并不是,事实上FigLet的历史非常悠久,早在图形界面尚未普及的九十年代,FigLet可是程序员们的一大神器。
「FIGlet」的历史
「FIGlet」在1991年春天,仅仅是一个只有170行用C语言编写的小程序,当时叫做
newban
,作者认为它是一个可以长期使用于互联网中的程序,然后用带“新”的英文不太合适,于是后来称之为FIGlet 1.0
。当时的版本只有一个字体并且仅仅包含了一些小写字母。于是1993年的时候,决定重写「FIGlet」,花了7个月的时间整理了13个字体以及相关文档,因此
FIGlet 2.0
正式版也正式诞生。当时「FIGlet」像暴风一样席卷互联网,每周都有新的字体涌现,不少人自愿把figlet这个功能接入到
non-Unix
当中,当然还有一些bug的报告。因为这些从而使得「FIGlet」更加国际化,所以在FIGlet 2.1
中加入了支持非ASCII字符,还有从右到左打印等功能。直至今天最新版本是2.2.5,可以从官方网站找到相关代码的下载地址。
我觉得这个工具生成的艺术字体出了用在命令行的输出外,非常适合用于代码注释,出了好看以外,艺术字体足够大,在VSCode或者Sublime这些具有缩略图功能的编辑器里,可以缩略图里看到注释的字母,非常适合代码的分段注释,比如:
其实还有一款类似的工具,叫toilet,使用方法类似:
ryan@ryan-ThinkPad-X270:~$ toilet gooneyryan
mmmm mmm mmm m mm mmm m m m mm m m mmm m mm
#" "# #" "# #" "# #" # #" # "m m" #" " "m m" " # #" #
# # # # # # # # #"""" #m# # #m# m"""# # #
"#m"# "#m#" "#m#" # # "#mm" "# # "# "mm"# # #
m # m" m"
"" "" ""
通过参数-f可以设置字体:
ryan@ryan-ThinkPad-X270:~$ toilet -f slant gooneyryan
____ _____ ____ ____ ___ __ _________ ______ _____
/ __ `/ __ \/ __ \/ __ \/ _ \/ / / / ___/ / / / __ `/ __ \
/ /_/ / /_/ / /_/ / / / / __/ /_/ / / / /_/ / /_/ / / / /
\__, /\____/\____/_/ /_/\___/\__, /_/ \__, /\__,_/_/ /_/
/____/ /____/ /____/
toilet和figlet的效果基本相同,可是名字更好记一些(大雾),两者都可以在ubuntu下apt安装。
另外如果对figlet的内置字体不满意的话,官方网站还有大量的字体可以下载,字体的效果可以参考这里。
附:小技能,配合彩虹字体输出小公举小工具lolcat(撸啊撸猫)有奇效:
参考链接: