IT·テック ストーリー

ハングルコードの歴史

2バイトの中ではどちらもすべてを収めきれず、押し出された側の組み立て原理は次の文字コード体系に規則として残りました

  • 約19分で読めます
  • 1443 – 2026
  • 9章
  • 図 9点
  • 出典 19件

古い文書を開いたら、文字の代わりに「ÇѱÛ」のような文字列がずらりと並んで表示されたことがあります。昔の掲示板の書き込みでは、名前が疑問符や四角い記号に変わっていたりもします。ファイルが壊れたわけではありません。中に入っている数字はそのままだからです。

コンピュータに保存されるのは文字ではなく数字です。「한글(ハングル)」という2文字は、ある規格では4バイトであり、別の規格では6バイトになります。ところがバイト列には「私をどの規格で読むべきか」という表示は付いていません。保存するときに使った規格と開くときに使った規格が食い違うと、同じ数字が別の文字コード表で読み取られ、とんでもない文字が出てきてしまいます。前の4バイトを西ヨーロッパ文字のコード表で読むと「ÇѱÛ」になり、後ろの6バイトを同じ表で読むと「한글」になります。

つまり文字化けは故障ではなく、痕跡なのです。その場所に、かつて別の規格が存在していたという痕跡です。ハングルを数字に変換する方式をめぐって複数の規格が競い合い、そのうちのいくつかは姿を消しました。その争いが何を懸けて繰り広げられたのかを知るには、ハングル1文字を2バイトにどう押し込むかがまだ定まっていなかった時代へとさかのぼる必要があります。

ひと目でわかる年表

文字創製の時代

  1. 1443 訓民正音創製。解例の「合字解」が字母を組み合わせて音節として表記する方法を規定

国内標準

  1. 1974 ハングルの字母を収録した初の国家標準文字コード系を制定
  2. 1982 2バイト組合型が政府規格になる
  3. 1987 3月、完成型2,350字が国家標準本文として置き換えられる
  4. 1990 6月、教育用コンピュータ規格をめぐって紙面上で繰り広げられた攻防
  5. 1991 補助文字コード系により4,280字まで拡張
  6. 1992 10月、組合型が附属書として国家標準に受け入れられる

国際文字コード体系

  1. 1995 12月、世界文字コード体系を国家標準とする規格を告示
  2. 1996 7月、世界文字コード体系2.0版がハングルの領域を丸ごと再配置

現在

  1. 2009 5.2版、古ハングルを表記する結合用字母が追加される
  2. 2026 ウェブ調査でUTF-8が99.0%

ハングルは何文字なのか――4つの異なる答え

この物語で最も食い違いやすいのは、年代ではなく数字の意味です。「ハングルは何文字なのか」という問いが出るたびに、まず何を数えた数字なのかを切り分けなければなりません。4つの答えがすべて異なるからです。

1つ目は字母の数です。現在学校で教えられている単字(字母)は24字で、『訓民正音』が定めたものは28字でした。今日、世界の文字コード体系が組み合わせ用として用意している字母は357個に及びます。数える対象が少しずつ異なるため、これほどの差が生まれるのです。

2つ目は組み合わせ可能な現代音節の数です。初声が19種類、中声が21種類、パッチム(終声)はない場合も含めて28種類。掛け合わせると11,172になります。「가」から「힣」まで、意味があるかどうかに関わらず規則どおりに作られる四角い文字枠がそれだけあるということです。この中には「뷁」のように、一生に一度使うかどうかという文字枠も含まれています。

3つ目はある規格が実際に収録した音節の数です。この数字は規格ごとに異なります。ある規格は2,350文字を収録し、別の規格は11,172文字をすべて収録しました。4つ目は人々が実際に普段よく使う音節の数です。新聞1部、書類1枚に出てくる音節は思いのほか多くありません。3つ目と4つ目の間にある距離こそが、この物語の舞台です。よく使うものだけを入れれば十分だという判断と、書けない文字が残ってはならないという判断が、ここで分かれたのです。

