========================================================================
0.はじめに
これは韓国朝鮮語学習用ソフトのWindows版です。
対応機種はWindows95以上の動くもので,IBM・富士通・NEC・SONYのパソコン
で動作を確認しています.
KWinCAIは韓国・朝鮮語の学習プログラムで『朝鮮語入門』(油谷幸利著,ひつじ書房)
の内容に対応しており,文字と発音の練習から始めて用言の活用形の練習までを段階的に
学習できます.
このソフトはVer.1.12で、第1課です.
プログラム本体とデータ部分が別のフォルダに入っているので,KWinDat1フォルダの中
のDataフォルダ,ImageRフォルダ,Imagesフォルダ,SoundフォルダをKwinPrg1フォルダ
の中へ移動してください。全て移動した後は,空になったKWinDat1フォルダは不要です。
この時点でKWinPrg1フォルダは以下のようになっているはずです。
KWinPrg1--+--Dataフォルダ
+--ImageRフォルダ
+--Imagesフォルダ
+--Soundsフォルダ
+--KWinCAI112(プログラム本体)
+--ReadMe.HTML(このファイル)
KWinCAI112(プログラム本体)をダブルクリックするとプログラムが起動します。
以下では起動後の各画面を示しながら使用方法を解説します.
1.タイトル画面
プログラム起動直後の、タイトルが表示されている画面です.初期設定の準備が完了する
まで少しお待ち下さい.

初期設定が終了すると,第1課の第1ページから学習が始まります.
他の課を学習する場合は,Indexまたはポップアップメニューで各課を選択してください.
終了するには,Indexまたはポップアップメニューで終了を選択してください.
2.第1課の学習
2.1.単母音字
第1課の最初のページで母音の「イ」のボタンをクリックしたところです.母音の筆順
が示されると共に,発音を聞くことができます.
右下のプレイボタンは,全ての画面において発音を再確認する時に使用します.
他のページに移動するには,画面上部のタブをクリックしてください.隠れているタブ
は,右端の矢印をクリックすると現れます.

2.2.唇音
第4ページ目の唇音の画面です.右下の出題ボタンをクリックすると,ma, piなどの
音が聞こえるので,正しいと思う文字を表示したボタンをクリックしてください.正誤
の判定をしてくれます.

2.3.単語の練習
第7ページ目の単語の練習画面です.
この段階で,文字と発音との関係をしっかり覚えてしまいましょう.

2.4.単語を覚えよう
第1課の最後のページです.基本的な単語を覚えましょう.

