以前、韓国語の勉強をした事があって 語学の勉強の積りで付き合って見るか、という態度だったけど、韓国と日本の文化の違いや同じ点を発見したり 言葉だけでなく、色々と興味が湧く。
確かに、取り箸を使わずに銘々が自分の箸を鍋に突っ込んだり、女性が立て膝だったりして あれっと思う事もあるが、家の中でも靴を脱がないような欧米のドラマとは違って、殆どの場面で文化面でも心情面でも日本人には全く違和感なく受け入れられる。単に喋っている言葉が異なるだけである。
それで、また韓国語の勉強をやってみたくなった。字幕に頼らずに聞いて分かる部分がちょっとでも増えれば楽しいから。
ハングル入力
私は地道に単語を覚えたりする事は苦手だが、色々と仕掛けを考えるのは大好きだ。韓国語を勉強するとなると、ハングルをパソコンで書けるようにして置きたい、と思って色々と調べた。日本語の入力には日本語入力メソッドがあるように、韓国語の入力には韓国語入力メソッドがある。これには Windows に元々備わっているものも使えるし、Google Korean Input というものもあるらしい。
しかし、韓国語では もはや漢字は殆ど用いられないから、事実上 ハングルさえ入力出来れば良い。日本語入力のままでハングルが入力出来れば 日本語との混在も楽なのだ。そうすると、日本語の辞書にハングルとその読みを追加する、という方法がある。
読みは最初の文字が半角アルファベットの大文字、残りが半角アルファベットの小文字、という形をとり、アルファベットとハングルの対応は「文化観光部2000年式」に基づく。
「文化観光部2000年式」は、ハングルの読みをアルファベットで表す韓国政府の公式の方法で、韓国中の案内板に書かれているので 覚えておいて損は無い。但し、これは読みを表す方法なので、入力に使うとなると全く同じには出来ない。
それは、ハングルには母音の後にパッチムと呼ばれる子音が付随する場合があるが、そのパッチムの読みには「異なる子音の字母でも同じ読み」となる場合があるからだ。そこで、パッチムの入力コードも母音の前の子音と同じ入力コードを使うように変更する。
ハングルには、最初の子音が18種類、母音が21種類、パッチムが27種類存在する。そして、その組み合わせでハングルの文字の形が定まるので、理屈では(子音とパッチムは無しの場合も含め)全部で (18+1)*21*(27+1)=11,172種類 のハングル文字が存在する事になる。その中で実際には使われていない文字もあるけど、ユニコードではその全てが定義されている。
実は、11,172文字揃った Google日本語入力の辞書用のハングル入力辞書データがネット上に存在していて、有難くダウンロードさせて貰った。しかし、これには著作権は存在しないので、私が自由に改変して公表することも出来る。
辞書を改変する
まず、ᄎ という子音のコード ch について、c も使えるようにデータを追加する。この ᄎ 以外に c は使われていないから h を入力するのは余計な事だとの判断である。今使っているGoogle日本語入力のローマ字変換でも c が ch と同様に使えるようにしているのと合わせたいという気もある。
この改変で 検索と置換 機能で ch を c に変えるだけなら簡単だが、そうすると ch は使えなくなるのでちょっと困る。だから、c 又は C を含んだ行を抜き出してコピーした上でコピーした行の ch を c に、Ch を C に置換しなければならない。
ダウンロードした辞書はGoogleスプレッドシートに入力して加工。コードの先頭にある Ch はソーティングで集まるからコピーは簡単に出来るが、パッチムの ch はコードの先頭には無いから検索で見つけ、その行をコピーし、コピーした行の ch を c に置換する、という作業は手作業になる。それで、幾つかやってみて これでは駄目だと悟った。
それで、簡単に出来るように考えた。要は、c と C を含む行に何か印を付けてそれでソーティングすれば全部が集まるから、コピーして置換するのは一回の操作で済む。
それで、列を一つ増やして、=regexmatch(A1,"[cC]") という関数を一行目に書いた。これを列の最後までコピーすれば、2行目は =regexmatch(A2,"[cC]") というように自動的に数字が置き換えられている。
これで、A列にあるハングル文字コードに c 又は C が含まれている場合は TRUE、含まれてなければ FALSE、という値となり、これでソーティングして、行をコピーし、966行が増えた。因みに、ch を c にしたのが399箇所、Ch を C にしたのが588箇所になる。作業後に関数の列は削除した。
字母も追加
ハングル文字だけならこれでOKだけど、その子音だけ、母音だけ、パッチムだけ、の文字ユニコードで定義されていて、これも欲しい。さっき書いた ᄎ も子音だけの文字なのである。ハングル文字だと 츠 のように必ず母音を含むから、説明上都合の悪い事もあるのだ。
それで、子音、母音、パッチム の字母用のデータを作った。
G | ᄀ | 独立語 | 1100 |
Kk | ᄁ | 独立語 | 1101 |
N | ᄂ | 独立語 | 1102 |
D | ᄃ | 独立語 | 1103 |
Tt | ᄄ | 独立語 | 1104 |
R | ᄅ | 独立語 | 1105 |
M | ᄆ | 独立語 | 1106 |
B | ᄇ | 独立語 | 1107 |
Pp | ᄈ | 独立語 | 1108 |
S | ᄉ | 独立語 | 1109 |
Ss | ᄊ | 独立語 | 110A |
X | ᄋ | 独立語 | 110B |
J | ᄌ | 独立語 | 110C |
Jj | ᄍ | 独立語 | 110D |
Ch | C | ᄎ | 独立語 | 110E |
K | ᄏ | 独立語 | 110F |
T | ᄐ | 独立語 | 1110 |
P | ᄑ | 独立語 | 1111 |
H | ᄒ | 独立語 | 1112 |
Xa | ᅡ | 独立語 | 1161 |
Xae | ᅢ | 独立語 | 1162 |
Xya | ᅣ | 独立語 | 1163 |
Xyae | ᅤ | 独立語 | 1164 |
Xeo | ᅥ | 独立語 | 1165 |
Xe | ᅦ | 独立語 | 1166 |
Xyeo | ᅧ | 独立語 | 1167 |
Xye | ᅨ | 独立語 | 1168 |
Xo | ᅩ | 独立語 | 1169 |
Xwa | ᅪ | 独立語 | 116A |
Xwae | ᅫ | 独立語 | 116B |
Xoe | ᅬ | 独立語 | 116C |
Xyo | ᅭ | 独立語 | 116D |
Xu | ᅮ | 独立語 | 116E |
Xwo | ᅯ | 独立語 | 116F |
Xwe | ᅰ | 独立語 | 1170 |
Xwi | ᅱ | 独立語 | 1171 |
Xyu | ᅲ | 独立語 | 1172 |
Xeu | ᅳ | 独立語 | 1173 |
Xui | ᅴ | 独立語 | 1174 |
Xi | ᅵ | 独立語 | 1175 |
Xg | ᆨ | 独立語 | 11A8 |
Xgg | ᆩ | 独立語 | 11A9 |
Xgs | ᆪ | 独立語 | 11AA |
Xn | ᆫ | 独立語 | 11AB |
Xnj | ᆬ | 独立語 | 11AC |
Xnh | ᆭ | 独立語 | 11AD |
Xd | ᆮ | 独立語 | 11AE |
Xl | ᆯ | 独立語 | 11AF |
Xlg | ᆰ | 独立語 | 11B0 |
Xlm | ᆱ | 独立語 | 11B1 |
Xlb | ᆲ | 独立語 | 11B2 |
Xls | ᆳ | 独立語 | 11B3 |
Xlt | ᆴ | 独立語 | 11B4 |
Xlp | ᆵ | 独立語 | 11B5 |
Xlh | ᆶ | 独立語 | 11B6 |
Xm | ᆷ | 独立語 | 11B7 |
Xb | ᆸ | 独立語 | 11B8 |
Xbs | ᆹ | 独立語 | 11B9 |
Xs | ᆺ | 独立語 | 11BA |
Xss | ᆻ | 独立語 | 11BB |
Xng | ᆼ | 独立語 | 11BC |
Xj | ᆽ | 独立語 | 11BD |
Xch | Xc | ᆾ | 独立語 | 11BE |
Xk | ᆿ | 独立語 | 11BF |
Xt | ᇀ | 独立語 | 11C0 |
Xp | ᇁ | 独立語 | 11C1 |
Xh | ᇂ | 独立語 | 11C2 |
表はGoogle日本語入力の辞書に合わせて、一列目は文字コード、二列目は文字、三列目は品詞、四列目はコメント、になっている。品詞は 全部「独立語」とし、コメントには ユニコードの番号を16進数で書いた。
子音のコードはハングル文字のコード(から母音を除いたもの)と同様だが、子音無しを示す ᄋ (「이응」 イウング という名があるけど) をどうするか悩んだ結果、X にした。
母音のコードはハングル文字と同じに出来ない( ᄋ 抜き)ので、頭にXを加えた。
パッチムのコードも子音のコードと区別する必要があり、頭にXを加えた。
これでOKと思いきや、実際にGoogle日本語入力の辞書にインポートしてみると、何故か最後の行が入力されていない。バグなのか仕様なのか不明だが、辞書の最後にダミーの行を追加する事で回避する。因みに、ダミー行として 「こぶり ハングル 辞書」 として置いた。
これでOKと思いきや、実際にGoogle日本語入力の辞書にインポートしてみると、何故か最後の行が入力されていない。バグなのか仕様なのか不明だが、辞書の最後にダミーの行を追加する事で回避する。因みに、ダミー行として 「こぶり ハングル 辞書」 として置いた。
この改変したGoogle日本語入力用の[ハングル文字辞書ファイル]を公開する。(但し、コメント欄は空白にしてある。)