ハングルは単字を作り、それを組み合わせて音節を書き表すよう設計された文字です。『訓民正音解例』には、初声・中声・終声の文字を左から右へ、上から下へと並べて音節単位で書くよう定めた規定が独立して一編収められています。ところがコンピューターは、この設計を2つの方法で受け止めることができました。完成した音節ごとに番号を割り振るか、字母ごとに番号を割り振って組み合わせるか。2つの方式は得意なことと不得意なことが異なっていました。そして、どちらを国家規格の本文に据えるかが、まさに決まろうとしていたのです。

ここで覚えること この争いはハングルの優劣ではなく、数字の定義から始まります。何を数えた数字なのかを切り分けておかなければ、その後の議論が丸ごと見えなくなってしまいます。

2バイトにハングルを収める2つの答え

まず音節ごとに番号を割り当てる方式があります。使う音節をあらかじめ選んでリストを作り、順番に番号を振っていきます。「가」に1つの番号、「각」に次の番号。一般に完成型と呼ばれます。

この方式には良い点が4つありました。1つ目、2バイトが当時の国際通信規約が使っていたスロット配置にそのままぴったり収まりました。2つ目、その配置では2バイトとも英文字領域の外側の値だったため、バイトを走査して英文字を探す昔のプログラムが文字の途中のバイトを誤って処理してしまうことがありませんでした。3つ目、リストをカナダ順(五十音順にあたる配列順)にしておけばコード値の順序がそのままカナダ順になるため、並べ替え(ソート)の処理コストが実質ゼロでした。4つ目、同じ符号体系の中に漢字も一緒に収めることができました。悪い点は1つでした。リストにない音節には番号がありません。 抜け道がまったくなかったわけではありませんが、それについては後ほど見ていきましょう。

もう1つは字母ごとに番号を割り当てる方式です。音節ではなく初声・中声・終声のそれぞれに番号を割り当て、3つをつなげて音節のコード値を作ります。一般に組合せ型と呼ばれる方式は、16ビットを先頭の1ビットと5ビットずつの3つのブロックに分けて使いました。良い点は3つありました。組み合わせ可能な現代音節がすべて表現でき、音節から字母をそのまま取り出せるため検索や言語処理に扱いやすく、字母を増やせば古語(古ハングル)へ拡張できる余地がありました。

悪い点もありました。この方式で表現すると、2バイトのうちの1つが英文字領域の値になってしまう音節が生じるのです。たとえば「게」の後ろのバイトは、大文字のAと同じ値になります。ファイルの中からAを探していたプログラムが、「게」の文字の一部をAと見誤って拾ってしまうわけです。組み合わせ可能な現代音節11,172文字のうち、3,724文字がこのようなバイトを含んでいました。

ですが、ここでこの話の均衡点が現れます。当時の国際通信規約が2バイト1セットに使っていた枠は、94掛ける94、すなわち8,836でした。枠が8,836なのに現代音節は11,172なのです。 枠よりも文字のほうが多いのです。ですから、その配置を守ろうとすれば音節を選んで収めるしかなく、すべて収めようとすれば配置を崩すしかありませんでした。どちらが正しいか以前に、2バイト1セットの中では答えの出ない問題だったのです。

ここで覚えること 2つの方式は得意なことも不得意なことも異なっていました。そして何より、2バイトという器そのものが現代音節の全体よりも小さかったのです。

1987年、国家標準が入れ替えられた日

ここで「最初」という言葉には注意が必要です。何の最初かによって、答えが5つに分かれるからです。

ハングル字母を収録した最初の国家標準は1974年版です。音節を字母の組み合わせで表した最初の国家標準は1982年版でした。つまり組合せ型は、一時期れっきとした政府規格だったのです。「組合せ型は標準になったことがない」というよくある記述は、この点ですれ違っています。音節ごとに番号を割り当てた最初の国家標準が1987年版です。1987年に起きたことは、新しい標準の登場ではなく標準の交代でした。残る2つの軸は後ほど登場します。現代の音節すべてを収録した最初の国家標準は1992年版で、世界の文字コード体系が現代の音節すべてを収録した最初の版は1996年の2.0版です。

