おまけ−−−画像ハングル、IE4ハングル編

以下のプログラム作成には、 「韓国映画とハングル」のソチョンさんの 助言をいただきました。(ユニコードの文字コードの事や、 動作確認、その他いろいろ。)ありがとうございます。

自宅のWindows95のIE3やIE4では動いています。 NN3やMac、UNIXで動くのかは不明です。 動くといいのですが... ということで、まだ試作品です。 役にたつようであれば、勝手に改造して使ってください。

一部のツールは、ハングルの単独字母には(まだ)対応していません。 ごめんなさい。

韓国語特有の記号には、(まだ)対応していません。 ごめんなさい。

まだまだバグが残っていると思います。ごめんなさい。

画像ハングル(はりつけハングル)

"さる@さるばん"さん作成のgifファイルによる ハングル画像ファイル2376個を使って 掲示板にハングルを書き込むための JavaScript(の試作品)です。

この画像は、ハングルを初声、中声、終声の3つに 分解して、それを元にしてファイル名が決められています。 詳しくは、 さる@さるばんさんのホームページへどうぞ。

s2ie4.htm」 ("はりつけハングル"で書いたHTMLファイルをIE4のハングルフォントで表示するシステムの例)
普通はstxt1.htmを開いて画像ハングル(はりつけハングル)で 読むわけですが、IE4(以上)ユーザーは、このs2ie4.htmを通して ハングルフォントで表示できる、そんなJavaScript。
hr2s.htm
HR(ハングルのローマ字表記の一種)を入力して、 imgタグを出力するJavaScriptです。
u2ksie4.htm
Microsoft Internet Explorer 4(以下IE4)には 専用ハングルIME(Global IME)が利用できます。 このハングルIMEで入力して、 ハングル画像を貼り付ける img タグを出力するJavaScriptです。 (これは、IE4ではJavaScriptの "escape(str)" という関数の結果が ユニコードの十進数を返す、という事実を利用しています。)
imks.htm
御覧のとおりの単純な入力器です。 ハングル画像を貼り付けるための img タグを 出力するJavaScriptです。

IE4ユニコードハングル

日本で作られているUnicodeによる日韓混在文のWebページには 大きく2種類あります。 一つは「UTF-8」エンコーディングによるもの。 もう一つは、 ユニコード番号の10進数表記を使ってハングルをエスケープして Shift-JISコード内にハングルを埋め込む方法です。

後者の、ユニコードの10進数でエスケープしたものは
가
といった形になっています。ここで
44032(10進数) = AC00(16進数)
であり、これはユニコードでは完成型の「ka」を 意味します。 (正式には確か、「文字参照」といって、SGMLやXML(HTML4.0でも??) の規格だと聞いています。) で、韓国もののWeb siteの掲示板に、この 文字参照ハングルが時々使用されています。 Microsoft Internet Explorer 4 では、 表示も書き込みも可能なのですが... (MSWrod97でも読めるそうです。)

というわけで、仕組は簡単なのです。 掲示板のソースコードを開いて、十進数の部分を 計算してハングルに変換すれば読めるようになるはずです。

なお、Netscape Navigator をご使用の場合、 ソースの表示用のプログラム(エディターなど)を指定したほうが便利です。 なぜなら、以下の方法では、ソースを表示して、それを クリップボードにコピーする、という手段をとるからです。 (フレームの場合、一度フレームを名前を付けて保存してから、 エディターで開かないといけないかもしれません。)

どのプログラムも基本的に時間がかかります。

