Unicodeブロック、Unicodeスクリプトで実際に対象となっている文字がなんなのか調べてみた


正規表現で使える、\p{P}(句読点) や \p{S}(記号) や \p{InCjkSymbolsAndPunctuation}(全角記号)
などなどは便利だが、実際に中身が何なのかを知らずに使うのは少々こわいので調べてみた


unicode.org でも期待する一覧表が発見できず困った*1が、
なんかそれっぽいものが /usr/lib/perl5/5.8.8/unicore/lib/gc_sc/ 配下にあった*2


例えば、\p{InHiragana} は /usr/lib/perl5/5.8.8/unicore/lib/gc_sc/InHiraga.pl で中身は

# This file supports:
#       \p{InHiragana} (and fuzzy permutations)
#
# Meaning: Block 'Hiragana'
return <<'END';
3040    309F    Hiragana
END

こんな感じ。


プロパティ名とファイル名は一致するわけではないけど、
その辺はgrepすればいよいので問題なし*3


ここから先は、Unicode表と合わせて確認していくしかないけど、
ひとまずこれで中身が何か確認できる状態になりました。

*1:あったらごめんなさいorz

*2:環境によって違うとは思いますが

*3:上の例の通り、「This file supports」にプロパティ名が記述されてるので