1987年3月、政府は8ビット2バイト完成型ハングル・漢字符号系を新たな標準に定めました。韓国標準研究所が1年余り主導した研究が根拠でした。割り当て表を見ると、ハングル2,350字、漢字4,888字、特殊文字や字母、ローマ字などを合わせて全部で8,224字です。ここに利用者が自ら登録できるように、ハングル95字分の領域を残しておきました。この標準はやがて行政電算網の標準コードとして採択されました。

なぜこちらを選んだのでしょうか。標準を定めた側の計算は、前の章で見た通りでした。国際通信規約のコード配置に適合し、バイトが英文字領域を侵食せず、コード値の順序がカナダ順(五十音順にあたる辞書順)と一致し、漢字も一緒に収めることができます。ここにもう一つありました。実務でよく使う文字はすべて入っているという判断です。後日、標準を擁護した側はこう答えました。「2,350字で99%我が国語の表現が可能であり、使用不可能なその1%のためにはユーザー領域95字を利用すれば十分だ。」

退けられた側の計算も残っています。現代の音節がすべて表現でき、音節を再び字母へと分解でき、古字へ拡張する余地があるということ。2つの計算は、それぞれ異なる危険を重く見ていました。一方は互換性が崩れるリスクを、もう一方は書き表せない文字が残るリスクを。

ここで覚えること 「最初」を5つの軸に分けてこそ1987年に起きた出来事が見えてきます。新たな標準が生まれた年ではなく、標準が入れ替わった年でした。

2,350字が抱えきれなかったものたち

標準が定まった直後から、リストが作られ始めました。国語学会から、正書法に必要なのに漏れていた220字が指摘され、後に7字が付け加えられました。リストは分類ごとに分かれていました。単一形態素の表記、漢字音、略語、縮約形、方言、そして発音表記。

困った場面は具体的でした。正書法を教える中で「꺾다」の誤った表記を示そうとしても、その間違った文字を画面に表示することができませんでした。標準発音法を教える中で「옷」がどう発音されるかを書き記そうとしても、その文字がなかったのです。方言の資料集に出てくる文字もいくつも抜け落ちていました。標準外の文字は、学術的な研究室だけの問題ではありませんでした。国語教育や辞書の編纂のように、標準語の規範そのものを扱う現場がまず壁にぶつかったのです。

一応、答えは一つ用意されていました。利用者が自分で割り当てられる95個の空き枠です。しかし、ここには逆説がありました。ある人がその枠の最初の位置に「닁」を割り当て、別の人が同じ枠に違う文字を入れると、二人のファイルはお互いに正しく読めなくなってしまいます。文字コードの価値は他人も同じ表を使っているからこそ生まれるのに、各自で埋めろという解決策はまさにその価値を損ないます。 当時もその指摘がそのまま上がっていました。

もう一つ、標準の規定には迂回路がありました。ハングルの詰め文字(チェウム文字)を前に置き、初声・中声・終声の字母コードをつなぎ合わせる方式です。こうして書くと、1音節が8バイトにもなります。詰め文字に2バイト、3つの字母にそれぞれ2バイトずつ。興味深いのはここです。リスト外の文字を書くには、結局のところ字母を並べるしかなかったのです。 組合せの原理が、完成型の中に非常口としてすでに入り込んでいたわけですね。ただ、データ量が8倍になり、この方式を扱えるプログラムも滅多になかったため、実務で広く使われることはありませんでした。

ここで覚えること 漏れた文字はリストの長さの問題ではなく交換の問題でした。そして非常口は、すでに組合せ型の形をしていました。

「똠방각하」は本当に書けなかったのか

この話で最も広く知られている場面があります。1990年に放送されたドラマのタイトルに標準外の文字が含まれていたため、タイトルすら入力できなかったという話です。のちに新聞記事が清涼飲料水の名前のエピソードまで一緒に載せたことで定着しました。確認できることから切り分けてみましょう。そのドラマが1990年4月16日から6月12日まで放送されたことと、その文字が国家標準の本文文字セットの外にあることは確認できます。放送局や新聞社の電算システムで実際に何が起きていたかを示す当時の記録は見つかっていません。

