らんだむな記憶

blogというものを体験してみようか!的なー

JIS第一水準漢字および第二水準漢字

ぼんやりとしか知らないなということで調べてみる。
http://unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/JIS0208.TXTの「the JIS X 0208 code」を使いつつJIS X 0208コード表 - CyberLibrarianの16区〜47区および48区〜84区をチェックすれば良さそうだ。
と言うことで以下のようなメソッドで良さそう。

def is_level1(jisx0208code):
    return 0x3021 <= jisx0208code <= 0x4f53

def is_level2(jisx0208code):
    return 0x5021 <= jisx0208code <= 0x7426

これを用いてJIS0208.TXTを解析するとJIS漢字コード - Wikipediaの通りに第一水準漢字は2,965字、第二水準漢字は3,390字として求まる。

ついでにAdobe社の規格であるPr6およびPr6NについてCIDの分布を見ると、Pr6については

  • 第一水準漢字: CID1125〜CID4089
  • 第二水準漢字: CID4090〜CID7477,CID8284〜CID8285

に分布していることが分かる。
一方Pr6Nの場合、JIS X 2013:2004対応のためにCMapが変化してしまって少々複雑になっているようだ。というか少々どころでなく汚い感じになったので掲載はやめておこう...。