Qing Lee
Qing Lee
目前对汉字的特殊处理可以通过重新定义 `\CJKsymbol` 来实现,但是这种方法有很大的局限性,很容易与 XeTeX 的字符类机制冲突。 事实上,我们可以在 `\XeTeXinterchartoks` 中把汉字放进一个盒子变量里,然后通过自定义函数来操作这个盒子变量实现特殊效果。这种方法应该更为安全和灵活。 下面是一个简单的汉字旋转和基线调整的例子。 % !TeX program = XeTeX % !TeX encoding = UTF-8 \input expl3-generic % \ExplSyntaxOn \char_set_catcode_letter:N \@ \newXeTeXintercharclass \l_@@_rotate_class \newXeTeXintercharclass \l_@@_raise_class \xetex_interchartoks:D...
台湾的 [CNS 11643 数据](http://www.cns11643.gov.tw/AIDB/Open_Data.zip)中有较为完整的笔顺表(`CNS_strokes_sequence.txt`),似乎可以考虑用他来排序。 转换后([`cns11643_strokeorder.txt`](https://github.com/qinglee/CNS11643))发现,目前共有 75005 个 Unicode 汉字笔顺信息,覆盖到扩展 D 区,比海峰五笔码表的 70297 个要多。 发现的主要问题是: 1. 两岸字形标准不同,一些笔画也会不同。 2. 相比海峰的数据,有 113 个汉字数据缺失([`miss.txt`](https://github.com/qinglee/CNS11643/blob/master/miss.txt))。 3. 存在一些错误,比如 CNS 11643 的第 F 平面,有诸如以下的大量错误: ``` F 2121...
发现目前 `F900..FAFF` 和 `2F800..2FA1F` 中的兼容汉字没有拼音和笔顺数据。可以从 `Unihan_IRGSources.txt` 里查找 `kCompatibilityVariant` 域来取得他们对应的汉字的 Unicode,从而取得拼音和笔顺数据。 我想以下部首区也可以作类似的处理: - `2E80..2EFF` (CJK Radicals Supplement) - `2F00..2FDF` (Kangxi Radicals)