その次がさらに重要です。元の批判が何であったのかということです。1987年から1989年の間に学会が挙げた根拠は、ドラマのタイトルではありませんでした。正書法の教育、標準発音の表記、方言資料、辞書編纂でした。ここに、今ではほとんど忘れられた根拠がもう一つありました。音節を丸ごと番号にしてしまうと、後から字母へと再び分解するのに別途プログラムが必要になるという指摘です。文章認識や自動翻訳を見据えた言葉でした。広く流布している一文は、実際の主張が立脚していた場所よりもはるかに狭いのです。

そして「찦차를 타고 온 펲시맨과 쑛다리 똠방각하(ジープに乗ってきたペプシマンと短足のトンバン閣下)」という文は、事件の記録ではありません。劣勢に立たされた側が、標準外の文字を1行にまとめて見せるために作った例文です。この例文が長く生き残った理由は明白です。1行読めば問題がすぐに分かるからです。

標準を擁護した側の反論にも耳を傾ける価値があります。「完成型の制定以降、現在まで業務に適用してきたが全く不便はなかった」という回答が残っています。行政や一般業務、自然科学分野であればその通りだと、反対側の執筆者ですら同じ文章の中で認めていました。通信面での根拠もありました。国際通信回線の規約上、組合せ型では通信が困難だというものでした。

その反論も再検証できます。通信の論拠には実体がありました。前章で見たように、組合せ型は現代音節3,724文字で英文字領域の値のバイトを含み、国際規約の配置にも適合していなかったからです。ただし1989年7月には、組合せ型を搭載したラップトップコンピューターでシドニーからソウルまで国際電話回線による通信に成功した実演もありました。そして「外字領域で補えばよい」という回答は、前の章で見た通りデータの交換性を損ないます。どちらの根拠も完全に崩れ去るわけではなく、どちらの根拠も完全には成り立ちません。

ここで覚えること 広く流布した一文を吟味する前に、元の主張から確認しなければなりません。大衆的に残った場面は、実際の論争のほんの一片にすぎませんでした。

埋めようとして食い違った場所

足りない文字を埋めようとする試みが続きました。1991年に補助符号系が制定され、本文の2,350字に1,930字が加わって4,280字になりました。それでも足りないため、さらに2,376字を足して6,656字の集合を作り、国際機関に報告しました。ところが、この集合をもってしても現代の音節4,516字が依然として抜けていました。国際舞台でも韓国内でも、この拡張案が定着することはありませんでした。

一方で、市場では別のやり方で埋めました。完成型のリストをいっそのこと11,172字まで増やしてしまった拡張配置が登場し、パソコンで広く使われるようになったのです。標準本文の外にある8,822字を、空いている領域に押し込む方式でした。

ここで代償を払うことになりました。第一に、新しく押し込んだ場所のせいでコード値の順序とカナダ順(ハングルの辞書順)が食い違ってしまいました。この配置では「똠」が「가」より前に来てしまいます。並べ替えがタダで手に入るという利点が、ここで消え去ってしまうのです。第二に、拡張された配置では、2バイトのうち一方が英字領域の値になってしまう音節が3,606字も生じました。組合せ型の3,724字と同じ種類の問題です。本文の2,350字だけを使っていた頃には、そんな音節は一つもなかったというのにです。枠を広げた途端、避けていた問題が舞い戻ってきました。2バイトという器が、そもそも小さかったという事実がこうして露呈したのです。

制度の側でも動きがありました。1992年10月、組合せ型が国家標準として受け入れられました。文字符号研究分科委員会をはじめとする各級委員会を10回あまり開いた末、その月の6日に最終公聴会を経て下された決定でした。ところが、ここには但し書きがつきます。組合せ型が入った場所は付属書であり、情報交換に使われる本文の94×94集合の定義は変わりませんでした。1993年12月にハングルをインターネットメールに乗せる方式を整理した国際規約文書が、この点に釘を刺しています。1987年版と1989年版と1992年版のその定義は同じなのだ、と。