3.音声データについて
第1課の音声データはSoundsディレクトリに入っています.
第1課は,現時点では油谷の声をWindowsに標準でついているサウンドレコーダを利用
して録音したものです (^_^;).
同じ名前のwaveファイルと入れかえれば,皆さんの声やnative speakerの声と交換
できます.ただし,再配布する時にはもとのファイルは変更せず,皆さんが独自に作成
した音声は,たとえばSounds_meというようなディレクトリに保存して配布するように
してください.録音状態の良いものを油谷にフィードバックしてくだされば,正規版の
音声として採用することも考えています (^_^;).
4.文字データとフォントについて
4.1.概要
ハングルは,基本的には油谷が独自に作成したフォントを用いています.ただし,
第1課のみは,Windowsに移植するに際して,大きな文字の見栄えを良くするために,
CGSの太清朝フォントを利用させていただきました.使用を許可してくださった
CGS株式会社にお礼申し上げます.
4.2.フォントの公開
4.2.1.はじめに
ハングルのコードは,韓国で用いられているKSコード以外に,日本ではパソコンが出
まわり始めたかなり早い時期から日本語と混在できるように独自のコードが使用されてき
ました.油谷自身も研究用に何種類かのコードを使用してきました.
それと同時に,フォントと朝鮮語入力のための仕組みも各社から販売されてきたわけで
すが,油谷は「理論的に可能な全ての文字を表示し,かつ形態素解析にも利用できること」
を目的として独自に開発してきました.「理論的に可能な全ての文字」は11,172種類もあ
り,これらを全て単位文字の形で作るのは,個人の力では不可能ではないにしても非現実
的だし,また膨大な記憶容量を必要とするので,開発当初から要素文字を組み合わせて表
示する方式を採ってきました.
今回はそのフォントのうち,縦長母音字およびそれと組み合わせる縦長子音字のフォン
トと,横長母音字およびそれと組み合わせる横長子音字のフォントを公開します.
全体を一度に公開しないのは,@解説に手間がかかるということと,A原理を理解した
人がより美しく見やすいフォントを作ってフィードバックしてくださることを期待してい
るからです (^_^).元のファイルはHnglFont.txtという名前でDataフォルダに入っていま
す.テキストファイルになっているので,エディタかワープロソフトで読み込んで自由に
編集できます.ただし,保存する時は必ずテキストファイルとして保存してください.
4.2.2.縦長母音字と子音字のフォントと原理
画面に表示される文字は,小さな点の集まりで構成されており,このデータをフォントと
呼びます.画面上で光る点を1に,光らない点を0に対応させると字形を数値で表現でき
るようになります.
ハングルの「フ」は横8ドット,縦16ドットで構成されており,ドットの集合と二進
数と十六進数の数値で表現すると次のようになります.
〈ドット表示〉 〈二進数表示〉 〈十六進数表示)
□□□□□□□□ 00000000 0
□□□□□□□□ 00000000 0
□□□□□□□□ 00000000 0
□□□□□□□□ 00000000 0
□□■■■■■■ 00111111 3F
□□□■□□□■ 00000001 11
□□□□□□■□ 00000010 2
□□□□□□■□ 00000010 2
□□□□□■□□ 00000100 4
□□□□■□□□ 00001000 8
□□□■□□□□ 00010000 10
□□■□□□□□ 00100000 20
□□□□□□□□ 00000000 0
□□□□□□□□ 00000000 0
□□□□□□□□ 00000000 0
□□□□□□□□ 00000000 0
同様にして母音字の「H」は横8ドット,縦16ドットで構成されており,ドットの集
合と二進数と十六進数の数値で表現すると次のようになります.
□□□□□□□□ 00000000 0
□□□□■□□□ 00001000 8
□■□□□■□□ 01000100 44
□□■□□■□□ 00100100 24
□□■□□■□□ 00100100 24
□□■□□■□□ 00100100 24
□□■□□■□□ 00100100 24
□□■■■■□□ 00111100 3C
□□■□□■□□ 00100100 24
□□■□□■□□ 00100100 24
□□■□□■□□ 00100100 24
□□■□□■□□ 00100100 24
□□■□□■□□ 00100100 24
□□■□□■□□ 00100100 24
□□□□□■□□ 00000100 4
□□□□□□□□ 00000000 0
画面上でこの二つのフォントを横に並べると,縦16ドット,横16ドットからなるハ
ングルが描けるというわけです.
フォントファイルから縦長子音字と縦長母音字の該当部分を抜き出すと次のようになり
ます.フォントデータは全て十六進数で保存します.
【縦長子音字】
Giyeog:
0
0
0
0
3F
11
2
2
4
8
10
20
0
0
0
0
Lv_Ae:
0
8
44
24
24
24
24
3C
24
24
24
24
24
24
4
0
自分で作ったフォントを保存する時は,このデータ構造は必ず守ってください.
この構造を守らないと画面のハングル表示が乱れるだけでなく,プログラムが起動でき
なくなることもあります.
4.2.3.横長母音字と子音字のフォントと原理
横長母音字と縦長母音字を組み合わせて表示する場合は,原理が少し異なります。
上記のように単に積み重ねるだけではなく,途中の2ドット分を重ねるようにして表示
します.以下に横長の「フ」をドットの集合と二進数・十六進数の数値で示します.
数えてみればわかるように,縦8ドット・横16ドットで構成されています.
〈ドット表示〉 〈二進数表示〉 〈十六進数表示)
□□□□□□□□□□□□□□□□ 00000000 00000000 0
□□□□□□□□□□□□□□□□ 00000000 00000000 0
□□□■■■■■■■■■■□□□ 00011111 11111000 1FF8
□□□□□□□□□□□□■□□□ 00000000 00001000 8
□□□□□□□□□□□□■□□□ 00000000 00001000 8
□□□□□□□□□□□■□□□□ 00000000 00010000 10
□□□□□□□□□□□■□□□□ 00000000 00010000 10
□□□□□□□□□□□■□□□□ 00000000 00010000 10
次は横長の「⊥」をドットの集合と二進数・十六進数の数値で示したものです.
縦9ドット・横16ドットで構成されています.
〈ドット表示〉 〈二進数表示〉 〈十六進数表示)
□□□□□□□□□□□□□□□□ 00000000 00000000 0
□□□□□□□□■□□□□□□□ 00000000 10000000 80
□□□□□□□□■□□□□□□□ 00000000 10000000 80
□□□□□□□□■□□□□□□□ 00000000 10000000 80
□□□□□□□□■□□□□■□□ 00000000 10000100 84
□□■■■■■■■■■■■■■□ 00111111 11111110 3FFE
□□□■□□□□□□□□□□□□ 00100000 00000000 1000
□□□□□□□□□□□□□□□□ 00000000 00000000 0
□□□□□□□□□□□□□□□□ 00000000 00000000 0
上記の子音データの最後の二行と,母音データの最初の二行を重ねると次のようになり
ます.
□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□
□□□■■■■■■■■■■□□□
□□□□□□□□□□□□■□□□
□□□□□□□□□□□□■□□□
□□□□□□□□□□□■□□□□
□□□□□□□□□□□■□□□□
□□□□□□□□■□□■□□□□
□□□□□□□□■□□□□□□□
□□□□□□□□■□□□□□□□
□□□□□□□□■□□□□■□□
□□■■■■■■■■■■■■■□
□□□■□□□□□□□□□□□□
□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□
横長子音と横長母音のフォントを作る際には,この二行分の重なりを考慮する必要があ
ります.
4.2.4.合成母音字と子音字のフォントと原理
合成母音字と子音字を組み合わせて表示する場合は,上記の2つの原理を組み合わせます.
まず、左上に書かれる「フ」をドットの集合と二進数・十六進数の数値で示します.
数えてみればわかるように,縦10ドット・横8ドットで構成されています.
〈ドット表示〉 〈二進数表示〉 〈十六進数表示)
□□□□□□□□ 00000000 0
□□□□□□□□ 00000000 0
□□□□□□□□ 00000000 0
□□□□□□□□ 00000000 0
□□■■■■■■ 00111111 3F
□□□□□□□■ 00000001 1
□□□□□□□■ 00000001 1
□□□□□□□■ 00000001 1
□□□□□□□■ 00000001 1
□□□□□□□■ 00000001 1
次は横長の「⊥」をドットの集合と二進数・十六進数の数値で示したものです.
縦8ドット・横8ドットで構成されています.
〈ドット表示〉 〈二進数表示〉 〈十六進数表示)
□□□□■□□□ 00001000 8
□□□□■□□□ 00001000 8
□□□□■□□□ 00001000 8
□□□□■□□□ 00001000 8
□□□□■■■■ 00001111 F
□■■■■□□□ 01111000 78
□□□□□□□□ 00000000 0
□□□□□□□□ 00000000 0
右側に書かれる母音字は縦長母音字をそのまま流用します.
上記の子音データの最後の二行と,母音データの最初の二行を重ね,更に右側に縦長
母音字を並べると,次のようになります.
□□□□□□□□□□□□□□□□
□□□□□□□□□□□□■□□□
□□□□□□□□□■□□□■□□
□□□□□□□□□□■□□■□□
□□■■■■■■□□■□□■□□
□□□□□□□■□□■□□■□□
□□□□□□□■□□■□□■□□
□□□□□□□■□□■□□■□□
□□□□□□□■□□■■■■□□
□□□□■□□■□□■□□■□□
□□□□■□□□□□■□□■□□
□□□□■□□□□□■□□■□□
□□□□■□□□□□■□□■□□
□□□□■■■■□□■□□■□□
□■■■■□□□□□■□□■□□
□□□□□□□□□□□□□■□□
□□□□□□□□□□□□□□□□
合成母音字と子音字のフォントを作る際には,この二行分の重なりを考慮する必要があ
ります.
4.3.フォントの確認
自分で作ったフォントが,画面上でどのように表示されるかを確認するには,ヘルプメ
ニューでフォントの表示を選択してください.

