为什么 unicode 多个字符代表同一个字母?

Why does unicode multiple characters representing the same letter?

ASCII 有整个罗马字母表的版本。我最近很惊讶地得知 Unicode 包含 other version/s 这些相同的字符。一个示例是 "U+1D5C4: MATHEMATICAL SANS-SERIF SMALL K" 或“.

如果 LaTeX 数学模式、MS Word 方程式编辑器或任何其他程序如果希望数学公式中的字母为无衬线字体,就不能只使用无衬线字体吗?

您将显示模式与文本编码混淆了。

这个想法是 unicode 包含所有用于书写的符号,这些符号是人类已知的,按用法分组。这就是为什么您会发现许多看起来相似的代码点。

所以带有 k 的公式不同应该与带有 k 的单词不同。 sans-serif 部分只是对那种 k 最适合显示的描述。明天有人可能想添加一个 serif k 然后你会如何描述差异?

这些字符的存在使得它们之间的语义区分可以在纯文本中编码,或者无法控制特定字体形状的地方。

您提到的块是 intended for use in mathematical and technical contexts, where the distinction between, say, </code> as a variable vs. <code>d as a differential operator vs. </code> as an object (in category theory) is important. <a href="http://unicode.org/reports/tr25/" rel="nofollow">TR #25</a> gives another example where losing the distinction between <code>ℋ and H can completely change the meaning of an equation. Being able to encode this formatting into the text itself is also important for ISO 31-11.

所有这些字符都保持与 "normal" 拉丁语和希腊语对应字符的兼容性映射,因此它们之间的区别不应影响搜索和排序。