常用漢字とJIS漢字水準の微妙な関係

新元号は常用漢字2文字の組み合わせだろうということで、常用漢字2文字の全組合せを列挙した表が話題になっていますが、皆さん常用漢字とJIS漢字・JIS漢字水準の関係はご存知ですか？JIS漢字に含まれていない漢字が新元号に採用されたら楽しいですよね。ということで、常用漢字とJIS漢字水準の関係を調べてみました。

## 前提知識
### 常用漢字
内閣告示で示されている、一般の社会生活で使用される漢字(および読み方)です。[Wikipedia](https://ja.wikipedia.org/wiki/%E5%B8%B8%E7%94%A8%E6%BC%A2%E5%AD%97)先生によれば、戦後は1946年、1981年、2010年に改訂されているようです。2010年版では漢字2136字が示されています。

また、日本新聞協会では、常用漢字と少し差異のある「[新聞常用漢字表](https://ja.wikipedia.org/wiki/%E6%96%B0%E8%81%9E%E5%B8%B8%E7%94%A8%E6%BC%A2%E5%AD%97%E8%A1%A8)」をまとめているらしいです。

#### 2010年に追加された漢字 196字
```
挨曖宛嵐畏萎椅彙茨咽淫唄鬱怨媛艶旺岡臆俺苛牙瓦楷潰諧崖蓋骸柿顎葛釜鎌韓玩伎亀毀畿臼嗅巾僅錦惧串窟熊詣憬稽隙桁拳鍵舷股虎錮勾梗喉乞傲駒頃痕沙挫采塞埼柵刹拶斬恣摯餌鹿𠮟嫉腫呪袖羞蹴憧拭尻芯腎須裾凄醒脊戚煎羨腺詮箋膳狙遡曽爽痩踪捉遜汰唾堆戴誰旦綻緻酎貼嘲捗椎爪鶴諦溺塡妬賭藤瞳栃頓貪丼那奈梨謎鍋匂虹捻罵剝箸氾汎阪斑眉膝肘訃阜蔽餅璧蔑哺蜂貌頰睦勃昧枕蜜冥麺冶弥闇喩湧妖瘍沃拉辣藍璃慄侶瞭瑠呂賂弄籠麓脇
```
#### 2010年に削除された漢字 5字
```
勺錘銑脹匁
```
#### 2010年に追加候補になったものの追加されなかった漢字 85字
```
叩嘘噂濡笠嬉朋覗撫溜鷹揃頷掴翔喋噛洩禄栗馴駕鴨淵駿蘭胡蘇狼蝶搔惚蒼腿菩吊雀樽壺祀卿歪棲磯桶鷲媚寵秤套醤疼賤顚糊誼截綬庄毅揆躇躊憐狽萌撥謳蔓捏饉倦屛恍斡膠疇謗乖誹蒙聘憚哨諜
```
#### 新聞常用漢字表との違い
Wikipedia先生によれば、2010年版の新聞常用漢字表は、2010年版の常用漢字のうち7字を不使用とし、5字を追加したそうです。そのうち、上記の追加候補にも含まれないのは、以下の3字です。

```
絆疹胚
```

「絆」は翌年に大活躍することになるわけですが…

### JIS漢字
JIS X 0208に第1水準と第2水準が規定され、JIS X 0208を拡張したJIS X 0213で第3水準と第4水準が追加されています。さらに、2004年の改定である JIS X 0213:2004 (通称JIS2004)では、168字の漢字の字形が変更され、Unicodeとの関係で字体変更できなかった10字の漢字の異体字を、第3水準へ追加したそうです。
2012年にも何か変更があったらしいですが、漢字の規定への実質的な影響はなかったようなので飛ばします。JIS漢字については、幽霊漢字とか面白い話が色々あるらしく、本筋から外れるので詳細は割愛します。

#### JIS2004で追加された10字の異体字
- 従来
  - 第1水準: `倶剥叱呑嘘痩繋`
  - 第2水準: `妍屏并`
- 追加(全て第3水準へ追加)
  - `俱剝𠮟吞噓瘦繫`
  - `姸屛幷`

## コード
常用漢字一覧は、文化庁の常用漢字表の音訓索引から抽出します。
http://www.bunka.go.jp/kokugo_nihongo/sisaku/joho/joho/kijun/naikaku/kanji/joyokanjisakuin/index.html

jQueryさんが使えるので、以下のコードでパパっと取得してしまいます。

```javascript
$("#urlist tr td:first-child font[size=7]").text()
```

JIS漢字水準の判別は、RubyでEUC-JIS-2004にエンコードすれば簡単に取得できます。

```ruby
Encoding_EUC_JIS_2004 = Encoding::find("EUC-JIS-2004")
def get_levels(utf8_char)
  begin
    euc_char = utf8_char.encode(Encoding_EUC_JIS_2004)
  rescue Encoding::UndefinedConversionError => e then
    return 0
  end
  euc_bytes = euc_char.bytes
  if euc_bytes.length >= 3 then
    return 4
  elsif euc_bytes.length == 2 then
    if 0xB0 <= euc_bytes[0] && euc_bytes[0] <= 0xCE then
      return 1
    elsif euc_bytes[0] == 0xCF then
      return (euc_bytes[1] <= 0xD3) ? 1 : 3
    elsif 0xD0 <= euc_bytes[0] && euc_bytes[0] <= 0xF3 then
      return 2
    elsif euc_bytes[0] == 0xF4 then
      return (euc_bytes[1] <= 0xA6) ? 2 : 3
    else
      return 3
    end
  else
    return 0
  end
end
```

## 常用漢字のJIS漢字水準
常用漢字は全て第1,第2,第3水準に収まっていました。

### 第1水準
以下に示す第2,第3水準以外の漢字です。
なお、2010年に削除された5字も全て第1水準です。
### 第2水準:30文字
2010年の常用漢字の改定の追加分196字のうちの30文字

```
丼傲刹哺喩嗅嘲彙恣惧慄憬拉摯曖楷毀璧瘍箋籠緻羞訃諧貪踪辣錮鬱
```
### 第3水準:4文字
- `頰`(U+9830): 異体字の「`頬`」は第1水準
- `塡`(U+5861): 異体字の「`填`」は第1水準
- `剝`(U+525d): JIS2004で第3水準に追加された10字の1つ。異体字の「`剥`」は第1水準
- `𠮟`(U+20b9f): JIS2004で第3水準に追加された10字の1つ。異体字の「`叱`」は第1水準

### 2010年の常用漢字の追加候補、新聞常用漢字表について
#### 第1水準
```
叩嘘噂濡笠嬉朋覗撫溜鷹揃掴喋噛洩禄栗馴駕鴨淵駿蘭胡蘇狼蝶惚蒼腿菩吊雀樽卿歪棲磯桶鷲寵秤套醤糊誼綬庄毅憐狽萌蔓倦斡誹蒙哨諜
疹
```
#### 第2水準
```
頷翔壺祀媚疼賤截揆躇躊撥謳捏饉恍膠疇謗乖聘憚
絆胚
```
#### 第3水準
- `搔`(U+6414): 異体字の「`掻`」は第1水準
- `顚`(U+985a): 異体字の「`顛`」は第1水準
- `屛`(U+5c5b): JIS2004で第3水準に追加された10字の1つ。異体字の「`屏`」は第2水準

## 上記に入れなかったJIS第1水準の漢字たち
(異体字を含めて)常用漢字にも新聞常用漢字表にも、常用漢字の候補にもなれなかったJIS第1水準の漢字 791文字です。第1水準ってそれなりに頻繁に使用される漢字を集めたものだったはずですが、常用漢字になれなかった漢字も結構多いんですね。

```
唖娃阿姶逢葵茜穐渥旭葦芦鯵梓姐虻飴絢綾鮎或粟袷庵按鞍杏伊夷惟謂亥郁溢鰯允胤蔭吋烏迂卯鵜窺丑碓欝蔚鰻姥厩瓜閏云荏叡嬰曳瑛盈穎頴榎厭堰奄掩焔燕苑薗鴛於甥襖鴬鴎荻牡伽嘉珂禾茄蝦嘩迦霞俄峨臥蛾廻恢魁晦芥蟹凱咳碍鎧浬馨蛙蛎鈎劃廓撹赫樫橿梶鰍恰鰹叶椛樺鞄兜竃蒲栢茅萱粥苅侃姦柑桓澗潅竿翰莞諌舘巌癌翫贋雁稀徽妓祇蟻掬鞠吃桔橘砧杵黍仇汲灸笈渠鋸禦亨侠僑兇匡喬彊怯蕎饗尭桐粁欣欽禽芹衿倶狗玖矩躯駈喰寓櫛釧屑沓轡窪隈粂鍬卦袈祁圭珪慧桂畦繋罫荊頚戟訣喧捲牽硯鹸絃諺乎姑狐袴菰跨鈷伍吾梧檎瑚醐鯉佼倖垢宏巷庚弘昂晃杭浩糠紘肱腔膏砿閤鴻劫壕濠轟麹鵠漉甑忽狛此坤昏梱艮些叉嵯瑳裟坐哉犀砦冴堺榊肴碕鷺咋朔窄鮭笹匙薩皐鯖捌錆鮫晒撒燦珊纂讃餐仔屍孜斯獅爾痔而蒔汐鴫竺宍雫悉蔀篠偲柴屡蕊縞紗杓灼錫惹洲繍蒐讐輯酋什戎夙峻竣舜楯淳醇曙渚薯藷恕鋤嘗妾娼廠捷昌梢樟樵湘菖蒋蕉裳鉦鍾鞘丞擾杖穣埴燭蝕晋榛秦塵壬訊靭笥諏厨逗翠錐瑞嵩趨雛椙菅頗摺栖脆蹟碩蝉尖撰栴煽穿箭舛賎閃糎噌岨曾楚疏鼠叢宋匝惣槍漕糟綜聡鎗其詑柁舵楕陀騨岱苔黛鯛醍瀧啄托琢鐸茸凧蛸只辰巽竪辿狸鱈坦歎湛箪耽蛋檀弛智蜘馳筑註樗瀦猪苧凋帖暢牒銚槌鎚栂槻佃柘辻蔦綴鍔椿壷嬬紬剃悌挺梯汀碇禎蹄鄭釘鼎擢鏑轍纏甜澱兎堵屠杜菟鍍砥砺塘宕嶋梼淘涛燈祷董蕩鐙撞萄鴇涜禿橡椴鳶苫寅酉瀞噸惇敦沌遁呑乍凪薙灘捺楢畷楠汝迩賑廿韮禰祢葱撚乃廼之埜嚢膿蚤巴播杷琶芭盃牌楳煤這蝿矧萩柏箔粕曝莫駁函硲肇筈櫨幡畠溌醗筏鳩噺塙蛤隼叛釆挽磐蕃匪庇斐緋樋簸枇毘琵柊稗疋髭彦菱弼畢逼桧紐謬彪瓢豹廟錨鋲蒜蛭鰭彬斌瀕埠冨斧芙葡蕪楓葺蕗弗鮒吻扮焚糞頁僻碧瞥箆篇娩鞭鋪圃甫輔戊呆峯庖捧烹蓬鋒鳳鵬鉾吠卜穆釦殆幌哩槙鮪柾鱒桝亦俣沫迄侭麿巳箕湊蓑稔粍牟鵡椋姪牝棉緬摸孟儲杢勿尤籾貰悶也爺耶靖薮鑓愈佑宥揖柚涌猷祐邑輿傭楊熔耀蓉遥慾淀螺莱洛李裡葎掠劉琉龍亮凌梁稜諒遼淋燐琳鱗麟伶嶺怜玲苓漣煉簾聯蓮魯櫓婁榔牢篭聾蝋肋倭亙亘鰐詫藁蕨椀碗
```

これを眺めてみると、「`杏 甥 牡 癌 屑 狐 鯉 昏 痔 雫 尖 只 狸 乃 之 鳩 牝`」など、結構使っているのに常用漢字やその候補に入っていないものを見かけます。「`栗 杭`」などの漢字を、使用してよい漢字としている新聞社もあるらしいです。
また、「`穐 盈 菟 畷 弼 斌`」など、日常生活であまり見ない漢字も結構見かけます。漢検を持っていらっしゃる方だったらこういう漢字もすらすら読めるのでしょうか？JIS第1水準は都道府県・市区町村名の漢字を網羅しているよう設計されたらしいので、その影響かもしれません。
注意点としては、2010年に常用漢字として追加された「`鬱`」は第2水準ですが、この俗字「`欝`」は常用漢字としては採用されずに第1水準として登録されていたりします。俗字の対応表は持っていないので、こういうケースももっとあるかもしれません。ご存知の方は教えてください。

## まとめ
- 常用漢字は、JIS第1,第2,第3水準の範囲に収まっている
- JIS第2水準の常用漢字 30字は、全て2010年の追加分が原因
- JIS第3水準の常用漢字 4字(「`頰 塡 剝 𠮟`」)は、全て異体字が第1水準に含まれる

新元号に「`頰 塡 剝 𠮟`」が含まれていれば、色々なシステムで問題を起こせそうで楽しそうですが、さすがにこの4字は厳しいかな…