つまり、外へと出ていく通路には依然として本文が置かれていたのです。組合せ型は国家標準の中に名前を連ねたものの、文書やメールが行き交う道の上では居場所を得られませんでした。

ここで覚えること 埋める方法ごとに異なる代償を払いました。そして、標準に名前を連ねることと、実際の通路を占めることは別の問題なのです。

勝った規格も、一度大きく場所を移しました

この物語には、3つ目の規格が存在します。世界の文字をひと揃えに収めようという世界符号体系です。1991年10月に初版が出ました。

出発点にあった前提が、今振り返ると際立っています。1文字に16ビットを固定で割り当て、6万字余りを収めるという設計でした。策定した機構の当初の目的文にもそう記されており、現在のその文面は「16ビットを超えた」と書き改められています。初期の検討に参加した人物の回想には、「よく使われる現代文字の上限を数えてみたら、16ビットに十分収まった」というくだりがあります。よく使うものだけを収めればよいという前提を、二つの規格がともに立てていたのです。そして、双方がその前提を後に撤回することになりました。

1993年に出た1.1版の文字一覧を見ると、興味深い事実があります。ハングル音節の枠に6,656字が入っているのです。前の章に出てきた、あの数字です。韓国国内から国際機関に報告した拡張完成型の集合が、そのまま世界符号体系の中に入り込んでいたわけですね。先頭の並びも韓国国内の標準本文に従っています。つまり、世界符号体系が最初に受け入れたハングルは、国内で勝ち残った側の集合でした。

そして1996年7月、2.0版がその枠をごっそり消し去りました。6,656字を削除し、現代音節11,172字を新たな位置に並べ直したのです。その版の文字データファイルの変更履歴には、1行こう記されています。「旧ハングル音節を削除し、新文字への対応表は別途設けた。」すでに符号を与えた数千個の文字を別の番号へと移したのです。符号体系において、これほど大きな事故はめったにありません。

ですが、その次にこそ、この話のバランス感覚があります。世界符号体系には現在、「安定性ポリシー」という文書が存在します。冒頭にはこう書かれています。「一度符号を与えた文字は、移動したり削除したりしない。」そして、このポリシーが適用される版こそが、まさに2.0版からなのです。文字名を変更しないというポリシーも同じ版からです。大きく移動させたその版こそが、二度と移動させないという約束の始まった版でした。敗れた規格にだけ欠点があったわけではなく、勝った規格もまた欠点をルールへと変えて初めて、現在の地位に立つことができたのです。

ここで覚えること 勝った側も、すでに割り当てた場所をごっそり移動させました。違っていたのは、その後に「二度と移動させない」というルールを文書として残したことです。

押し出された側の原理はどこに残ったのか

その新しい場所に何が敷かれたのかが、この物語の最後のどんでん返しです。今日の世界の符号化文字集合標準の本文を開くと、現代ハングル音節11,172文字を収めたその領域を呼ぶ名前が出てきます。「組合せ集合(the Johab set)」です。標準規格はその領域をどこから持ってきたのかも明記しています。1992年の韓国国内標準から、完全な組合せ集合として採り入れられたのです。

名前だけがそうなっているのではありません。標準の本文には定数の一覧があります。音節領域の開始点、初声・中声・終声それぞれの領域の開始点、そして初声19、中声21、終声28。音節番号から開始点を引き、割り算をして余りを求めれば初声・中声・終声が導き出され、逆に字母から計算すれば音節番号が出てきます。標準規格はこの計算を規範として定め、音節一つひとつの分解を表にして記載していません。11,172文字が表に記された一覧ではなく、字母から導き出される値だという意味です。

組合せに使う字母も別に場所を持っています。1.1版に240文字があり、2009年の5.2版で古ハングルを表記する字母が追加され、現在は357文字です。標準規格はこう記しています。音節符号はすべて字母の並びに置き換えることができるが、その逆は成り立たない、と。組合せ用の字母でしか表記できない古ハングルの音節が何千通りもあるからです。近代の正書法が現代の表記から除外した字母が入った音節のことです。

