Unicode映射到语言

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unicode映射到语言相关的知识,希望对你有一定的参考价值。

这个问题可能是堆栈溢出的边界,所以如果它看起来过于偏离主题,我会提前道歉。我正在编写一个涉及多种语言的程序,我需要一个将语言映射到Unicode点的表。那些熟悉Unicode的人会知道字符被划分为“块”,如拉丁语,西里尔语等。当然,大多数使用拉丁字符的语言不使用所有拉丁字符,大多数使用西里尔字符的语言都是不要使用所有的西里尔字符等。我感兴趣的是一个表格,只将英语映射到英语中使用的字符,西班牙语只用于西班牙语中使用的那些字符等。不需要涵盖世界上的每种语言(如这几乎是不可能的)但至少有一些比较常见的语言。 (即便如此,这将是一个涉及多对多关系的相当广泛的表。)我不确定这样的表是否存在。 (如果没有,我可以把它变成一个开源项目,因为它对我和其他人都非常有用。)

答案

CLDR是Unicode公共区域设置数据存储库,包含大量语言的字符集合的定义。 exemplarCharacters元素指定正常编写语言单词所需的字符。可以在By-Type Chart: misc.exemplarCharacters页面上看到此元素的当前定义(按编写系统分组),但对于自动处理,您可能会发现XML文件更合适。 exemplarCharacters-other元素当前包含标点符号的类似数据。

这可能是这类信息的最佳可用汇编,但它在概念上非常模糊(它并没有真正尝试定义用于编写语言的字符意味着什么),并且收集了不同语言的信息。一个开放但不包含一般质量控制的过程。

元素的含义在LDML规范中定义,条款为5.6 Character Elements。请注意描述“<characters>元素提供有关语言环境中常用字符的可选信息,以及有助于选择适合语言环境的资源或数据的信息,例如在通常用于传输的字符编码中进行选择时语言环境语言中的数据。“这是一个相当奇怪的观点,特别是在Unicode Consortium文档中,因为我们可以使用涵盖所有语言的UTF-8。但是还存在其他问题,其中有关语言中使用的字符的信息可能是有用的,例如选择文本字体,或初步检查输入数据,或设置OCR扫描参数或定义键盘设置。这些上下文可能需要对“语言中使用的字符”这一概念有不同的定义。

以上是关于Unicode映射到语言的主要内容,如果未能解决你的问题,请参考以下文章

Windows“符号”或 WGL4 字体代码指向 UNICODE 映射?

在多字节的目标代码页中,没有此 Unicode 字符可以映射到的字符。 (#1113)

在多字节的目标代码页中,没有此 Unicode 字符可以映射到的字符。 (#1113)

Unicode 字符如何映射到字体中的字形?

unicode和utf8

使用 Unicode 编码