Unicode字母字符列表

5
我需要Unicode字符属性为“Alphabetic”的范围列表,其定义在http://www.unicode.org/Public/5.1.0/ucd/UCD.html#Alphabetic中。然而,无论我如何搜索Unicode字符数据库,都找不到它们。是否有人可以提供这些字符的列表或具有指定Unicode属性的字符的搜索功能?

如果您查看我的答案,我已经根据您的要求提供了一个搜索工具,可通过我的unichars脚本查找具有指定Unicode属性的字符。享受吧! - tchrist
4个回答

14

Unicode字符数据库包括分布中所有文本文件,不像很久以前那样只有单一文件。

字母属性是一个派生属性。

你真的不应该使用代码点范围来进行操作。你需要正确地使用属性。这是因为这些属性太多了。仅在基本多语言平面中就有超过一万个,这还不包括汉字或韩文字母。通过使用unichars脚本,我们可以得知这个事实。

$ unichars '\p{Alphabetic}' | wc -l
   10052

如果我们包括其他16个星界,现在我们就有14000个:

$ unichars -a '\p{Alphabetic}' | wc -l
   14736

如果我们包括汉字和韩文字母,实际上 Unicode 的字母属性也是这么做的,那么我们将突破十万个码位的限制:

$ unichars -ua '\p{Alphabetic}' | wc -l
  101539

希望您能认识到,您不需要使用码点范围来特定枚举它们。走这条路只会导致疯狂。

顺便提一下,如果您认为unichars脚本有用的话, 您可能还会喜欢uniprops脚本uninames脚本


1
我真的很喜欢你的脚本!它们对于解决我遇到的一个SO问题非常有用。非常感谢你制作它们。问题:当我刚刚运行上面的最后一个命令(unichars -ua '\p{Alphabetic}' | wc -l)时,我得到了94332行而不是101539行。有什么原因吗? - Abe Voelker
1
@Abe:可能是因为您还没有运行Unicode 6.0.0。您正在运行哪个版本的Perl?corelist -a Unicode将向您展示Perl版本与Unicode版本的配对情况。顺便说一句,我现在在我的Unicode工具箱中有     ,还有更多的东西即将到来。 - tchrist
啊,是的,我仍在使用 Perl 5。我一定会升级 Perl 并查看你的新工具。谢谢! - Abe Voelker
@Able Perl v5.8.8 具有 Unicode v4.1;Perl v5.8.9 和 Perl v5.10.1 具有 Unicode v5.1;Perl v5.12 具有 Unicode v5.2;而 Perl v5.14 具有 Unicode v6.0.0。如果可以的话,建议安装 Perl v5.14,如果无法安装则安装 v5.12。只需确保运行 CPAN 的 autobundle 命令来升级所有事后安装的 CPAN 模块即可。 - tchrist
链接已失效,且未被互联网档案馆存档。搜索结果显示 https://metacpan.org/pod/distribution/Unicode-Tussle/script/unichars 和 https://github.com/turian/common-scripts/blob/master/unichars。 - Jacob C.

3

可以从其他属性计算出派生核心属性。

字母属性的定义为:由Lu + Ll + Lt + Lm + Lo + Nl + Other_Alphabetic生成。

因此,如果您将Lu、Ll、Lt、Lm、Lo、Nl中的所有字符以及具有Other_Alphabetic属性的所有字符组合起来,就会得到字母字符。


2

您的来源引用如下:生成自:Lu + Ll + Lt + Lm + Lo + Nl + Other_Alphabetic

这些缩写似乎在这里有解释。


1

我发现了UniView网络应用程序,它提供了一个漂亮的搜索界面。在未勾选本地化的情况下搜索Letter属性,可以得到14723个结果...


1
Letter属性与Alphabetic属性不同!!!在Unicode 6.0.0中,有101539个具有Alphabetic属性的代码点,但只有100520个具有Letter属性,相差超过一千个字符。顺便说一下,你的14k答案数量级错误了。 - tchrist
你说得对。顺便说一下,我认为UniView工具没有考虑汉字和韩文字母。 - thSoft
链接已失效 :/ - Artemis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接