前書き
街中のハングルを見て「読めない何か」と思っているのではないでしょうか。また、電車の案内LCDに表示されているのを見て「ふーん」って思っているだけではないでしょうか。実は、その文字を表示するためにたくさんの人の努力してきました。本記事では、その人たちの努力について書いてみようと思います。
そもそもハングルとは
歴史
ハングルは、1443年に李氏朝鮮の国王、世宗によって公布されたとされています。当時の正式名称は「訓民正音」でした。
構造
ハングルは子音ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎと母音ㅏㅑㅓㅕㅗㅛㅜㅠㅡㅣの組み合わせにより文字が構成されます。子音単体の組み合わせとしてㄲㄸㅃㅆㅉが存在し、母音単体の組み合わせとしてㅔㅐㅚㅙㅟㅞㅢが存在します。しかし、ハングルはアルファベットのように、これらを横に並べて書くものではありません。「一音節=一文字」という原則があり、これらの要素を組み合わせて文字を構成します。
いくつか例を挙げてみます。
- ilbon ㅣㄹㅂㅗㄴ 일본
- hanguk ㅎㅏㄴㄱㅜㄱ 한국
- euisa ㅡㅣㅅㅏ 의사
ㅇは「子音入る場所だけど子音ないよ」との意味なので、発音しません。まぁ、パッチムに来ると違いますが...
こういう風に、文字の要素を組み合わせて文字を構成します。できるパターンとしては
- 子音+母音(例:가)
- 子音+母音+子音(例:안)
- 子音+母音+子音+子音(例:밝)
が存在します。ハングルのデジタル化が難しかったのはこれが原因でした。
組合型と完成型
二つの違い
組合型は言葉の通り要素ごとに情報を保持し、表示時にハングルを組み合わせる方式です。割り当てる文字コードが少なくて済む大きなメリットがありますが、ハングルのためだけに組み合わせて出力するロジックが必要となる大きな欠点があります。ハングルのような文字は世界的に見ても珍しいので、高々7000~8000万人が使うような文字(北朝鮮はインターネット世界であまりカウントする意味がないから実質5000~6000万人程度)のためにOSがそれに対応するのも難しい話でした。
完成型にこのような問題点はありません。組合型とは違い、あらかじめ組み合わせた文字に文字を割り振る方式です。文字コードが膨大になる欠点がありますが、他の文字と共通した実装ができる大きなメリットがあります。特殊な実装がいらないことから主流は完成型になりました。
EUC-KRの悲劇
EUC-KRはEUC-JPと同様、2バイトからならエンコードシステムです。2バイトという限界もあり、ハングルの全ての組合せ(1万越え...)を表現するのは無理がありました。ハングルだけならまだしも、漢字まで含まれたエンコーディングなので、全ての組合せを表現するのは極めて難しく、「韓国語ではあり得ない」ハングルの組合せを排除した2000種類あまりのハングルを採用しました。しかし、問題はまもないうちに現れます。
「涼宮ハルヒの憂鬱」という作品をご存知でしょうか。登場人物に「キョン」がいますが、「韓国語」ではあり得ない組み合わせだったため、排除されました。しかし、「キョン」は「キョン」なので表記する必要があり、別に発音できない文字でもなかったので、「쿈」と表示する必要があったのです。結局出版社は「?」のまま出版したり表現できた「쿄」に「ㄴ」を下に無理やり付け加えて表現していました。
まだこれだけだったらよかったかもしれません。外国の人名・地名を表記するのに難があり、それは韓国語話者が発音できないものでもなかったのです。涼宮ハルヒの憂鬱が出た時はUTF-8は存在したと思いますが、当時の出版社の事情によりPowerPCでしか動かない超古いソフト「Quark3.3K」で作業していたため、EUC-KRで作業するしかありませんでした。
余談ですが、EUC-KRでは漢字と仮名は表現できたものの新字体の漢字は表現できませんでした。当時の韓国のアニヲタはEUC-KRにしか対応してない字幕フォーマットを使っていたため、新字体を無理やり旧字体に変換する必要がありました(例: 体育→體育)
Unicode時代、想定される組み合わせは表現できるようになる
EUC-KRは登場時から問題が多かったのですが、Unicodeの登場により文字の表現に3バイトを用いることになり、文字コード領域に余裕ができ、1万通り程度の組み合わせを無理なく表現できるようになりました。しかし、発音できない文字も多数含まれており、「뷁」がその一例です。
終わりに
本記事ではハングルのデジタル化の歴史について少し触れてみました。「情報量足りないな」と思うかもしれませんが大目に見てください。
ある人は「電車に出てくる迷惑な文字」と思うようですが、「少しでもいいから興味を持ってほしい」と思ってこの記事を作成しました。これでハングル及びその文字のデジタル的な表現方法について興味持ってくれたら嬉しいです。