6

我想为 Unicode 中的特定字符找到视觉上相同的字符。我知道如何找到一个字符的规范或兼容性分解;但他们没有给我我想要的。我想找到视觉上相同(不相似)的字符,它们唯一的区别可能是它们的大小。

例如我想要:(s,S)或(S,S)(其代码点不同)。我不想要 (ß, β) 或 (e, é)。

有什么建议么?谢谢。

4

1 回答 1

7

对于特定字符,您可以从 Unicode 标准的代码图表中的注释开始。注释通常出于各种原因引用其他字符,包括形状的相似性或同一性。但注释并不意味着涵盖所有内容。

您也可以在http://shapecatcher.com/上绘制您的角色并要求它识别它。你经常会得到一长串视觉上相似的替代品。

正如@TedHopp 在他的评论中所写,视觉识别是依赖于字体的。例如,“s”和“S”的形状不必相同;在大多数字体中,它们是不同的——基本形式是相同的,但在笔画宽度变化、曲率、衬线等方面存在各种差异。但是,在包含它们的任何字体中,可以预期某些字符在视觉上是相同的,例如作为拉丁文大写 A,希腊大写字母 Alpha 和西里尔字母大写 А。

您没有具体说明研究的目的,但您可能正在做一些 Unicode 联盟在某种程度上已经开展的工作。请参阅UTR #6Unicode Security Considerations,其中还包含对相关工作的引用,包括UTS #9Unicode Security Mechanisms,其中包含 confusables.txt,推荐的 IDN 可混淆映射(即,对于特定上下文,但它可能是其他目的的利息)。

于 2012-11-07T08:10:57.120 回答