だからといって組合せの原理だけが残ったわけではありません。完成した音節ごとに番号を割り振った場所が併せて存在し、その配列はカナダ順(五十音順にあたる配列)です。標準規格は「バイナリ比較だけで大韓民国で使われる整列順が得られる」と記しています。拡張完成型で失われていたその利点が、ここでは生きています。二つの方式がひとつの符号体系の中に並んで入ったわけです。韓国国内でも1995年12月にこの符号体系を国家標準とする規格が告示されました。国際標準化機構側の規格に準拠したものであったため、その時点ですでに字母240文字と完成音節11,172文字が共に入っていました。

もう一つ目を引く点があります。標準規格は、音節の代表的な字形を字母から作り出す方法まで記しています。中声が縦線系列なら直前の子音を左に、横線系列なら上に、両方が混ざった系列なら横線の上かつ縦線の左に置き、終声があればその塊の下の中央に置きます。『訓民正音』解例の「合字解」が初声・中声・終声の文字を左から右へ、上から下へと書いて音節単位で記すよう定めたことと、まったく同じ働きをしています。組み立てを前提に設計された文字だったからこそ、組み立てを規則として定めた符号体系と噛み合ったのです。

ここで覚えること 押し出された側の規格は消えましたが、その原理は計算規則になりました。ただし勝った側の利点も同じ符号体系の中に共に組み込まれました。

今、どこを見ればよいでしょうか

今日、ウェブでの文字コード利用を調査する統計ページは、UTF-8を99.0%と表示しています。2026年9月6日に記録された数値であり、かつての韓国国内の文字コードは0.1%未満のリストに入っています。毎日更新される調査なので、次に開くときには数値が少し異なっているでしょう。方向性は明確です。この争いの舞台だった文字コードたちは、今やほぼその場を去りました。

それでも目を向けるべき場所は残っています。1つ目は過去の資料です。かつての文字コードで保存された文書やデータベースは、今もあちこちに残っています。そのファイルをどの規格で読み取るべきかを併記しておくこと、すなわちメタデータが存在するかどうかが、その資料の寿命を分けます。この物語の冒頭にあった文字化けが、ここで再び現れるのです。

2つ目は、一度割り当てた位置は動かさないというルールの代償です。そのルールのおかげで、今日のコードはこれからも同じ文字を指し示します。その代わり、誤って置かれた位置もそのまま残ります。前の版で決まったことを、後の版で取り消すことはできないという意味だからです。このトレードオフをどう捉えるかは、今も議論が続いている点です。

3つ目は、古ハングルが実際に扱われる仕組みです。昔の文字は、結合用の字母を並べる方法でしか表記できません。しかし、機械が文字を整然と並べるルールには、字母を完成した音節コードへと再びまとめる工程が含まれています。現代の音節になる組み合わせは合体し、そうでない組み合わせは字母のまま残ります。古文献のデジタル化が進むほど、この境界線で手作業が必要になるはずです。

1987年に定められたリストは消え去り、1992年に付属書に名を連ねた組合せ型も消えました。残ったのは、どちらが正しかったかという答えではなく、2バイトの中には答えが存在しなかったという事実です。器が大きくなって初めて、2つの方式が同じ場所に収まりました。いま画面で1文字を消すと、四角い文字枠が丸ごと消えますよね。その枠の内側では、字母を組み合わせる計算が今も動き続けています。

ここで覚えること 予言ではなく、これからの見どころです。過去の資料の表示、取り消せないというルールの代償、古ハングルを扱う仕組み――この3つが、次の場面が開かれる場所です。

よくある誤解

誤解

組合型は国家標準になったことがない。

事実

2回ありました。1982年版で2バイト組合型が政府規格となり、1987年に完成型がその座に取って代わりました。そして1992年10月に組合型が再び国家標準として受け入れられました。ただし、このとき入った場所は附属書であり、情報交換に用いられる本文の94×94集合定義は変更されませんでした。1993年の国際規約文書でも、1987年版・1989年版・1992年版のその定義は同一であると明記されています。

誤解

完成型が標準になったのは誤った選択だった。

事実

