答案1
您需要一种真正具有这些字符的字体。例如,Arch Linux 推荐使用Lat2-Terminus16
。
要尝试它,只需在虚拟控制台中发出以下命令:setfont Lat2-Terminus16
。
至于其余部分,大多数现代发行版已经支持它了。
答案2
控制台字体可以加载最多 512 种(我认为,或类似的)不同字形的字体;但通常只有 256 种字形。
显示拉丁语、西里尔语或其他使用少于 200 个非复杂符号的语言没有问题。
然而,对于复杂的脚本,或者需要大量不同符号的脚本(如日语),除了使用额外的布局来处理之外,没有其他选择。
请注意,如果 512 的限制对于 ASCII 和两种假名集来说已经足够,那么就存在宽度的问题。
CJK 和 Kana 适合一个正方形,它们的宽度是拉丁字母的两倍。这不是控制台可以立即处理的事情。
您可以采用古老而丑陋的“半宽片假名”(甚至可以找到这种旧字体),或者将控制台设置为 40 列宽,并使拉丁字母与假名一样宽。
我不知道有任何带有假名的控制台字体;你应该自己绘制(有工具可以这样做,你也可以复制位图日文字体的点)。
另外,您还可以使用iconv
将假名音译为 ASCII。
答案3
除了 之外LANG/LC_ALL
,stty iutf8
还必须告诉终端要做什么,setfont
然后你可能需要加载有用的字体和映射。如果仍然有问题,请检查内核配置的CONFIG_NLS_xx
设置,如果它没有自动加载,你可能需要这样做modprobe nls_utf8
(不过我认为这只适用于 Unicode 文件名)。
一些 Linux 发行版提供了unicode_start
脚本unicode_stop
来自动执行此操作。
如果出现问题,则可能需要设置less
环境变量(如果错误,则取消设置)。LESSCHARSET
马库斯·库恩的Unix/Linux 上的 UTF-8 和 Unicode 常见问题解答是无价的。
答案4
通过安装统一工具您可以找到unicodes。
$ sudo apt-get install uniutils
然后使用uniname
:
ubuntu@shin-instance:~$ echo 岡田shin | uniname
No LINES variable in environment so unable to determine lines per page.
Using default of 24.
character byte UTF-32 encoded as glyph name
0 0 005CA1 E5 B2 A1 岡 CJK character Nelson 621
1 3 007530 E7 94 B0 田 CJK character Nelson 2994
2 6 000073 73 s LATIN SMALL LETTER S
3 7 000068 68 h LATIN SMALL LETTER H
4 8 000069 69 i LATIN SMALL LETTER I
5 9 00006E 6E n LATIN SMALL LETTER N
6 10 00000A 0A LINE FEED (LF)
ubuntu@shin-instance:~$