中文、日文、韩文、表情、方框线、提示符图标 —— 在真机上一个一个看过。
终端和普通输入框不一样:它把每个字符放进一个个等宽的小格子里。一个汉字占两格,一个字母占一格,而表情有时是好几个部分拼成的一个图 —— 家庭表情就是四个人像加上连接符。这些地方一旦算错,屏幕上就会串位、重叠,或者干脆显示成空白方框。
所以我们没有只挑几个字来看。我们把 1314 个不同的字符整理成 9 屏,用 Term 连上一台真实的服务器,在手机上一次跑完并逐屏截图。下面就是那次运行的全部画面。
几处最容易出错的地方,放大来看。
这次检查覆盖到的文字和符号,以及各自的结果。汉字部分取的是最常用的那些字(按 Term 界面中文文案里的出现频率排序),再加上跨区间的抽样。
| 类别 | 字符数 | 结果 | 说明 |
|---|---|---|---|
| 汉字 · 常用字 | 503 | 正常 | 占两格,与英文混排不会错位 |
| 方框线与边框 | 128 | 正常 | 由 Term 自己绘制,换字体也一模一样 |
| 盲文点阵 | 64 | 正常 | 点阵清晰 —— 转圈动画和进度提示会用到 |
| 西里尔字母 | 64 | 正常 | 写法和间距都正确 |
| 希腊字母 | 57 | 正常 | 写法和间距都正确 |
| 表情 | 49 | 正常 | 彩色,占两格,不会压到旁边的字 |
| 日文假名 | 34 | 正常 | 写法和间距都正确 |
| 方块与进度条 | 32 | 正常 | 由 Term 自己绘制,换字体也一模一样 |
| 全角字母与数字 | 26 | 正常 | 按规矩占两格 |
| 箭头、对错号与各类符号 | 22 | 正常 | 包含 Claude Code 等 AI 工具会画的那些符号 |
| 韩文 | 16 | 正常 | 写法和间距都正确 |
| 汉字 · 较少见的字 | 16 | 正常 | 写法和间距都正确 |
| 中日文标点 | 15 | 正常 | 写法和间距都正确 |
| 阿拉伯文与希伯来文 | 12 | 正常 | 字母写法和连写都正确 |
| 提示符图标(Nerd Fonts) | 7 | 正常 | powerline 风格提示符用的那些图标 |
| 重音与附加符号 | 6 | 正常 | 与字母合成一格 |
| 符号的黑白版与彩色版 | 2 | 正常 | 黑白版与彩色版都正确 |
| 极少见的生僻字 | 5 | 见下 | 手机上的字体都没有收录这个字 |
合计 1314 个字符 · 18 类 · 9 屏,全部来自同一次运行。
两处,说明白比藏着好。
有一批极其罕见的汉字(多见于古籍、人名用字),系统里任何字体都没有收录过这些字。这种字在屏幕上是一个空白或方框。但位置是对的 —— 光标和换行都不会乱,只是那一格没有字可显示。这不是 Term 能单独解决的问题:需要设备上装有包含这些字的字体。
字母形状和连写都是对的,但终端会按程序发送的顺序逐格排列,不会把整段文字翻转成从右到左。所有终端都是这样工作的 —— 是否翻转由服务器上的程序决定。
这份检查用的脚本可以下载,只需要 Python 3,没有别的依赖。放到你自己的主机上跑一遍,就能对着你常用的字体和配色看看效果。
# 传到主机上,整套跑一遍 scp unimatrix.py cjk_top.txt you@host:~/ python3 ~/unimatrix.py # 只看某一屏(这里是组合表情) python3 ~/unimatrix.py 7
相关: 检查用的汉字清单