4.4.ビットマップフォント
ところで,大きな文字は全てImagesディレクトリにビットマップファイルとして保存
されており,第3章で述べたサウンドデータと同様に取替え可能です.
以下に要領を示しておきます.
1)Windowsのアクセサリに標準でついている「ペイント」を起動する.
2)ツールボックスの「A」をクリックし,画面上でドラックして文字領域を指定する.
3)ハングルモードにして文字を入力する.
4)文字をビットマップファイルとして保存する.
これだけのことです.同じ名前で保存すれば,皆さんの手書き文字や他のフォントと
交換することも可能です.注意事項としては,フォントの大きさは元のファイルと同じ
にしておいたほうが見栄えが良くなると思います.ただし,再配布の時はサウンドと同
様にしてください.
筆順ファイルは,aやbが完成した字形で,これを少し削った字形をa_7やb_7とし,
以下同様に少し削っては小さい番号をつけていきます.
5.History
Ver. 1.00 公開:1999/03/15 (第1課)
Ver. 1.01 公開:1999/04/12 (練習問題の正誤に音声を付ける)
Ver. 1.12 公開:1999/11/08 (古橋様のご指摘により,硬口蓋音のハングル表示の
誤りを修正)
6.参考文献
1)小出俊夫(1998) 『Delphi 3.1 リファレンスガイド』
2)ボーランド株式会社(1997) 『Delphi 3.0 ユーザーズガイド』
3)ボーランド株式会社(1998) 『Delphi 4.0 開発者ガイド』
4)油谷幸利(1982) 「マイクロコンピュータによる朝鮮語の入力と自動印字」
『朝鮮学報』第103輯
5)油谷幸利(1985) 「2バイト系ハングルコードの提案」
『計量国語学』第15巻第1号
6)油谷幸利(1989) 「朝鮮語の同形異語について」『朝鮮学報』第133輯
7)油谷幸利(1994) 「朝鮮語CAIの研究」『朝鮮学報』第153輯
8)油谷幸利(1996) 『朝鮮語入門』ひつじ書房
9)油谷幸利・門脇誠一・松尾勇・高島淑郎(1993) 『朝鮮語辞典』小学館
7.配布条件・免責事項などについて
KWinCAIはフリー・ソフトですが、著作権は油谷にあります。
内容を改変せずにすべてのファイルを同時に配布することを条件に,自由に配布
してくださって構いませんが,一言連絡していただければ幸いです.
バグ情報などありましたら,どしどしお寄せ下さい.ただ,最近は結構忙しいの
で,即座に対応することは難しいと思います.ご了承下さい.
メールの送り先は、
yyutani@mail.doshisha.ac.jp
です。
なお、このプログラムを使用したことによって障害、破損やその他の不具合等が
生じたとしても、私と私の関係者および私の所属するいかなる団体・組織もその責
任は負いませんし、損害の賠償等も一切致しません。
1999/11/08
油谷幸利