欧元符号无法与厕所一起打印

欧元符号无法与厕所一起打印

洗手间无法打印欧元符号。由于英镑符号确实打印出来,我预计欧元也会打印出来。但出于某种原因,事实并非如此。

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

相关内容