ユーザ用ツール

サイト用ツール


memo:mk_uni

中期朝鮮語とUnicode

ここでは,中期朝鮮語をコンピュータで扱う際に押えておかなければならない点を,いくつか見ていきます.「中期朝鮮語」って何ですか?という人は,趙義成先生のホームページやWikipediaなどを参考にしてください.また文字コードなどの考え方については,SILのMultilingual Computingが参考になると思います.

中期朝鮮語を表示するためのフォントについては,フォントについてを参照してください.

コンピュータで扱われるハングル

韓国に関していえば,ほとんどKS X 1001(以前のKS C 5601)という文字セットが用いられています.いわゆる完成型符号系というもので,現代ハングルのうち,実際には用いられない文字を除外した2350文字を収録したものです.ですから,当然表示・入力ともに不可能な文字がありました.そういった文字のうちいくつかを選び,記号なども加えて拡張セット(KS X 1002,以前のKS C 5657)も発表されました.この中には中期朝鮮語の字母も入っていましたが,実際に文献を入力したりする程には充実していません.

KS X 1001にはハングル2350字,漢字4888字が収録されています.KS X 1002ではハングル1930字,漢字2856字,中期朝鮮語の字形1677字が収録されています.

また,あまり使用されてはいませんが,KSSM(いわゆるJohab,組み合わせ型)という符号化方式もあります.これはKS X 1001の附属書に補助符号系として記載されているものです.既に完成した一つの字形に対してコードを割り当てる完成型とは異なり,字母ごとにコードを割り当てておき,それを組み合わせることで字形に対応するコードを得るという方法です.この方法では,現在(いちおう)可能な組み合わせ,すなわち11172通り(初声19×中声21×終声27に終声がない場合を加える)のハングルを用いることが可能です.アレアハングルなどで読み込み,書き出しに対応していますが,よく使われる方式とはいえません.

2バイト16ビットのうち,第一バイトの最初の1ビットは常に1,以下5ビットずつ初声,中声,終声を割り当て,1文字分2バイトを得るという方法です.アレアハングルでの“*.2b”というファイル形式がこの符号化方式を用いています.

要するに,基本的に完成型と組み合わせ型という二つの方式があり,そのうち完成型が主に用いられてきたというわけです.

Unicodeとハングル

Unicodeの登場で,異なる符号化の方式を持っていた様々な文字集合を,簡単にコンピュータ上で扱えるようになりました.例えば多言語Webページの作成,テキスト形式による文書の交換などが挙げられるでしょう.またプログラミングなどにおいても,文字コードを意識することなく,一意のコード体系で処理することが可能になりました.では,ハングルはUnicodeのなかでどのように扱われているのでしょうか.

結論からいえば,上述の二通りの方式,すなわち完成型と組み合わせ型のうち,Unicodeが採択したのは組み合わせ型でした.といっても各字母にコードを割り当てるのではなく,組み合わせ型で可能な現代ハングルを,全てその順番で収録したのです.ある意味では完成型といえなくもありません.詳しい文字セットの一覧は,UnicodeのOnline Dataを参照してください.

この結果,従来のKS X 1001からUnicodeへの変換が面倒になった,などといった問題が生じましたが,ここでは詳しく触れません.エンドユーザーとしては,アプリケーションがやってくれますから,特に意識するほどの問題もないと思います.

中期朝鮮語とUnicode

これまでWeb上やデータ交換の際に中期朝鮮語を利用する場合,アレアハングルなどのアプリケーションを用いるほかありませんでした.しかしUnicodeの導入で,その状況がかなり変わってきました.とはいえ,Unicode自体に中期朝鮮語の領域が割り当てられたわけではありません.Unicode Character Databaseを見れば分かるように,そんな領域は存在しません.ではどのようにして利用可能になったのでしょうか.

フォントについてで紹介したように,Microsoftの配布するNew GulimとNew Batangの二つのフォントは,Unicodeの私用領域(Private Use Area)に中期朝鮮語の字形を割り当てています.これを用いることで,Web上やテキスト形式での中期朝鮮語の利用が可能となりました.例えば資料室のXMLファイルなどのように,Web上での表示,情報交換ができるわけです.従来のように特定のアプリケーションを必要とせず,シンプルなテキストの形式で情報のやりとりができます.当然データベースなどでの利用も可能でしょう.

