yustar_chaifen*.dict.yaml 字根问题
Dieken opened this issue · 3 comments
Dieken commented
这是 yustar_chaifen.dict.yaml, yustar_chaifen-tw.dict.yaml 与 https://yuhao.forfudan.com/chaifen.csv 对比的结果:
- 目前 yustar_chaifen*.dict.yaml 把
虍
和{虍头}
都写成了{虎头}
。 请根据 chaifen.csv,把 chaifen yaml 的{虎头}
改成虍
和{虍头}
,这两个的笔画有明显区别,会在反查时懵圈。 爪
与爫
,冖
与⺈
,卄
vs廾
,乛
与㇆
,西
与覀
,コ
与ユ
,乛
与乙
都是 CJK Basic,CJK Radicals CJK Stokes, Katakana 字符,很容易支持( 在 iOS 15.8.2 确认显示没问题,没装额外字体),最好也在 chaifen yaml 中区分下,变形有点大,没必要合并成前者。27 ⺆ vs (U+E2C2 Private_Use_Area)
和𠂭 vs (U+E2C9 Private_Use_Area)
字形一模一样,建议 在 chaifen.csv 和 YuhaoSongti.ttf 中改用与 chaifen yaml 中一致的 code point。YuhaoSongti.ttf 中可以增加一个 char to glyph 映射以兼容。
1248 {虎头}( U+E199 Private_Use_Area) vs 虍(U+864D CJK_Unified_Ideographs)
168 爪 vs 爫(U+722B CJK_Unified_Ideographs)
155 {虎头} vs 虍(U+864D CJK_Unified_Ideographs)
145 冖 vs ⺈(U+2E88 CJK_Radicals_Supplement)
84 卄 vs 廾(U+5EFE CJK_Unified_Ideographs)
38 キ vs (U+E001 Private_Use_Area)
37 二 vs (U+E24C Private_Use_Area)
32 乛 vs ㇆(U+31C6 CJK_Strokes)
27 ⺆ vs (U+E2C2 Private_Use_Area)
12 西 vs 覀(U+8980 CJK_Unified_Ideographs)
11 日 vs (U+E121 Private_Use_Area)
8 コ vs ユ(U+30E6 Katakana)
8 豕 vs (U+E068 Private_Use_Area)
8 𠂭 vs (U+E2C9 Private_Use_Area)
6 乛 vs 乙(U+4E59 CJK_Unified_Ideographs)
6 丄 vs (U+E154 Private_Use_Area)
5 丩 vs (U+E2E5 Private_Use_Area)
Dieken commented
- PUA
U+24C
在 chaifen.yaml 中合并到二
了,考虑下要不要在 chaifen yaml 只改叫{飞右}
,因为可能有人没仔细看文档或者忘记了那两点算二
- PUA
U+E121
用{𠯮下}
(U+20BEE, CJK Ext B, https://zi.tools/zi/𠯮) 或𫩏
(U+2BA4F, CJK Ext E, https://zi.tools/zi/𫩏) - PUA
U+E068
用𧰨
(U+ 27C28 , CJK Ext B, https://zi.tools/zi/𧰨)
还剩几个 PUA 确实需要,没办法:
{虍头}
vs U+E199{飞右}
vs U+E24Cキ
vs U+E001丄
vs U+E154丩
vs U+E2E5
Dieken commented
更完整的版本,纠正了错误的{虎头}
和 豕
,这两个错误比较严重,是笔画数都不一致,谈不上是形变了。
下图第一列是 chaifen.csv 中用的 PUA 字符,第二列是期望在 chaifen*.dict.yaml 中使用的字符,尽量用同形的 CJKV 标准字符,第三列是 yustar-v3.4.5 的 chaifen*.dict.yaml 中使用的字符。
my %roots_mapping = (
'' => '{虍头}', # not {虎头}
'虍' => '虍', # not {虎头}
'爫' => '爫', # not 爪
'⺈' => '⺈', # not 冖
'廾' => '廾', # not 卄
'' => '𰀁', # not キ
'' => '{飞右}', # not 二
'㇆' => '㇆', # not 乛
'覀' => '覀', # not 西
'' => '𫩏', # not 日
'ユ' => 'ユ', # not コ
'' => '𧰨', # not 豕
'乙' => '乙', # not 乛
'' => '{虫下}', # not 丄
'' => '{𠬞左}', # not 丩
'' => '高', # not {高頭}
'' => '⺆', # no PUA
'' => '𰀪', # not {两撇}
'' => '𬺰', # not {于下}
'' => '𫝀', # not {五下}
'' => '𠀎', # not {冓上}
'' => '𠂎', # not {卯左}
'' => '𰀄', # not {反彐}
'' => '𰃦', # not {向框}
'' => '𠂇', # not {左上}
'' => '𠃜', # not {眉上}
'' => '𫶧', # not {荒下}
'' => '𣎆', # not {贏頭}
'' => '𱍸', # not {齊右}
'' => '𪚴', # not {龜下}
'' => '{𠇊右}', # not 𧘇
'牜' => '牜', # not 牛
'⻊' => '⻊', # not 足
);
Dieken commented
3.5.0 修正了一些,还有一些看要不要把 yustar_chaifen*.dict.yaml 里其它字根修正下:
第一列是官网里用的字根(不用改),第三列是当前的 yustar_chaifen*.dict.yaml 里用的字根,第二列是我想改成的字根(注意跟第一列的 PUA 字根往往不是同一个字符,我用的 CJK 字根),我本地改了下自己用了。
my %roots_mapping = (
'' => '{虍头}', # not {虎头}
'虍' => '虍', # not {虎头}
'爫' => '爫', # not 爪
'⺈' => '⺈', # not 冖
'廾' => '廾', # not 卄
'' => '𠂇', # not ナ
'' => '𰀁', # not キ
'乙' => '乙', # not 乛
'㇆' => '㇆', # not 乛
'覀' => '覀', # not 西
'' => '𫩏', # not 日
'' => '{曾中}', # not 日
'ユ' => 'ユ', # not コ
'高' => '高', # not {膏頭}
'' => '𰀪', # not {两撇}
'' => '𬺰', # not {于下}
'' => '𫝀', # not {五下}
'' => '𠀎', # not {冓上}
'' => '𠂎', # not {卯左}
'' => '𰀄', # not {反彐}
'' => '𰃦', # not {向框}
'' => '𠃜', # not {眉上}
'' => '𫶧', # not {荒下}
'' => '𣎆', # not {贏頭}
'' => '𱍸', # not {齊右}
'' => '𪚴', # not {龜下}
);