最简单的方法是找出一组给定的Unicode字符支持哪些书写系统(如拉丁语,希伯来语,阿拉伯语,片假名,汉字)?
答案 0 :(得分:1)
检查集合中每个字符的Script
和Script_Extensions
属性,如UAX #24中所述。
答案 1 :(得分:1)
<强> Scripts and Blocks 强>:
Unicode字符分为称为非重叠范围 阻止[Blocks]。其中许多块的名称来源于 脚本名称,因为该脚本的字符主要是编码的 在那个街区。但是,块和脚本在以下方面有所不同 方法:
- 块只是范围,通常包含未分配的代码点。
- 来自同一脚本的字符可以编码在几个不同的块中。
- 来自不同脚本的字符可以编码在同一个块中。
因此,使用块名称作为脚本的简单替代 身份通常导致不良结果。例如,见附件A, 字符块,采用Unicode技术标准#18,"Unicode Regular Expressions" [UTS18]。
在后一个文档[UTS18]中,请优先关注Annex A: Character Blocks中的编写系统与块。
答案 2 :(得分:0)
此时我倾向于测试脚本中是否有足够的字形出现在字符集中。
这种方法需要两个准备步骤:
汇总一组Unicode支持的书写系统(脚本)
对于每个脚本,定义包含该脚本字符的字符集
然后我可以通过测试来解决“字符集A是否支持脚本X”这个问题“脚本X字符集的足够字符也是字符集A的成员”。如果我对步骤(1)中的每个脚本执行此操作,则会获得受支持脚本的列表。
一二三提供的链接引用了一个data file,它将Unicode字符映射到各自的脚本,这在步骤(1)和(2)中是非常宝贵的。