如何标准化字体?

How can I normalize fonts?

用户有时会在程序中使用奇怪的 ASCII 字符,我想知道是否有办法 "normalize" 它。

所以基本上,如果输入 ᴀʙᴄᴅᴇꜰɢ,输出将是 ABCDEFG。某处是否有一本字典可以做这样的事情?如果不是,是否有比对所有不同的 "fonts" 执行类似 str.replace("ᴀ", "A") 更好的方法?

这不是特定于语言的问题——如果这样的问题不存在,我想下一步就是自己创建字典。

您的示例似乎涉及 unicode 字符,而不是 ASCII 字符。 Unicode normalization (FAQ) 是一个庞大而复杂的主题,有许多不同的等价字符 类,具体取决于您要执行的操作。

是的。

顺便说一句——技术术语是:来自 C0 控件和基本拉丁语块的拉丁大写字母和来自语音扩展块的拉丁字母小写大写字母。

无论如何,您的问题的一般主题是 Unicode confusables。 link 用于映射。 Uncode.org 有更多 material 混淆和其他所有 Unicode。

(规范化总是在处理 Unicode 文本时要考虑的事情,但它与这个问题没有特别的关系。)