异体字、变体选择符和汉字描述序列
适合谁看:遇到「同一个字但写法不一样,又必须按某种写法显示」的需求,比如户籍、古籍、日本人名的人。
异体字
读音和意思相同、写法不同的字叫异体字,例如「峰」和「峯」。
- 如果写法差别足够大,Unicode 会给它们不同的码位,可以直接输入;
- 如果差别很细微,Unicode 认为是同一个字,只给一个码位,具体写法交给字体。见《同一个字,为什么各地写法不同》。
第二种情况下,如果业务必须显示特定写法(例如人名证件要和登记的字形一致),就要用到「变体选择符」。
汉字变体序列(IVS)
做法是在字后面紧跟一个看不见的「变体选择符」(码位 U+E0100 到 U+E01EF),告诉字体「请显示这个字的第几种写法」:
基础字 + 变体选择符 = 一个指定的字形
- 这些组合需要在 Unicode 的「汉字变体数据库」(IVD)中登记;
- 已登记的集合包括 Adobe-Japan1、Hanyo-Denshi、Moji_Joho、MSARG、KRName、CAAPH 等,其中 Moji_Joho 集合最近一次在 2026 年 8 月增补;
- 多数集合服务于日本的人名和行政用字,也有服务于其他地区的集合;在中国大陆的日常中文场景中用得还不多。
使用 IVS 的前提
- 字体支持:字体里要有对应的变体字形和映射;不支持的字体会忽略选择符,显示默认字形;
- 软件支持:排版软件、浏览器要能正确处理(主流浏览器和操作系统一般都支持);
- 数据要保留:复制、存储、截断字符串时不能把选择符丢掉;按「字符数」限制长度时,选择符也会占位置。
汉字描述序列(IDS)
有些字没有编码,或者想向别人说明一个字的结构,可以用「汉字描述字符」描述,例如:
⿰氵力表示左「氵」右「力」,即「氻」;⿱艹田表示上「艹」下「田」。
常用的描述字符:⿰ 左右、⿱ 上下、⿲ 左中右、⿳ 上中下、⿴ 全包围、⿵ 上三包围等。Unicode 15.1 又增加了几个描述字符。
注意:描述序列只是说明,不会自动变成那个字,显示出来就是几个符号排在一起。适合用来记录、沟通、提交缺字反馈,见《发现缺字怎么反馈》。
参考资料
- Unicode 汉字变体数据库(IVD):https://www.unicode.org/ivd/
- Unicode 技术标准 #37:汉字变体数据库:https://www.unicode.org/reports/tr37/
- Unicode 中日韩汉字常见问题:https://www.unicode.org/faq/han_cjk.html
- Unicode 15.1 新增的汉字描述字符说明:https://www.unicode.org/versions/Unicode15.1.0/