hr2ie4.htm」 (HRで書いたHTMLファイルをIE4のハングルフォントで表示するシステムの例)
普通はhrtxt1.htmを開いてHR表記の朝鮮語を 読むわけですが、IE4(以上)ユーザーは、このhr2ie4.htmを通して ハングルフォントで表示できる、そんなJavaScript。
u2ks.htm」または 「u2ksie4.htm」(10進数Unicodeハングルの解読用)
上で紹介した、さる@さるばんさんの画像ハングルを使って ハングルを表示するJavaScriptです。
u2k.htm(3分割版)または u2k8.htm(8分割版)(10進数Unicodeハングルの解読用)
JavaScript + Shift-KS font 用
JavaScript Errorが発生した場合、あわてずにその「警告」画面を消した後、 「再読込」(Reload)ボタンを押すと、うまく動くかもしれません。
変換にかかる時間はかなり長いです。
u2kr.htm(10進数Unicodeハングルの解読用)
JavaScript (Roma字表示) 用
u2kh.htm(10進数Unicodeハングルの解読用)
JavaScript (組み合わせ型画像ハングル表示) 用
imku.htm
JavaScript による10進数ユニコードハングル入力器
hr2u.htm
JavaScript による、HR から 10進数ユニコードハングル への 変換用
u2kie4.htm
Microsoft Internet Explorer 4(以下IE4)には 専用ハングルIME(Global IME)が利用できます。 このハングルIMEで入力して、 10進数ユニコードハングルを出力するJavaScriptです。 (これは、IE4ではJavaScriptの "escape(str)" という関数の結果が ユニコードの十進数を返す、という事実を利用しています。)
u2k.pl」「u2k.tbl
JPERL用スクリプトです。変換後、kajeroエディターなどで読み込みます。 両方のファイルが必要です。
k2uhr.pl
PERL用スクリプトです。KSコード(EUC-KR)ファイルを読み込むと、 各行ごとに、10進数ユニコードハングル、KS、HRで 出力します。データファイルとして、 「dec-unicode-wansung.txt」 と 「dec-unicode-camo.txt」 が必要です。
u2k.el
Emacs LISP による10進数ユニコードからKSコードへの変換
k2u.el
Emacs LISP によるKSコードから10進数ユニコードへの変換

ちなみに、ユニコード2.0の中の完成型ハングルは次のような 配列になっています。 ローマ字表記法はいろいろありますが、大丈夫でしょう、きっと。

ハングル単字母

0x3131 + (字母番号)
字母番号
0:k
1:kk
2:ks
3:n
4:nc
5:nh
6:t
7:tt
8:r
9:rk
10:rm
11:rp
12:rs
13:rth
14:rph
15:rh
16:m
17:p
18:pp
19:ps
20:s
21:ss
22:ng
23:c
24:cc
25:ch
26:kh
27:th
28:ph
29:h
30:a
31:ae
32:ya
33:yae
34:eo
35:e
36:yeo
37:ye
38:o
39:wa
40:wae
41:oe
42:yo
43:u
44:wo
45:we
46:wi
47:yu
48:eu
49:yi
50:i

完成型ハングル

0xac00 + (初声番号 X 21 X 28) + (中声番号 X 28) + (終声番号)
全部で、初声19個 X 中声21個 X 終声28個 = 11,172個あります。
初声番号
0:k
1:kk
2:n
3:t
4:tt
5:r
6:m
7:p
8:pp
9:s
10:ss
11:ng
12:c
13:cc
14:ch
15:kh
16:th
17:ph
18:h

中声番号
0:a
1:ae
2:ya
3:yae
4:eo
5:e
6:yeo
7:ye
8:o
9:wa
10:wae
11:oe
12:yo
13:u
14:wo
15:we
16:wi
17:yu
18:eu
19:yi
20:i

終声番号
0:(null)
1:k
2:kk
3:ks
4:n
5:nc
6:nh
7:t
8:r
9:rk
10:rm
11:rp
12:rs
13:rth
14:rph
15:rh
16:m
17:p
18:ps
19:s
20:ss
21:ng
22:c
23:ch
24:kh
25:th
26:ph
27:h

それから、KS完成型ハングルとユニコード完成型ハングルの コード変換表は、Information regarding Hangeul から入手しました。
http://asadal.cs.pusan.ac.kr/kr-jtc1-sc2/k984f.txt
です。

10進数ユニコード数とEUC-KRのハングル文字との対応表を作成しました。 (上のk984f.txtをPerlスクリプトで成形したものです。) 御自由にお使いください。

ftp://ftp.unicode.org/ から入手できるコードテーブルを使って、KS-C-5601(ハングル、記号、 漢字など)および統合型ハングルコード(Unified Hangeul Code)(のうち EUC-KRに入っていない部分)と10進数ユニコード数との対応表を 作成しました。(間違いがあったらごめんなさい。一部手動で作成したので。) ご自由にお使い下さい。

そうそう、IE4では "escape(str)"の結果がユニコードになる、 というのは、韓国・朝鮮メーリングリスト の[kmlabs 4269]で知ったのでした。

また、UTF-8なファイル作成には、 Juria's WIN32 Editor を使用しました。 なぜMeadowを使わなかったかというと、 KS X 1001(旧KS C 5601)に入っていない Microsoftオリジナルコード(UHC)の中の文字(Meadowでは使えない)を 使っているからです。


作成日:1998年 6月20日
更新日:2000年 2月29日
chiyu (ma11092c@ma1.seikyou.ne.jp)
目次に戻る