どちらか一方だけに軍配を上げられる話ではありません。標準を定めた側にも根拠がありました。国際通信規約のコード配置に合致し、2バイトが英数字領域を侵食せず、コード値の順序が辞書順(カナダ順)と一致してソート処理にコストがかからず、漢字も一緒に収録できました。押し出された側にも根拠がありました。現代の音節がすべて表現でき、音節を再び字母へと分解でき、古ハングルへ拡張する余地がありました。そして、2バイト1文字セットで使えた領域は8,836であり、現代の音節11,172文字より少なかったため、どのような配置であっても2バイトの中にすべてを収めることはできなかったのです。

誤解

世界文字コード体系は最初からハングル11,172字をすべて収録していた。

事実

1.1版が収録していたハングル音節は6,656字でした。韓国国内から国際機関に報告した拡張セットと同じ大きさであり、それでも現代音節4,516字が抜け落ちていました。1996年7月の2.0版でその領域を丸ごと廃止し、11,172字を新たに配置し直しました。その版の文字データファイルの変更履歴には「古いハングル音節を削除した(Removed old Hangul Syllables)」と記されています。そして「一度符号を与えた文字は移動したり削除したりしない」というポリシーが適用されるようになったのは、まさにこの2.0版からです。

誤解

完成型では一覧にない文字を表記する方法がまったくなかった。

事実

抜け道が一つだけありました。ハングル充填文字(チェウム文字)を前に置き、初声・中声・終声の字母符号を連結していく方式です。このように表記すると、音節1つが8バイトになります。一覧の外にある文字を記すには、結局のところ字母を並べるしかなかったわけです。ただし長さが8倍になり、この方式を扱えるプログラムが極めて少なかったため、実務で広く使われることはありませんでした。

つまり ひとことで

ハングルを数字に変換する方式をめぐり、2つの規格が競い合いました。音節ごとに番号を割り振る側は、通信規約のコード配置に合致しソート処理のコストがかからない反面、一覧にない文字が表記できませんでした。一方、字母ごとに番号を割り振る側は、現代の音節をすべて表記できたものの、バイト値が英数字領域を侵食してしまいました。1982年に政府規格だった組合型は1987年に完成型へと置き換えられ、1992年に附属書として復帰したものの、情報交換用の本文規格はそのまま維持されました。2バイト1文字セットで使えた領域は8,836であり、現代の音節11,172文字より少なかったため、どのような配置にしてもその器の中にすべてを収めることはできなかったのです。結局、どちらの規格も世界文字コード体系にその座を譲ることになりました。しかしその文字コード体系は、ハングル音節11,172字の区画を「組合せ集合(the Johab set)」と呼び、音節コードを字母からの計算によって導き出します。押し出された側の組み立て原理がルールとして生き残り、辞書順配列という勝利した側の長所も同じ場所に一緒に組み込まれたのです。

参考資料

