


























这是一个创建于 193 天前的主题,其中的信息可能已经有所发展或是发生改变。
有个文件,包含'⻝' 11997 和食是相同的字,但是是不同的编码,
⻝ (U+2EDD)和 食 (U+98DF)的关系是:它们是同一个字的不同视觉表现形式,但 Unicode 指定 U+98DF 为标准形式,U+2EDD 为其异体形式(特别是作为部首时)。
问了一下 AI ,都是让枚举做一个 map ,有没有统一的转化这样汉字的方案,unicodedata.normalize 不行。
1 guoguobaba 2025 年 12 月 4 日``` s = '⻝' # 尝试不同的归一化形式 |
2 yuuluu 2025 年 12 月 4 日unicode 姿势 +1 目前知道的: |
6 kanakana 2025 年 12 月 4 日还挺神奇的,U+2EDD (⻝)和 U+2F29 (⼩)都是康熙部首字符: 2F29;KANGXI RADICAL SMALL;So;0;ON;<compat> 5C0F;;;;N;;;;; 2FB7;KANGXI RADICAL EAT;So;0;ON;<compat> 98DF;;;;N;;;;; UnicodeData.txt 里面也都相应标出了 <compat> 的分解形式:一个是 U+5C0F (汉字的“小”),一个是 U+98DF (汉字的“食”),但是它们 NFKC normalize 的结果却不同: >>> f'U+{ord(unicodedata.normalize('NFKC', chr(0x2F29))):04X}' 'U+5C0F' (中文“小”) >>> f'U+{ord(unicodedata.normalize('NFKC', chr(0x2FB7))):04X}' 'U+2FB7' (仍然是康熙部首“⻝”) 感觉会不会是 Unicode 的问题……但无论如何,要想手动 normalize 的话应该把 UnicodeData.txt 里面的第六列提出来也可以。但例如 Firefox 用的似乎是 confusables.txt [1],比 UnicodeData 来说提供了更多基于字形的 normalization ,也可以考虑一下。 [1] https://github.com/unicode-org/icu/blob/main/icu4c/source/data/unidata/confusables.txt |
7 yuzii 2025 年 12 月 4 日一个中文、一个日文 |
8 kanakana 2025 年 12 月 4 日@kanakana 等下弄错了,楼主的是 CJK RADICAL EAT ONE ,这个的确没有 compat normalization ,必须要 confusables 了…… |
9 zoyopo 2025 年 12 月 4 日试了下 edge 的 ctrl+f 搜索 已经做过这个转换了 搜索‘食’可以搜索到其它两个变种 |
12 54xavier 2025 年 12 月 4 日 |
13 kukuCode 2025 年 12 月 4 日我们做过一个 cad shx 格式字体转为 ttf 的项目。甲方自定义的特殊字符,可以通过映射的方式转到 ttf 中,或者你直接 svg 显示 |
14 tf2 2025 年 12 月 4 日这个 case 来看 cjk 统一是对的。。 |
18 powersee 2025 年 12 月 5 日 via iPhone同一个字可能有多种形式。因为 CJk 比较特殊,可能同一个字有 3-4 种形式存在,例如:中文简体、中文繁体、日文、韩文 |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。