1

我想知道是否有一个允许字符获取同义词的库?

就像是:

char c = getNextChar();
if (c == latin.H || c == cyrillic.H) {
    //...
}
4

1 回答 1

2

因此,据我了解,您不想要字母的“同义词”;你想要具有相同“字形”(形状)的字母。

我不知道这样的图书馆是否存在。但是,您可以通过使用您喜欢的字体渲染字符并检查字形“相同性”来做到这一点。

例如,您可以采取以下步骤:

  • 下载UniFont,最好是BDF 格式
  • 为每个字符的位图计算校验和(例如 MD5)
  • 根据校验和对字符进行分组。

我创建了一个小的 Python 2.7 测试脚本(出于开发速度目的)执行上述步骤,生成类似(摘录)的内容:

Group 0041
        U+0041 LATIN CAPITAL LETTER A
        U+0391 GREEK CAPITAL LETTER ALPHA
        U+13AA CHEROKEE LETTER GO
Group 0042
        U+0042 LATIN CAPITAL LETTER B
        U+0392 GREEK CAPITAL LETTER BETA
        U+0412 CYRILLIC CAPITAL LETTER VE
        U+13F4 CHEROKEE LETTER YV

YMMV。

于 2011-11-21T07:54:18.127 回答