本文の年号と数字は以下の資料に基づいています。誤りを見つけたらお知らせください。

  1. The Unicode Standard, Version 17.0.0 — Core Specification, Chapter 3 §3.12 Conjoining Jamo Behavior Unicode Consortium 音節コードを字母から算術演算で導き出す規範規則と定数(初声19、中声21、終声28、音節11,172)をここで確認しました
  2. The Unicode Standard, Version 17.0.0 — Core Specification, Chapter 18 §18.6 Hangul Unicode Consortium 「組合せ集合(the Johab set)」という名称、1992年の韓国国内標準から引き継いだという記述、バイナリ比較でソート順が得られるという記述、代表グリフを字母配置で合成する規則
  3. The Unicode Standard, Version 17.0.0 — Appendix C, Relationship to ISO/IEC 10646 Unicode Consortium 2.0版が国際標準化機構側の改訂7件を反映し、その5番目がハングル音節に関するものであるという箇所
  4. Unicode Character Encoding Stability Policies Unicode Consortium 「一度符号を与えた文字は移動したり削除したりしない」という原則と、その適用が2.0版からであるという表示。随時更新されるページのため2026年9月6日に確認しました
  5. UnicodeData-1.1.5.txt (世界文字コード体系1.1版 文字データファイル) Unicode Consortium 1.1版のハングル音節6,656字と結合用字母240字をファイルから直接数えました
  6. UnicodeData-2.0.14.txt · ReadMe-2.0.14.txt (世界文字コード体系2.0版 文字データファイル) Unicode Consortium 変更履歴の「Removed old Hangul Syllables」という記述、旧領域にハングルが残っていないこと、新領域の始点と終点
  7. DerivedAge.txt · HangulSyllableType.txt (世界文字コード体系17.0.0版 文字データベース) Unicode Consortium 音節領域が2.0版、古ハングル用字母拡張が5.2版であることと、現在の結合用字母357字(初声125・中声95・終声137)
  8. Unicode 版別発行日 Unicode Consortium 1.0版 1991年10月、1.1版 1993年6月、2.0版 1996年7月
  9. Early Years of Unicode · Summary Narrative Unicode Consortium 「約6万字のための固定長16ビット文字コード」という当初の目的文とそれが改められた経緯、初期検討の回顧
  10. CP949.TXT — 拡張完成型・Unicode対照表 Microsoft / Unicode Consortium 公開マッピング資料 表に記載されたバージョン表示は Table version 2.01。拡張配置がハングル11,172字を収録し、そのうち8,822字が本文規格外であること、英数字領域の値のバイトを含む音節3,606字、コード値順と辞書順(カナダ順)がずれていることをこの表で確認しました
  11. キム・チュンフェ「現行KS完成型ハングルコードの問題点」『国語生活』1989年秋号 国語研究所(現・国立国語院) 1987年3月の制定経緯と割り当て表(ハングル2,350・漢字4,888・ユーザー定義域95)、1982年版が2バイト組合型であったという記述、抜け落ちた文字220字の一覧、そして標準を擁護した側の回答が併載されています。筆者は押し出された側の立場から執筆しています
  12. イ・ギソン「電子工学から見たコンピュータとハングル」『新国語生活』第6巻第2号(1996年夏) 国立国語研究所(現・国立国語院) 補助コード系による4,280字、国際機関報告セット6,656字、それでも欠けていた4,516字、完成型本文が収めきれなかった8,822字、1995年12月の告示、1989年の国際通信デモンストレーション、1990年6月の紙上論争。筆者は押し出された側の立場から執筆しています
  13. RFC 1557, Korean Character Encoding for Internet Messages U. Choi, K. Chon, H. Park / Internet Engineering Task Force, 1993年12月 1987年版・1989年版・1992年版の94×94定義が同一であると明記した記述、およびこの方式が7ビット形式を前提としているという記述
  14. 【100大事件_030】ハングルコード 2バイト組合型を追加 <1992年10月> 電子新聞(2012年9月17日) 各級委員会を10回あまり開いた後、同月6日の最終公聴会を経て組合型を受け入れたという経緯
  15. 「ハングル互換できず『똠·펲·찦』の字は出力不可…Unicode以降ようやく解決」 文化日報(2022年1月10日) 現在広く流布している言説がどのようなものかを示す資料としてのみ参照しました。この記事に記載された逸話の当時の記録は今回の調査では見つかりませんでした
  16. ISO/IEC 10646-1:1993/Amd 5:1998 — Hangul syllables International Organization for Standardization (オンライン目録) 表題と発行年のみ目録で確認しました。世界文字コード体系側はこの内容を2.0版に収録したと記しており、2つの年号が一致しません
  17. 訓民正音 — 韓国民族文化大百科事典 韓国学中央研究院 「合字解」が初声・中声・終声の文字を左から右へ、上から下へと組み合わせて音節単位で表記することを規定しているという記述
  18. Usage Statistics of Character Encodings for Websites W3Techs / Q-Success ページ上に「W3Techs.com, 6 September 2026」と表示され、UTF-8 99.0%が示されていました。毎日更新されるURLです
  19. KS C — KS X 対照表(情報処理分野 国内規格番号対照) 釜山大学校 研究室資料 1974年の制定とその後の改訂履歴、および1997年の規格番号改編。歴史的背景と規格番号の対照にのみ参照しました
作成 2026-09-06 更新 2026-09-06 検証 2026-09-06