いくつかの問題点

しかしUnicodeによって中期朝鮮語の利用が可能になったとはいえ,問題点はいくつかあります.そのうち致命的ともいえるのが,フォントがなければ意味がないという点でしょう.New Batang/New GulimはTrueTypeフォントなので,たいていのオペレーティングシステムで利用が可能だとは思います.それでもフォントがなければ,けっきょくは表示が不可能なわけです.

だけどとりあえずコードが割り当てられてるから大丈夫,と思うかもしれません.人間の目で見えなくても,とにかくコンピュータが区別してくれればいいや,というわけです.しかしここでも問題があります.それは,中期朝鮮語の字形をUnicodeの私用領域に割り当ててしまったことです.けっきょくは「私用」ですから,他の人がその領域に別の文字を割り当てる可能性はいくらでもあるわけです.やっぱりフォント依存という弱点が残ります.

とはいえ,Unicodeに中期朝鮮語の字形が正式に採用されない限り,この問題は解決できないでしょう.採用するにしてもけっこうな量だし….署名運動でもしてみますか?

まだまだ問題は続きます.とにかくフォントをインストールして表示も入力もできるようになった,次はちょっと応用してみよう,ということでデータベースを作りました.ところが,ソートが(正常に)できないのです.原因はやはり私用領域にあります.現代ハングルが割り当てられた領域(0xAC00-0xD7AF)と私用領域(0xE000-0xF8FF)とが異なるため,中期朝鮮語の字形は当然全ての現代ハングルよりも後になります.そのため,例えば『李朝語辞典』(劉昌惇著,延世大学校出版部,1964)のような字母配列でソートしたい!と思っても不可能です.

他にも,(これは中期朝鮮語の問題ではありませんが)Unicodeに収録されていない漢字の問題や,理論的には可能だが,フォントに収録されていないハングルが存在するといった問題が考えられます.あとはIMEがないことくらいですか.

最後の問題は,アレアハングルなどUnicodeに対応したワープロ/エディタを利用するか,Microsoftの配布するGlobal IME,その他漢籍入力器などを利用することで解決できるでしょう.ただし,いずれも韓国語Windowsで動作するものです.日本語環境でなんとかできないものですかね?
[2003/05/20追加] 森のソフトアトリエで配布している“OHI2CB”というソフトウェアを用いれば,日本語Windows上で古ハングルの入力が可能です(Microsoftの配布するフォントが必要).同ページでは,日本語Windowsでハングルの入力が可能な“かささぎ”というソフトも配布されています.

おわりに

以上,中期朝鮮語とUnicodeについて簡単にまとめてみました.けっきょくNew Batang/New Gulimフォントの利用は,一時的な方便に過ぎないといえるかも知れません.Windowsユーザーはともかくとして,MacintoshやUnixといった環境での利用にはまだ難点があるのではないかと思います.

[2013/03/22] MacOS Xでは「하늘입력기」というものがあり,古語の入力が可能です.

それでも,特定のアプリケーションに拘泥せずに,中期朝鮮語だけでなく日本語なども混在させられるようになったことは喜ばしいといえます.これからも何とか有効に活用していきたいものです.一つの試みとしてのXMLファイル作成など,情報交換に役立てる方法を模索してみたいと思います.

文字コードなどについての部分は理解が不正確な部分があるかも知れません.指摘いただければ幸いです.

[2006/04/23 追記] 麗澤大学言語情報学プロジェクトにおいて,「ローマ字転写による拡張ハングル入力システム」というツールが公開されています.ハングルをローマ字(福井玲方式の転写法)を用いて入力すると,対応するハングルを生成してくれるCGIです.このツールでは現代ハングルだけでなく,中期朝鮮語などで使われるハングルも生成できるそうです.このようなプロジェクトをさらに拡大していただければ,と思います.

参考文献

  • 安岡孝一/安岡素子(1999) 『文字コードの世界』,日本・東京:東京電機大学出版局
  • 韓国標準協会(1996) 『KSハンドブック 情報処理(I/II)-1997』,韓国・ソウル:韓国標準協会
  • “KS X 1001-1998 情報交換用符号系(ハングル及び漢字)“,韓国標準協会,1999
  • Unicode Homepage: http://www.unicode.org/
memo/mk_uni.txt · 最終更新: 2015/10/12 17:17 by 127.0.0.1