洗手间无法打印欧元符号。由于英镑符号确实打印出来,我预计欧元也会打印出来。但出于某种原因,事实并非如此。
toilet -W -f georgia16 '£foo €bar'
_____ __ ___
6MMMMMb 69MM MM
6M' Yb 6M' ` MM
MM _MM__ _____ _____ MM____ ___ ___ __
YM MMMMM 6MMMMMb 6MMMMMb MMMMMMb 6MMMMb `MM 6MM
MM MM 6M' `Mb 6M' `Mb MM' `Mb 8M' `Mb MM69 "
MMMMMMMMM MM MM MM MM MM MM MM ,oMM MM'
MM MM MM MM MM MM MM MM ,6MM9'MM MM
M9 MM MM MM MM MM MM MM MM' MM MM
69 MM YM. ,M9 YM. ,M9 MM. ,M9 MM. ,MM MM
MMMMMMMMMM _MM_ YMMMMM9 YMMMMM9 _MYMMMM9 `YMMM9'Yb._MM_
我在用着这字体由谢罗·哈里森。欧元符号位于第 1654 行。
128 EURO
@
@
____ @
6MMMMb/$@
8P YM$@
6M Y$@
MMMMMMM/ @
MM @
MM @
MMMMM/ @
YM 6$@
8b d9$@
YMMMM9$ @
@
@
@@
一项限制:macos 10.12 上的默认 bash 终端。
bash -version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin16)
Copyright (C) 2007 Free Software Foundation, Inc.
有什么关于原因和可能的修复方法的指示吗?
答案1
您使用的字体在位置 128 处对 € 符号进行编码,该符号与Windows-1252编码。您需要先将消息转换为该字符集,然后再将其传递给toilet
:
echo '£foo €bar' | iconv -f UTF-8 -t Windows-1252 | toilet -W -f georgia16