我相信,有一种算法,它可以用一个字符的相似字体等于两个字符串,但是不同的符号(数字、西里尔字母、拉丁字母或其他字母)。例如:
"hello" (拉丁符号)等于"he11o" (数字和拉丁符号)"HELLO" (拉丁符号)等于"НЕLLО" (西里尔字母和拉丁符号)"really" (拉丁符号)等于"геа11у" (数字和西里尔符号)发布于 2010-05-19 15:51:51
您可能会想到保罗·布莱克为ICANN开发的算法,该算法确定两个and是否“令人困惑地相似”,尽管它目前不适用于混合脚本输入(例如拉丁语和西里尔语)。见"算法帮助ICANN管理顶级域。“和ICANN相似性评价工具。
此外,如果您对扩展该算法感兴趣,那么您可能希望合并来自Unicode代码图的信息,后者通常列出类似的符号和代码点序列,这些代码点的呈现方式类似。
发布于 2010-05-19 13:37:47
我不太清楚你想要什么。
如果您想知道两个字符在给定字体下是否相同,则需要将所选字体中的每个字符呈现为位图,并比较它们是否接近相同。
如果您只想始终考虑小写拉丁文'l‘是相同的数字'1’,无论使用什么字体,那么您可以简单地定义一个字符映射表。可能最简单的方法是为每组看起来相同的字符选择一个规范值,并将集合的所有成员映射到该字符。在比较字符串时,请比较表中每个字符的规范实例。
https://stackoverflow.com/questions/2865825
复制相似问题