summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJacob Moody <moody@posixcafe.org>2022-07-17 14:52:11 +0000
committerJacob Moody <moody@posixcafe.org>2022-07-17 14:52:11 +0000
commitc147614656b9c1b4338099a69c35e42c1f4313a5 (patch)
tree7a74217a2dfc87b1896a7256d4a969227cd9f138 /sys
parentccbabf1c16caa4917c97b8d8f5cadfb8759610b3 (diff)
ktrans: 你好
This consolidates jisho and map lookups to use the same structure and removes the old jisho code.
Diffstat (limited to 'sys')
-rw-r--r--sys/src/cmd/ktrans/hash.c210
-rw-r--r--sys/src/cmd/ktrans/hash.h23
-rw-r--r--sys/src/cmd/ktrans/jisho.c211
-rw-r--r--sys/src/cmd/ktrans/jisho.h41
-rw-r--r--sys/src/cmd/ktrans/ktrans.h5685
-rw-r--r--sys/src/cmd/ktrans/main.c265
-rw-r--r--sys/src/cmd/ktrans/mkfile4
7 files changed, 3261 insertions, 3178 deletions
diff --git a/sys/src/cmd/ktrans/hash.c b/sys/src/cmd/ktrans/hash.c
new file mode 100644
index 000000000..dcfa67cdd
--- /dev/null
+++ b/sys/src/cmd/ktrans/hash.c
@@ -0,0 +1,210 @@
+#include <u.h>
+#include <libc.h>
+#include "hash.h"
+
+typedef struct Hnode Hnode;
+struct Hnode {
+ int filled;
+ int next;
+ void *key;
+};
+
+enum{
+ Tagsize = sizeof(Hnode),
+};
+
+uvlong
+shash(char *s)
+{
+ uvlong hash;
+
+ hash = 7;
+ for(; *s; s++)
+ hash = hash*31 + *s;
+ return hash;
+}
+
+Hmap*
+hmapalloc(int nbuckets, int size)
+{
+ void *store;
+ Hmap *h;
+ int nsz;
+
+ nsz = Tagsize + size;
+ store = mallocz(sizeof(*h) + (nbuckets * nsz), 1);
+ if(store == nil)
+ return nil;
+
+ h = store;
+ h->nbs = nbuckets;
+ h->nsz = nsz;
+ h->len = h->cap = nbuckets;
+
+ h->nodes = store;
+ h->nodes += sizeof(*h);
+ return store;
+}
+
+int
+hmapset(Hmap **store, char *key, void *new, void *old)
+{
+ Hnode *n;
+ uchar *v;
+ uchar *oldv;
+ Hmap *h;
+ int next;
+ vlong diff;
+
+ h = *store;
+ oldv = nil;
+ v = h->nodes + (shash(key)%h->nbs) * h->nsz;
+ for(;;){
+ n = (Hnode*)v;
+ next = n->next;
+
+ if(n->filled == 0)
+ goto replace;
+ if(strcmp(n->key, key) == 0){
+ oldv = v + Tagsize;
+ goto replace;
+ }
+ if(next == 0)
+ break;
+ v = h->nodes + next*h->nsz;
+ }
+
+ if(h->cap == h->len){
+ /* figure out way back from a relocation */
+ diff = v - h->nodes;
+
+ h->cap *= 2;
+ *store = realloc(*store, sizeof(*h) + h->cap*h->nsz);
+ h = *store;
+ h->nodes = (uchar*)*store + sizeof(*h);
+ memset(h->nodes + h->len*h->nsz, 0, h->nsz);
+
+ v = h->nodes + diff;
+ n = (Hnode*)v;
+ }
+ n->next = h->len;
+ h->len++;
+ assert(h->len <= h->cap);
+ v = h->nodes + n->next*h->nsz;
+ n = (Hnode*)v;
+
+replace:
+ memmove(v + Tagsize, new, h->nsz - Tagsize);
+ n->filled++;
+ n->key = key;
+ n->next = next;
+ if(old != nil && oldv != nil){
+ memmove(old, oldv, h->nsz - Tagsize);
+ return 1;
+ }
+ return 0;
+}
+
+void*
+_hmapget(Hmap *h, char *key)
+{
+ Hnode *n;
+ uchar *v;
+
+ v = h->nodes + (shash(key)%h->nbs)*h->nsz;
+ for(;;){
+ n = (Hnode*)v;
+ if(n->filled != 0 && strcmp(n->key, key) == 0)
+ return v;
+ if(n->next == 0)
+ break;
+ v = h->nodes + n->next*h->nsz;
+ }
+ return nil;
+}
+
+int
+hmapget(Hmap *h, char *key, void *dst)
+{
+ uchar *v;
+
+ v = _hmapget(h, key);
+ if(v == nil)
+ return -1;
+ if(dst != nil)
+ memmove(dst, v + Tagsize, h->nsz - Tagsize);
+ return 0;
+}
+
+int
+hmapdel(Hmap *h, char *key, void *dst, int freekey)
+{
+ uchar *v;
+ Hnode *n;
+
+ v = _hmapget(h, key);
+ if(v == nil)
+ return -1;
+
+ n = (Hnode*)v;
+ n->filled = 0;
+ if(freekey)
+ free(n->key);
+ if(dst != nil)
+ memmove(dst, v + Tagsize, h->nsz - Tagsize);
+ return 0;
+}
+
+char*
+hmapkey(Hmap *h, char *key)
+{
+ uchar *v;
+ Hnode *n;
+
+ v = _hmapget(h, key);
+ if(v == nil)
+ return nil;
+
+ n = (Hnode*)v;
+ return n->key;
+}
+
+Hmap*
+hmaprehash(Hmap *old, int buckets)
+{
+ int i;
+ uchar *v;
+ Hnode *n;
+ Hmap *new;
+
+ if(buckets == 0)
+ buckets = old->len;
+
+ new = hmapalloc(buckets, old->nsz - Tagsize);
+ for(i=0 ; i < old->len; i++){
+ v = old->nodes + i*old->nsz;
+ n = (Hnode*)v;
+ hmapset(&new, n->key, v + Tagsize, nil);
+ }
+ free(old);
+ return new;
+}
+
+void
+hmapreset(Hmap *h, int freekeys)
+{
+ Hnode *n;
+ uchar *v;
+ int i;
+
+ for(i=0; i < h->len; i++){
+ v = h->nodes + i*h->nsz;
+ n = (Hnode*)v;
+ if(n->filled == 0)
+ continue;
+ if(freekeys)
+ free(n->key);
+ n->filled = 0;
+ }
+ h->len = 0;
+}
diff --git a/sys/src/cmd/ktrans/hash.h b/sys/src/cmd/ktrans/hash.h
new file mode 100644
index 000000000..66e9e78db
--- /dev/null
+++ b/sys/src/cmd/ktrans/hash.h
@@ -0,0 +1,23 @@
+typedef union Hkey Hkey;
+union Hkey {
+ void *p;
+ int v;
+};
+
+typedef struct Hmap Hmap;
+struct Hmap {
+ int nbs;
+ int nsz;
+
+ int len;
+ int cap;
+ uchar *nodes;
+};
+
+Hmap* hmapalloc(int nbuckets, int size);
+int hmapget(Hmap *h, char *key, void *dst);
+int hmapset(Hmap **h, char *key, void *new, void *old);
+int hmapdel(Hmap *h, char *key, void *dst, int freekey);
+void hmapfree(Hmap *h, int freekeys);
+char* hmapkey(Hmap *h, char *key);
+void hmapreset(Hmap *h, int freekeys);
diff --git a/sys/src/cmd/ktrans/jisho.c b/sys/src/cmd/ktrans/jisho.c
deleted file mode 100644
index 0d4f5325e..000000000
--- a/sys/src/cmd/ktrans/jisho.c
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * open jisho file, and set the size of this jisho etc
- *
- * Kenji Okamoto August 4, 2000
- * Osaka Prefecture Univ.
- * okamoto@granite.cias.osakafu-u.ac.jp
- */
-
-#include <u.h>
-#include <libc.h>
-#include <bio.h>
-#include "jisho.h"
-
-Dictionary *openQDIC(char *);
-void freeQDIC(Dictionary*);
-KouhoList *getKouhoHash(Dictionary*, char *);
-KouhoList *getKouhoFile(DicList*, char *);
-void selectKouho(KouhoList **, KouhoList*);
-int hashVal(char *);
-void addHash(Hash **, DicList*);
-
-
-
-/*
- * Open QuickDIC (hashed personal dictionary)
- * open skk styled ktrans dictionary file, and make its hash table
- * based on individual header kana strings
- *
- * KouhoList
- * |---------|
- * Hash |---->kouho---->kouhotop
- * |-------| |
- * dic---->dhash---->dicindex---->kanahead
- * |--------| |--------|
- * Dictionary DicList
- *
- */
-Dictionary *
-openQDIC(char *dicname)
-{
- Biobuf *f;
- void *Bbuf;
- Dictionary *dic;
- DicList *dicitem; /* for a future extension */
- char buf[1024], *startstr, *endstr;
- int i;
-
- SET(dicitem); /* yes, I know I'm wrong, but... */
-
- dic = (Dictionary*)malloc(sizeof(Dictionary));
- /* make room for pointer array (size=HASHSIZE) of hash table */
- for(i=0; i< HASHSIZE; i++) dic->dhash[i] = 0;
- dic->dlist = 0; /* for a future extension (more than one dics ^_^ */
-
- if ((f = Bopen(dicname, OREAD)) == 0)
- return dic;
-
- /* make hash table by the dic's header word */
-
- while(Bbuf = Brdline(f, '\n')) {
- strncpy(buf, (char *)Bbuf, Blinelen(f));
-
- if (buf[0] == ';') /* comment line */
- continue;
- else {
- /* get header word from jisho */
- startstr = buf;
- if(!(endstr = utfutf(startstr, "\t"))) break;
- *endstr = '\0';
- /* dicitem includes each header word from the jisho */
-
- dicitem = (DicList*)malloc(sizeof(DicList)+(endstr-startstr+1));
- dicitem->nextitem = 0; /* for a future extension */
- strcpy(dicitem->kanahead, startstr);
-
- dicitem->kouho = getKouhoFile(dicitem, endstr); /* read kouho from jisho */
- addHash(dic->dhash, dicitem);
- }
- continue;
- }
- dic->dlist = dicitem;
- Bterm(f);
- return dic;
-}
-
-/*
- * free dynamically allocated memory
- */
-void
-freeQDIC(Dictionary *dic)
-{
- Hash *hash1, *hash2;
- DicList *dlist, *dlist2;
- int l;
-
- for (dlist = dic->dlist;
- dlist != 0;
- dlist2 = dlist, dlist = dlist->nextitem, free((void *)dlist2));
- for (l = 0; l < HASHSIZE; l++) {
- for (hash1 = dic->dhash[l]; hash1; hash1 = hash2) {
- if (hash1->next !=0) {
- hash2 = hash1->next;
- free((void *)hash1);
- }else
- break;
- }
- }
- free((void *)dic);
-}
-
-int
-hashVal(char *s)
-{
- uint h;
-
- h = 0x811c9dc5;
- while(*s != 0)
- h = (h^(uchar)*s++) * 0x1000193;
- return h % HASHSIZE;
-}
-
-void
-addHash(Hash **hash, DicList *ditem)
-{
- Hash *h;
- int v;
-
- v = hashVal(ditem->kanahead);
- h = (Hash*)malloc(sizeof(Hash));
- h->dicindex = ditem;
- h->length = strlen(ditem->kanahead);
- h->next = hash[v];
- hash[v] = h;
-}
-
-/*
- * read Kouho list from the jisho file defined by Biobuf descriptor f
- *
- * revised for Plan 9 by K.Okamoto
- */
-KouhoList *
-getKouhoFile(DicList *dicitem, char * endstr)
-{
- char *kouhostart, *kouhoend;
- KouhoList *kouhoitem, *currntkouhoitem=0, *prevkouhoitem;
-
- prevkouhoitem = 0;
- kouhostart = endstr + 1;
- while((kouhoend = utfutf(kouhostart, " ")) ||
- (kouhoend = utfutf(kouhostart, "\n"))) {
- *kouhoend = '\0';
-
- kouhoitem = (KouhoList*)malloc(sizeof(KouhoList)+(kouhoend-kouhostart+1));
- kouhoitem->nextkouho = 0;
- kouhoitem->prevkouho = prevkouhoitem;
- kouhoitem->dicitem = dicitem;
- strcpy(kouhoitem->kouhotop, kouhostart);
- if (prevkouhoitem)
- prevkouhoitem->nextkouho = kouhoitem;
- else
- currntkouhoitem = kouhoitem;
- prevkouhoitem = kouhoitem;
- kouhostart = kouhoend + 1;
- }
- return currntkouhoitem;
-}
-
-/*
- * get matched kouho from the hash table of header word of the dict
- * if found, returns pointer to the first candidate in the hash table.
- * if not found, returns 0.
- *
- * from getCand() in skklib.c by Akinori Ito et al.,(aito@ei5sun.yz.yamagata-u.ac.jp)
- */
-KouhoList *
-getKouhoHash(Dictionary *dic, char *s)
-{
- int l, v;
- Hash *h;
-
- l = strlen(s);
- v = hashVal(s);
- for (h = dic->dhash[v]; h != 0; h = h->next) {
- if (h->length != l ||
- strcmp(h->dicindex->kanahead, s)) continue;
- return h->dicindex->kouho; /* return matched kouho */
- }
- return 0;
-}
-
-/*
- * from skklib.c by Akinori Ito et al.,(aito@ei5sun.yz.yamagata-u.ac.jp)
- * just modified to read easier for current purpose
- */
-void
-selectKouho(KouhoList **first, KouhoList *current)
-{
- /* take off currentkouho from the kouholist table */
- if (current->prevkouho) {
- current->prevkouho->nextkouho = current->nextkouho;
- if (current->nextkouho)
- current->nextkouho->prevkouho = current->prevkouho;
- current->prevkouho = 0;
- }
- /* take place of firstkouho by currentkouho */
- if (*first != current) {
- (*first)->prevkouho = current;
- current->nextkouho = *first;
- *first = current;
- }
-}
diff --git a/sys/src/cmd/ktrans/jisho.h b/sys/src/cmd/ktrans/jisho.h
deleted file mode 100644
index d9d7ca36d..000000000
--- a/sys/src/cmd/ktrans/jisho.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Kenji Okamoto August 4, 2000
- * Osaka Prefecture Univ.
- * okamoto@granite.cias.osakafu-u.ac.jp
- */
-
-#define HASHSIZE 257
-
-/*
- * Structure for Dictionary's header word (in Hiragana)
- */
-typedef struct DicList DicList;
-struct DicList {
- struct KouhoList *kouho;
- struct DicList *nextitem; /* for a future extension */
- char kanahead[1];
-};
-
-/*
- * Structure for Kouho of each index word in the dictionary
- */
-typedef struct KouhoList KouhoList;
-struct KouhoList {
- struct KouhoList *nextkouho;
- struct KouhoList *prevkouho;
- struct DicList *dicitem;
- char kouhotop[1]; /* top of the kouhos */
-} ;
-
-typedef struct Hash Hash;
-struct Hash {
- DicList *dicindex; /* pointer to a KouhoList and kanahead etc */
- short length;
- struct Hash *next;
-};
-
-typedef struct Dictionary Dictionary;
-struct Dictionary {
- DicList *dlist; /* for a future extension, having more than one dictionaries */
- Hash *dhash[HASHSIZE];
-};
diff --git a/sys/src/cmd/ktrans/ktrans.h b/sys/src/cmd/ktrans/ktrans.h
index e2ab7865b..d9f59040f 100644
--- a/sys/src/cmd/ktrans/ktrans.h
+++ b/sys/src/cmd/ktrans/ktrans.h
@@ -2,2863 +2,2870 @@ typedef struct Map Map;
struct Map {
char *roma;
char *kana;
- char advance;
+ char leadstomore;
};
+Hmap *hanzi;
+/* hazi is 'natural' input with explicit inference */
-Map kata[] = {
- "a", "ア", 1,
- "-", "ー", 1,
- "i", "イ", 1,
- "u", "ウ", 1,
- "e", "エ", 1,
- "o", "オ", 1,
- "ka", "カ", 2,
- "ga", "ガ", 2,
- "ki", "キ", 2,
- "kya", "キャ", 3,
- "kyu", "キュ", 3,
- "kyo", "キョ", 3,
- "gi", "ギ", 2,
- "gya", "ギャ", 3,
- "gyu", "ギュ", 3,
- "gyo", "ギョ", 3,
- "ku", "ク", 2,
- "gu", "グ", 2,
- "ke", "ケ", 2,
- "ge", "ゲ", 2,
- "ko", "コ", 2,
- "go", "ゴ", 2,
- "sa", "サ", 2,
- "za", "ザ", 2,
- "si", "シ", 2,
- "shi", "シ", 3,
- "ji", "ジ", 2,
- "sha", "シャ", 3,
- "she", "シェ", 3,
- "shu", "シュ", 3,
- "je", "ジェ", 2,
- "sho", "ショ", 3,
- "syo", "ショ", 3,
- "ja", "ジャ", 2,
- "ju", "ジュ", 2,
- "je", "ジェ", 2,
- "jo", "ジョ", 2,
- "su", "ス", 2,
- "zu", "ズ", 2,
- "se", "セ", 2,
- "ze", "ゼ", 2,
- "so", "ソ", 2,
- "zo", "ゾ", 2,
- "ta", "タ", 2,
- "da", "ダ", 2,
- "ti", "ティ", 2,
- "chi", "チ", 3,
- "zi", "ヂ", 2,
- "cha", "チャ", 3,
- "chu", "チュ", 3,
- "tyu", "チュ", 3,
- "che", "チェ", 3,
- "cho", "チョ", 3,
- "tu", "ツ", 2,
- "tsu", "ツ", 3,
- "du", "ヅ", 2,
- "te", "テ", 2,
- "de", "デ", 2,
- "to", "ト", 2,
- "do", "ド", 2,
- "na", "ナ", 2,
- "ni", "ニ", 2,
- "nya", "ニャ", 3,
- "nyu", "ニュ", 3,
- "nyo", "ニョ", 3,
- "nu", "ヌ", 2,
- "ne", "ネ", 2,
- "no", "ノ", 2,
- "ha", "ハ", 2,
- "ba", "バ", 2,
- "pa", "パ", 2,
- "hi", "ヒ", 2,
- "hya", "ヒャ", 3,
- "hyu", "ヒュ", 3,
- "hyo", "ヒョ", 3,
- "bi", "ビ", 2,
- "bya", "ビャ", 3,
- "byu", "ビュ", 3,
- "byo", "ビョ", 3,
- "pi", "ピ", 2,
- "pya", "ピャ", 3,
- "pyu", "ピュ", 3,
- "pyo", "ピョ", 3,
- "hu", "フ", 2,
- "fu", "フ", 2,
- "bu", "ブ", 2,
- "pu", "プ", 2,
- "he", "ヘ", 2,
- "be", "ベ", 2,
- "pe", "ペ", 2,
- "ho", "ホ", 2,
- "bo", "ボ", 2,
- "po", "ポ", 2,
- "ma", "マ", 2,
- "mi", "ミ", 2,
- "mya", "ミャ", 3,
- "myu", "ミュ", 3,
- "myo", "ミョ", 3,
- "mu", "ム", 2,
- "me", "メ", 2,
- "mo", "モ", 2,
- "ya", "ヤ", 2,
- "yu", "ユ", 2,
- "yo", "ヨ", 2,
- "ra", "ラ", 2,
- "ri", "リ", 2,
- "rya", "リャ", 3,
- "ryu", "リュ", 3,
- "ryo", "リョ", 3,
- "ru", "ル", 2,
- "re", "レ", 2,
- "ro", "ロ", 2,
- "wa", "ワ", 2,
- "wi", "ヰ", 2,
- "we", "ヱ", 2,
- "wo", "ヲ", 2,
- "n", "ン", 1,
- "xn", "ン", 2,
- "v", "ヴ", 1,
- "xa", "ァ", 2,
- "xi", "ィ", 2,
- "xe", "ェ", 2,
- "xo", "ォ", 2,
- "cc", "ッ", 1,
- "dd", "ッ", 1,
- "kk", "ッ", 1,
- "pp", "ッ", 1,
- "tt", "ッ", 1,
- "tch", "ッ", 1,
- "ss", "ッ", 1,
- "xn", "ン", 2,
- "di", "ディ", 2,
- "fa", "ファ", 2,
- "fi", "フィ", 2,
- "fe", "フェ", 2,
- "fo", "フォ", 2,
- "va", "ヴァ", 2,
- "vi", "ヴィ", 2,
- "ve", "ヴェ", 2,
- "vo", "ヴォ", 2,
- ".", "。", 1,
- ",", "、", 1,
+Hmap *kata;
+Map mkata[] = {
+ "a", "ア", 0,
+ "-", "ー", 0,
+ "i", "イ", 0,
+ "u", "ウ", 0,
+ "e", "エ", 0,
+ "o", "オ", 0,
+ "ka", "カ", 0,
+ "ga", "ガ", 0,
+ "ki", "キ", 0,
+ "kya", "キャ", 0,
+ "kyu", "キュ", 0,
+ "kyo", "キョ", 0,
+ "gi", "ギ", 0,
+ "gya", "ギャ", 0,
+ "gyu", "ギュ", 0,
+ "gyo", "ギョ", 0,
+ "ku", "ク", 0,
+ "gu", "グ", 0,
+ "ke", "ケ", 0,
+ "ge", "ゲ", 0,
+ "ko", "コ", 0,
+ "go", "ゴ", 0,
+ "sa", "サ", 0,
+ "za", "ザ", 0,
+ "si", "シ", 0,
+ "shi", "シ", 0,
+ "ji", "ジ", 0,
+ "sha", "シャ", 0,
+ "she", "シェ", 0,
+ "shu", "シュ", 0,
+ "je", "ジェ", 0,
+ "sho", "ショ", 0,
+ "syo", "ショ", 0,
+ "ja", "ジャ", 0,
+ "ju", "ジュ", 0,
+ "je", "ジェ", 0,
+ "jo", "ジョ", 0,
+ "su", "ス", 0,
+ "zu", "ズ", 0,
+ "se", "セ", 0,
+ "ze", "ゼ", 0,
+ "so", "ソ", 0,
+ "zo", "ゾ", 0,
+ "ta", "タ", 0,
+ "da", "ダ", 0,
+ "ti", "ティ", 0,
+ "chi", "チ", 0,
+ "zi", "ヂ", 0,
+ "cha", "チャ", 0,
+ "chu", "チュ", 0,
+ "tyu", "チュ", 0,
+ "che", "チェ", 0,
+ "cho", "チョ", 0,
+ "tu", "ツ", 0,
+ "tsu", "ツ", 0,
+ "du", "ヅ", 0,
+ "te", "テ", 0,
+ "de", "デ", 0,
+ "to", "ト", 0,
+ "do", "ド", 0,
+ "na", "ナ", 0,
+ "ni", "ニ", 0,
+ "nya", "ニャ", 0,
+ "nyu", "ニュ", 0,
+ "nyo", "ニョ", 0,
+ "nu", "ヌ", 0,
+ "ne", "ネ", 0,
+ "no", "ノ", 0,
+ "ha", "ハ", 0,
+ "ba", "バ", 0,
+ "pa", "パ", 0,
+ "hi", "ヒ", 0,
+ "hya", "ヒャ", 0,
+ "hyu", "ヒュ", 0,
+ "hyo", "ヒョ", 0,
+ "bi", "ビ", 0,
+ "bya", "ビャ", 0,
+ "byu", "ビュ", 0,
+ "byo", "ビョ", 0,
+ "pi", "ピ", 0,
+ "pya", "ピャ", 0,
+ "pyu", "ピュ", 0,
+ "pyo", "ピョ", 0,
+ "hu", "フ", 0,
+ "fu", "フ", 0,
+ "bu", "ブ", 0,
+ "pu", "プ", 0,
+ "he", "ヘ", 0,
+ "be", "ベ", 0,
+ "pe", "ペ", 0,
+ "ho", "ホ", 0,
+ "bo", "ボ", 0,
+ "po", "ポ", 0,
+ "ma", "マ", 0,
+ "mi", "ミ", 0,
+ "mya", "ミャ", 0,
+ "myu", "ミュ", 0,
+ "myo", "ミョ", 0,
+ "mu", "ム", 0,
+ "me", "メ", 0,
+ "mo", "モ", 0,
+ "ya", "ヤ", 0,
+ "yu", "ユ", 0,
+ "yo", "ヨ", 0,
+ "ra", "ラ", 0,
+ "ri", "リ", 0,
+ "rya", "リャ", 0,
+ "ryu", "リュ", 0,
+ "ryo", "リョ", 0,
+ "ru", "ル", 0,
+ "re", "レ", 0,
+ "ro", "ロ", 0,
+ "wa", "ワ", 0,
+ "wi", "ヰ", 0,
+ "we", "ヱ", 0,
+ "wo", "ヲ", 0,
+ "n", "ン", 0,
+ "xn", "ン", 0,
+ "v", "ヴ", 0,
+ "xa", "ァ", 0,
+ "xi", "ィ", 0,
+ "xe", "ェ", 0,
+ "xo", "ォ", 0,
+ "cc", "ッ", 0,
+ "dd", "ッ", 0,
+ "kk", "ッ", 0,
+ "pp", "ッ", 0,
+ "tt", "ッ", 0,
+ "tch", "ッ", 0,
+ "ss", "ッ", 0,
+ "xn", "ン", 0,
+ "di", "ディ", 0,
+ "fa", "ファ", 0,
+ "fi", "フィ", 0,
+ "fe", "フェ", 0,
+ "fo", "フォ", 0,
+ "va", "ヴァ", 0,
+ "vi", "ヴィ", 0,
+ "ve", "ヴェ", 0,
+ "vo", "ヴォ", 0,
+ ".", "。", 0,
+ ",", "、", 0,
0
};
-Map hira[] = {
- "a", "あ", 1,
- "-", "ー", 1,
- "i", "い", 1,
- "u", "う", 1,
- "e", "え", 1,
- "o", "お", 1,
- "ka", "か", 2,
- "ga", "が", 2,
- "ki", "き", 2,
- "kya", "きゃ", 3,
- "kyu", "きゅ", 3,
- "kyo", "きょ", 3,
- "gi", "ぎ", 2,
- "gya", "ぎゃ", 3,
- "gyu", "ぎゅ", 3,
- "gyo", "ぎょ", 3,
- "ku", "く", 2,
- "gu", "ぐ", 2,
- "ke", "け", 2,
- "ge", "げ", 2,
- "ko", "こ", 2,
- "go", "ご", 2,
- "sa", "さ", 2,
- "za", "ざ", 2,
- "si", "し", 2,
- "shi", "し", 3,
- "sha", "しゃ", 3,
- "shu", "しゅ", 3,
- "she", "しぇ", 3,
- "sho", "しょ", 3,
- "syo", "しょ", 3,
- "zi", "ぢ", 2,
- "ja", "じゃ", 2,
- "ju", "じゅ", 2,
- "je", "じぇ", 2,
- "jo", "じょ", 2,
- "su", "す", 2,
- "zu", "ず", 2,
- "se", "せ", 2,
- "ze", "ぜ", 2,
- "so", "そ", 2,
- "zo", "ぞ", 2,
- "ta", "た", 2,
- "da", "だ", 2,
- "ti", "ち", 2,
- "chi", "ち", 3,
- "cha", "ちゃ", 3,
- "chu", "ちゅ", 3,
- "tyu", "ちゅ", 3,
- "cho", "ちょ", 3,
- "ji", "じ", 2,
- "tu", "つ", 2,
- "tsu", "つ", 3,
- "du", "づ", 2,
- "te", "て", 2,
- "de", "で", 2,
- "to", "と", 2,
- "do", "ど", 2,
- "na", "な", 2,
- "ni", "に", 2,
- "nya", "にゃ", 3,
- "nyu", "にゅ", 3,
- "nyo", "にょ", 3,
- "nu", "ぬ", 2,
- "ne", "ね", 2,
- "no", "の", 2,
- "ha", "は", 2,
- "ba", "ば", 2,
- "va", "ば", 2,
- "pa", "ぱ", 2,
- "hi", "ひ", 2,
- "hya", "ひゃ", 3,
- "hyu", "ひゅ", 3,
- "hyo", "ひょ", 3,
- "bi", "び", 2,
- "bya", "びゃ", 3,
- "byu", "びゅ", 3,
- "byo", "びょ", 3,
- "vi", "び", 2,
- "pi", "ぴ", 2,
- "pya", "ぴゃ", 3,
- "pyu", "ぴゅ", 3,
- "pyo", "ぴょ", 3,
- "hu", "ふ", 2,
- "fu", "ふ", 2,
- "bu", "ぶ", 2,
- "vu", "ぶ", 2,
- "pu", "ぷ", 2,
- "he", "へ", 2,
- "be", "べ", 2,
- "ve", "べ", 2,
- "pe", "ぺ", 2,
- "ho", "ほ", 2,
- "bo", "ぼ", 2,
- "vo", "ぼ", 2,
- "po", "ぽ", 2,
- "ma", "ま", 2,
- "mi", "み", 2,
- "mya", "みゃ", 3,
- "myu", "みゅ", 3,
- "myo", "みょ", 3,
- "mu", "む", 2,
- "me", "め", 2,
- "mo", "も", 2,
- "ya", "や", 2,
- "yu", "ゆ", 2,
- "yo", "よ", 2,
- "ra", "ら", 2,
- "ri", "り", 2,
- "rya", "りゃ", 3,
- "ryu", "りゅ", 3,
- "ryo", "りょ", 3,
- "ru", "る", 2,
- "re", "れ", 2,
- "ro", "ろ", 2,
- "wa", "わ", 2,
- "wi", "ゐ", 2,
- "we", "ゑ", 2,
- "wo", "を", 2,
- "n", "ん", 1,
- "xn", "ん", 2,
- "v", "\x80", 1,
- "xa", "ぁ", 2,
- "xi", "ぃ", 2,
- "xu", "ぅ", 2,
- "xe", "ぇ", 2,
- "xo", "ぉ", 2,
- "cc", "っ", 1,
- "dd", "っ", 1,
- "kk", "っ", 1,
- "pp", "っ", 1,
- "tt", "っ", 1,
- "ss", "っ", 1,
- ".", "。", 1,
- ",", "、", 1,
+Hmap *hira;
+Map mhira[] = {
+ "a", "あ", 0,
+ "-", "ー", 0,
+ "i", "い", 0,
+ "u", "う", 0,
+ "e", "え", 0,
+ "o", "お", 0,
+ "ka", "か", 0,
+ "ga", "が", 0,
+ "ki", "き", 0,
+ "kya", "きゃ", 0,
+ "kyu", "きゅ", 0,
+ "kyo", "きょ", 0,
+ "gi", "ぎ", 0,
+ "gya", "ぎゃ", 0,
+ "gyu", "ぎゅ", 0,
+ "gyo", "ぎょ", 0,
+ "ku", "く", 0,
+ "gu", "ぐ", 0,
+ "ke", "け", 0,
+ "ge", "げ", 0,
+ "ko", "こ", 0,
+ "go", "ご", 0,
+ "sa", "さ", 0,
+ "za", "ざ", 0,
+ "si", "し", 0,
+ "shi", "し", 0,
+ "sha", "しゃ", 0,
+ "shu", "しゅ", 0,
+ "she", "しぇ", 0,
+ "sho", "しょ", 0,
+ "syo", "しょ", 0,
+ "zi", "ぢ", 0,
+ "ja", "じゃ", 0,
+ "ju", "じゅ", 0,
+ "je", "じぇ", 0,
+ "jo", "じょ", 0,
+ "su", "す", 0,
+ "zu", "ず", 0,
+ "se", "せ", 0,
+ "ze", "ぜ", 0,
+ "so", "そ", 0,
+ "zo", "ぞ", 0,
+ "ta", "た", 0,
+ "da", "だ", 0,
+ "ti", "ち", 0,
+ "chi", "ち", 0,
+ "cha", "ちゃ", 0,
+ "chu", "ちゅ", 0,
+ "tyu", "ちゅ", 0,
+ "cho", "ちょ", 0,
+ "ji", "じ", 0,
+ "tu", "つ", 0,
+ "tsu", "つ", 0,
+ "du", "づ", 0,
+ "te", "て", 0,
+ "de", "で", 0,
+ "to", "と", 0,
+ "do", "ど", 0,
+ "na", "な", 0,
+ "ni", "に", 0,
+ "nya", "にゃ", 0,
+ "nyu", "にゅ", 0,
+ "nyo", "にょ", 0,
+ "nu", "ぬ", 0,
+ "ne", "ね", 0,
+ "no", "の", 0,
+ "ha", "は", 0,
+ "ba", "ば", 0,
+ "va", "ば", 0,
+ "pa", "ぱ", 0,
+ "hi", "ひ", 0,
+ "hya", "ひゃ", 0,
+ "hyu", "ひゅ", 0,
+ "hyo", "ひょ", 0,
+ "bi", "び", 0,
+ "bya", "びゃ", 0,
+ "byu", "びゅ", 0,
+ "byo", "びょ", 0,
+ "vi", "び", 0,
+ "pi", "ぴ", 0,
+ "pya", "ぴゃ", 0,
+ "pyu", "ぴゅ", 0,
+ "pyo", "ぴょ", 0,
+ "hu", "ふ", 0,
+ "fu", "ふ", 0,
+ "bu", "ぶ", 0,
+ "vu", "ぶ", 0,
+ "pu", "ぷ", 0,
+ "he", "へ", 0,
+ "be", "べ", 0,
+ "ve", "べ", 0,
+ "pe", "ぺ", 0,
+ "ho", "ほ", 0,
+ "bo", "ぼ", 0,
+ "vo", "ぼ", 0,
+ "po", "ぽ", 0,
+ "ma", "ま", 0,
+ "mi", "み", 0,
+ "mya", "みゃ", 0,
+ "myu", "みゅ", 0,
+ "myo", "みょ", 0,
+ "mu", "む", 0,
+ "me", "め", 0,
+ "mo", "も", 0,
+ "ya", "や", 0,
+ "yu", "ゆ", 0,
+ "yo", "よ", 0,
+ "ra", "ら", 0,
+ "ri", "り", 0,
+ "rya", "りゃ", 0,
+ "ryu", "りゅ", 0,
+ "ryo", "りょ", 0,
+ "ru", "る", 0,
+ "re", "れ", 0,
+ "ro", "ろ", 0,
+ "wa", "わ", 0,
+ "wi", "ゐ", 0,
+ "we", "ゑ", 0,
+ "wo", "を", 0,
+ "n", "ん", 0,
+ "xn", "ん", 0,
+ "v", "\x80", 0,
+ "xa", "ぁ", 0,
+ "xi", "ぃ", 0,
+ "xu", "ぅ", 0,
+ "xe", "ぇ", 0,
+ "xo", "ぉ", 0,
+ "cc", "っ", 0,
+ "dd", "っ", 0,
+ "kk", "っ", 0,
+ "pp", "っ", 0,
+ "tt", "っ", 0,
+ "ss", "っ", 0,
+ ".", "。", 0,
+ ",", "、", 0,
0,
};
-Map cyril[] = {
- "YO", "Ё", 2,
- "Yo", "Ё", 2,
- "A", "А", 1,
- "B", "Б", 1,
- "V", "В", 1,
- "G", "Г", 1,
- "D", "Д", 1,
- "Ye", "Е", 1,
- "YE", "Е", 2,
- "E", "Е", 1,
- "Zh", "Ж", 2,
- "ZH", "Ж", 2,
- "Z", "З", 1,
- "I", "И", 1,
- "J", "Й", 1,
- "K", "К", 1,
- "L", "Л", 1,
- "M", "М", 1,
- "N", "Н", 1,
- "O", "О", 1,
- "P", "П", 1,
- "R", "Р", 1,
- "S", "С", 1,
- "T", "Т", 1,
- "U", "У", 1,
- "F", "Ф", 1,
- "Kh", "Х", 2,
- "KH", "Х", 2,
- "X", "Х", 1,
- "Ts", "Ц", 2,
- "TS", "Ц", 2,
- "Ch", "Ч", 2,
- "CH", "Ч", 2,
- "Sh", "Ш", 2,
- "SH", "Ш", 2,
+Hmap *cyril;
+Map mcyril[] = {
+ "YO", "Ё", 0,
+ "Yo", "Ё", 0,
+ "A", "А", 0,
+ "B", "Б", 0,
+ "V", "В", 0,
+ "G", "Г", 0,
+ "D", "Д", 0,
+ "Ye", "Е", 0,
+ "YE", "Е", 0,
+ "E", "Е", 0,
+ "Zh", "Ж", 0,
+ "ZH", "Ж", 0,
+ "Z", "З", 0,
+ "I", "И", 0,
+ "J", "Й", 0,
+ "K", "К", 0,
+ "L", "Л", 0,
+ "M", "М", 0,
+ "N", "Н", 0,
+ "O", "О", 0,
+ "P", "П", 0,
+ "R", "Р", 0,
+ "S", "С", 0,
+ "T", "Т", 0,
+ "U", "У", 0,
+ "F", "Ф", 0,
+ "Kh", "Х", 0,
+ "KH", "Х", 0,
+ "X", "Х", 0,
+ "Ts", "Ц", 0,
+ "TS", "Ц", 0,
+ "Ch", "Ч", 0,
+ "CH", "Ч", 0,
+ "Sh", "Ш", 0,
+ "SH", "Ш", 0,
"Shch", "Щ", 4,
"SHCH", "Щ", 4,
- "''", "ъ", 2,
- "Y", "Ы", 1,
- "'", "ь", 1,
- "EH", "Э", 2,
- "Eh", "Э", 2,
- "Yu", "Ю", 2,
- "YU", "Ю", 2,
- "Ya", "Я", 2,
- "YA", "Я", 2,
- "a", "а", 1,
- "b", "б", 1,
- "v", "в", 1,
- "g", "г", 1,
- "d", "д", 1,
- "ye", "е", 2,
- "e", "е", 1,
- "zh", "ж", 2,
- "z", "з", 1,
- "i", "и", 1,
- "j", "й", 1,
- "k", "к", 1,
- "l", "л", 1,
- "m", "м", 1,
- "n", "н", 1,
- "o", "о", 1,
- "p", "п", 1,
- "r", "р", 1,
- "s", "с", 1,
- "t", "т", 1,
- "u", "у", 1,
- "f", "ф", 1,
- "kh", "х", 2,
- "x", "х", 1,
- "ts", "ц", 2,
- "ch", "ч", 2,
- "sh", "ш", 2,
+ "''", "ъ", 0,
+ "Y", "Ы", 0,
+ "'", "ь", 0,
+ "EH", "Э", 0,
+ "Eh", "Э", 0,
+ "Yu", "Ю", 0,
+ "YU", "Ю", 0,
+ "Ya", "Я", 0,
+ "YA", "Я", 0,
+ "a", "а", 0,
+ "b", "б", 0,
+ "v", "в", 0,
+ "g", "г", 0,
+ "d", "д", 0,
+ "ye", "е", 0,
+ "e", "е", 0,
+ "zh", "ж", 0,
+ "z", "з", 0,
+ "i", "и", 0,
+ "j", "й", 0,
+ "k", "к", 0,
+ "l", "л", 0,
+ "m", "м", 0,
+ "n", "н", 0,
+ "o", "о", 0,
+ "p", "п", 0,
+ "r", "р", 0,
+ "s", "с", 0,
+ "t", "т", 0,
+ "u", "у", 0,
+ "f", "ф", 0,
+ "kh", "х", 0,
+ "x", "х", 0,
+ "ts", "ц", 0,
+ "ch", "ч", 0,
+ "sh", "ш", 0,
"shch", "щ", 4,
- "''", "ъ", 2,
- "y", "ы", 1,
- "'", "ь", 1,
- "eh", "э", 2,
- "yu", "ю", 2,
- "ya", "я", 2,
- "yo", "ё", 2,
+ "''", "ъ", 0,
+ "y", "ы", 0,
+ "'", "ь", 0,
+ "eh", "э", 0,
+ "yu", "ю", 0,
+ "ya", "я", 0,
+ "yo", "ё", 0,
0,
};
-Map greek[] = {
- "A", "Α", 1,
- "'A", "Ά", 2,
- "B", "Β", 1,
- "G", "Γ", 1,
- "D", "Δ", 1,
- "E", "Ε", 1,
- "'E", "Έ", 2,
- "Z", "Ζ", 1,
- "E!", "Η", 2,
- "'E!", "Έ", 3,
- "TH", "Θ", 2,
- "Th", "Θ", 2,
- "I", "Ι", 1,
- "'I", "Ί", 2,
- "K", "Κ", 1,
- "L", "Λ", 1,
- "M", "Μ", 1,
- "N", "Ν", 1,
- "KS", "Ξ", 2,
- "Ks", "Ξ", 2,
- "O", "Ο", 1,
- "'O", "Ό", 2,
- "P", "Π", 1,
- "R", "Ρ", 1,
- "S", "Σ", 1,
- "T", "Τ", 1,
- "U", "Υ", 1,
- "'U", "Ύ", 2,
- "F", "Φ", 1,
- "CH", "Χ", 2,
- "Ch", "Χ", 2,
- "PS", "Ψ", 2,
- "Ps", "Ψ", 2,
- "O!", "Ω", 2,
- "W", "Ω", 1,
- "'O!", "Ώ", 3,
- "'W", "Ώ", 2,
- "a", "α", 1,
- "'a", "ά", 2,
- "b", "β", 1,
- "v", "β", 1,
- "g", "γ", 1,
- "d", "δ", 1,
- "e", "ε", 1,
- "'e", "έ", 2,
- "z", "ζ", 1,
- "e!", "η", 2,
- "'e!", "ή", 3,
- "ii", "η", 2,
- "'ii", "ή", 3,
- "h", "η", 1,
- "'h", "ή", 2,
- "th", "θ", 2,
- "i", "ι", 1,
- "'i", "ί", 2,
- "k", "κ", 1,
- "l", "λ", 1,
- "m", "μ", 1,
- "n", "ν", 1,
- "ks", "ξ", 2,
- "x", "ξ", 1,
- "o", "ο", 1,
- "'o", "ό", 2,
- "p", "π", 1,
- "r", "ρ", 1,
- "s ", "ς", 1,
- "s.", "ς", 1,
- "s,", "ς", 1,
- "s\n", "ς", 1,
- "s", "σ", 1,
- "t", "τ", 1,
- "u", "υ", 1,
- "'u", "ΰ", 2,
- "y", "υ", 1,
- "'y", "ΰ", 2,
- "f", "φ", 1,
- "ch", "χ", 2,
- "ps", "ψ", 2,
- "o!", "ω", 2,
- "w", "ω", 1,
- "'o!", "ώ", 3,
- "'w", "ώ", 2,
+Hmap *greek;
+Map mgreek[] = {
+ "A", "Α", 0,
+ "'A", "Ά", 0,
+ "B", "Β", 0,
+ "G", "Γ", 0,
+ "D", "Δ", 0,
+ "E", "Ε", 0,
+ "'E", "Έ", 0,
+ "Z", "Ζ", 0,
+ "E!", "Η", 0,
+ "'E!", "Έ", 0,
+ "TH", "Θ", 0,
+ "Th", "Θ", 0,
+ "I", "Ι", 0,
+ "'I", "Ί", 0,
+ "K", "Κ", 0,
+ "L", "Λ", 0,
+ "M", "Μ", 0,
+ "N", "Ν", 0,
+ "KS", "Ξ", 0,
+ "Ks", "Ξ", 0,
+ "O", "Ο", 0,
+ "'O", "Ό", 0,
+ "P", "Π", 0,
+ "R", "Ρ", 0,
+ "S", "Σ", 0,
+ "T", "Τ", 0,
+ "U", "Υ", 0,
+ "'U", "Ύ", 0,
+ "F", "Φ", 0,
+ "CH", "Χ", 0,
+ "Ch", "Χ", 0,
+ "PS", "Ψ", 0,
+ "Ps", "Ψ", 0,
+ "O!", "Ω", 0,
+ "W", "Ω", 0,
+ "'O!", "Ώ", 0,
+ "'W", "Ώ", 0,
+ "a", "α", 0,
+ "'a", "ά", 0,
+ "b", "β", 0,
+ "v", "β", 0,
+ "g", "γ", 0,
+ "d", "δ", 0,
+ "e", "ε", 0,
+ "'e", "έ", 0,
+ "z", "ζ", 0,
+ "e!", "η", 0,
+ "'e!", "ή", 0,
+ "ii", "η", 0,
+ "'ii", "ή", 0,
+ "h", "η", 0,
+ "'h", "ή", 0,
+ "th", "θ", 0,
+ "i", "ι", 0,
+ "'i", "ί", 0,
+ "k", "κ", 0,
+ "l", "λ", 0,
+ "m", "μ", 0,
+ "n", "ν", 0,
+ "ks", "ξ", 0,
+ "x", "ξ", 0,
+ "o", "ο", 0,
+ "'o", "ό", 0,
+ "p", "π", 0,
+ "r", "ρ", 0,
+ "s ", "ς", 0,
+ "s.", "ς", 0,
+ "s,", "ς", 0,
+ "s\n", "ς", 0,
+ "s", "σ", 0,
+ "t", "τ", 0,
+ "u", "υ", 0,
+ "'u", "ΰ", 0,
+ "y", "υ", 0,
+ "'y", "ΰ", 0,
+ "f", "φ", 0,
+ "ch", "χ", 0,
+ "ps", "ψ", 0,
+ "o!", "ω", 0,
+ "w", "ω", 0,
+ "'o!", "ώ", 0,
+ "'w", "ώ", 0,
0
};
-Map hangul[] = {
- "A", "A", 1,
- "B", "ㅟ", 1,
- "C", "ㅊ", 1,
- "E", "ㄸ", 1,
- "F", "F", 1,
- "G", "G", 1,
- "H", "ㅙ", 1,
- "J", "ㅝ", 1,
- "K", "ㅘ", 1,
- "L", "ㅚ", 1,
- "M", "ㅢ", 1,
- "N", "ㅞ", 1,
- "O", "ㅒ", 1,
- "P", "ㅖ", 1,
- "Q", "ㅃ", 1,
- "R", "ㄲ", 1,
- "S", "S", 1,
- "T", "ㅆ", 1,
- "V", "V", 1,
- "W", "ㅉ", 1,
- "a", "ㅁ", 1,
- "b", "ㅠ", 1,
- "c", "c", 1,
- "d", "ㅇ", 1,
- "e", "ㄷ", 1,
- "f", "ㄹ", 1,
- "g", "ㅎ", 1,
- "h", "ㅗ", 1,
- "i", "ㅑ", 1,
- "j", "ㅓ", 1,
- "k", "ㅏ", 1,
- "l", "ㅣ", 1,
- "m", "ㅡ", 1,
- "n", "ㅜ", 1,
- "o", "ㅐ", 1,
- "p", "ㅔ", 1,
- "q", "ㅂ", 1,
- "r", "ㄱ", 1,
- "s", "ㄴ", 1,
- "t", "t", 1,
- "u", "ㅕ", 1,
- "v", "ㅍ", 1,
- "w", "ㅈ", 1,
- "x", "ㅌ", 1,
- "y", "ㅛ", 1,
- "z", "ㅋ", 1,
- "rk", "가", 2,
- "ro", "개", 2,
- "ri", "갸", 2,
- "rO", "걔", 2,
- "rj", "거", 2,
- "rp", "게", 2,
- "ru", "겨", 2,
- "rP", "계", 2,
- "rh", "고", 2,
- "rK", "과", 2,
- "rH", "괘", 2,
- "rL", "괴", 2,
- "ry", "교", 2,
- "rn", "구", 2,
- "rJ", "궈", 2,
- "rN", "궤", 2,
- "rB", "귀", 2,
- "rb", "규", 2,
- "rm", "그", 2,
- "rM", "긔", 2,
- "rl", "기", 2,
- "Rk", "까", 2,
- "Ro", "깨", 2,
- "Ri", "꺄", 2,
- "Rj", "꺼", 2,
- "Rp", "께", 2,
- "Ru", "껴", 2,
- "RP", "꼐", 2,
- "Rh", "꼬", 2,
- "RK", "꽈", 2,
- "RH", "꽤", 2,
- "RL", "꾀", 2,
- "Ry", "꾜", 2,
- "Rn", "꾸", 2,
- "RJ", "꿔", 2,
- "RN", "꿰", 2,
- "RB", "뀌", 2,
- "Rb", "뀨", 2,
- "Rm", "끄", 2,
- "Rl", "끼", 2,
- "sk", "나", 2,
- "so", "내", 2,
- "si", "냐", 2,
- "sj", "너", 2,
- "sp", "네", 2,
- "su", "녀", 2,
- "sP", "녜", 2,
- "sh", "노", 2,
- "sK", "놔", 2,
- "sL", "뇌", 2,
- "sy", "뇨", 2,
- "sn", "누", 2,
- "sJ", "눠", 2,
- "sN", "눼", 2,
- "sB", "뉘", 2,
- "sb", "뉴", 2,
- "sm", "느", 2,
- "sM", "늬", 2,
- "sl", "니", 2,
- "ek", "다", 2,
- "eo", "대", 2,
- "ei", "댜", 2,
- "ej", "더", 2,
- "ep", "데", 2,
- "eu", "뎌", 2,
- "eP", "뎨", 2,
- "eh", "도", 2,
- "eK", "돠", 2,
- "eH", "돼", 2,
- "eL", "되", 2,
- "ey", "됴", 2,
- "en", "두", 2,
- "eJ", "둬", 2,
- "eN", "뒈", 2,
- "eB", "뒤", 2,
- "eb", "듀", 2,
- "em", "드", 2,
- "eM", "듸", 2,
- "el", "디", 2,
- "Ek", "따", 2,
- "Eo", "때", 2,
- "Ej", "떠", 2,
- "Ep", "떼", 2,
- "Eu", "뗘", 2,
- "Eh", "또", 2,
- "EK", "똬", 2,
- "EH", "뙈", 2,
- "EL", "뙤", 2,
- "En", "뚜", 2,
- "EN", "뛔", 2,
- "EB", "뛰", 2,
- "Em", "뜨", 2,
- "EM", "띄", 2,
- "El", "띠", 2,
- "fk", "라", 2,
- "fo", "래", 2,
- "fi", "랴", 2,
- "fj", "러", 2,
- "fp", "레", 2,
- "fu", "려", 2,
- "fP", "례", 2,
- "fh", "로", 2,
- "fK", "롸", 2,
- "fL", "뢰", 2,
- "fy", "료", 2,
- "fn", "루", 2,
- "fJ", "뤄", 2,
- "fN", "뤠", 2,
- "fB", "뤼", 2,
- "fb", "류", 2,
- "fm", "르", 2,
- "fl", "리", 2,
- "ak", "마", 2,
- "ao", "매", 2,
- "ai", "먀", 2,
- "aj", "머", 2,
- "ap", "메", 2,
- "au", "며", 2,
- "aP", "몌", 2,
- "ah", "모", 2,
- "aK", "뫄", 2,
- "aL", "뫼", 2,
- "ay", "묘", 2,
- "an", "무", 2,
- "aJ", "뭐", 2,
- "aN", "뭬", 2,
- "aB", "뮈", 2,
- "ab", "뮤", 2,
- "am", "므", 2,
- "al", "미", 2,
- "qk", "바", 2,
- "qo", "배", 2,
- "qi", "뱌", 2,
- "qj", "버", 2,
- "qp", "베", 2,
- "qu", "벼", 2,
- "qP", "볘", 2,
- "qh", "보", 2,
- "qK", "봐", 2,
- "qH", "봬", 2,
- "qL", "뵈", 2,
- "qy", "뵤", 2,
- "qn", "부", 2,
- "qJ", "붜", 2,
- "qN", "붸", 2,
- "qB", "뷔", 2,
- "qb", "뷰", 2,
- "qm", "브", 2,
- "ql", "비", 2,
- "Qk", "빠", 2,
- "Qo", "빼", 2,
- "Qi", "뺘", 2,
- "Qj", "뻐", 2,
- "Qp", "뻬", 2,
- "Qu", "뼈", 2,
- "Qh", "뽀", 2,
- "QL", "뾔", 2,
- "Qy", "뾰", 2,
- "Qn", "뿌", 2,
- "Qb", "쀼", 2,
- "Qm", "쁘", 2,
- "Ql", "삐", 2,
- "tk", "사", 2,
- "to", "새", 2,
- "ti", "샤", 2,
- "tO", "섀", 2,
- "tj", "서", 2,
- "tp", "세", 2,
- "tu", "셔", 2,
- "tP", "셰", 2,
- "th", "소", 2,
- "tK", "솨", 2,
- "tH", "쇄", 2,
- "tL", "쇠", 2,
- "ty", "쇼", 2,
- "tn", "수", 2,
- "tJ", "숴", 2,
- "tN", "쉐", 2,
- "tB", "쉬", 2,
- "tb", "슈", 2,
- "tm", "스", 2,
- "tl", "시", 2,
- "Tk", "싸", 2,
- "To", "쌔", 2,
- "Tj", "써", 2,
- "Tp", "쎄", 2,
- "Th", "쏘", 2,
- "TK", "쏴", 2,
- "TH", "쐐", 2,
- "TL", "쐬", 2,
- "Ty", "쑈", 2,
- "Tn", "쑤", 2,
- "TJ", "쒀", 2,
- "TN", "쒜", 2,
- "TB", "쒸", 2,
- "Tm", "쓰", 2,
- "TM", "씌", 2,
- "Tl", "씨", 2,
- "dk", "아", 2,
- "do", "애", 2,
- "di", "야", 2,
- "dO", "얘", 2,
- "dj", "어", 2,
- "dp", "에", 2,
- "du", "여", 2,
- "dP", "예", 2,
- "dh", "오", 2,
- "dK", "와", 2,
- "dH", "왜", 2,
- "dL", "외", 2,
- "dy", "요", 2,
- "dn", "우", 2,
- "dJ", "워", 2,
- "dN", "웨", 2,
- "dB", "위", 2,
- "db", "유", 2,
- "dm", "으", 2,
- "dM", "의", 2,
- "dl", "이", 2,
- "wk", "자", 2,
- "wo", "재", 2,
- "wi", "쟈", 2,
- "wO", "쟤", 2,
- "wj", "저", 2,
- "wp", "제", 2,
- "wu", "져", 2,
- "wP", "졔", 2,
- "wh", "조", 2,
- "wK", "좌", 2,
- "wH", "좨", 2,
- "wL", "죄", 2,
- "wy", "죠", 2,
- "wn", "주", 2,
- "wJ", "줘", 2,
- "wN", "줴", 2,
- "wB", "쥐", 2,
- "wb", "쥬", 2,
- "wm", "즈", 2,
- "wl", "지", 2,
- "Wk", "짜", 2,
- "Wo", "째", 2,
- "Wi", "쨔", 2,
- "Wj", "쩌", 2,
- "Wp", "쩨", 2,
- "Wu", "쪄", 2,
- "Wh", "쪼", 2,
- "WK", "쫘", 2,
- "WH", "쫴", 2,
- "WL", "쬐", 2,
- "Wn", "쭈", 2,
- "WJ", "쭤", 2,
- "WB", "쮜", 2,
- "Wb", "쮸", 2,
- "Wm", "쯔", 2,
- "Wl", "찌", 2,
- "ck", "차", 2,
- "co", "채", 2,
- "ci", "챠", 2,
- "cj", "처", 2,
- "cp", "체", 2,
- "cu", "쳐", 2,
- "cP", "쳬", 2,
- "ch", "초", 2,
- "cK", "촤", 2,
- "cL", "최", 2,
- "cy", "쵸", 2,
- "cn", "추", 2,
- "cJ", "춰", 2,
- "cN", "췌", 2,
- "cB", "취", 2,
- "cb", "츄", 2,
- "cm", "츠", 2,
- "cl", "치", 2,
- "zk", "카", 2,
- "zo", "캐", 2,
- "zi", "캬", 2,
- "zj", "커", 2,
- "zp", "케", 2,
- "zu", "켜", 2,
- "zP", "켸", 2,
- "zh", "코", 2,
- "zK", "콰", 2,
- "zH", "쾌", 2,
- "zL", "쾨", 2,
- "zy", "쿄", 2,
- "zn", "쿠", 2,
- "zJ", "쿼", 2,
- "zN", "퀘", 2,
- "zB", "퀴", 2,
- "zb", "큐", 2,
- "zm", "크", 2,
- "zl", "키", 2,
- "xk", "타", 2,
- "xo", "태", 2,
- "xi", "탸", 2,
- "xj", "터", 2,
- "xp", "테", 2,
- "xu", "텨", 2,
- "xP", "톄", 2,
- "xh", "토", 2,
- "xK", "톼", 2,
- "xH", "퇘", 2,
- "xL", "퇴", 2,
- "xy", "툐", 2,
- "xn", "투", 2,
- "xJ", "퉈", 2,
- "xN", "퉤", 2,
- "xB", "튀", 2,
- "xb", "튜", 2,
- "xm", "트", 2,
- "xM", "틔", 2,
- "xl", "티", 2,
- "vk", "파", 2,
- "vo", "패", 2,
- "vi", "퍄", 2,
- "vj", "퍼", 2,
- "vp", "페", 2,
- "vu", "펴", 2,
- "vP", "폐", 2,
- "vh", "포", 2,
- "vK", "퐈", 2,
- "vL", "푀", 2,
- "vy", "표", 2,
- "vn", "푸", 2,
- "vJ", "풔", 2,
- "vB", "퓌", 2,
- "vb", "퓨", 2,
- "vm", "프", 2,
- "vl", "피", 2,
- "gk", "하", 2,
- "go", "해", 2,
- "gi", "햐", 2,
- "gj", "허", 2,
- "gp", "헤", 2,
- "gu", "혀", 2,
- "gP", "혜", 2,
- "gh", "호", 2,
- "gK", "화", 2,
- "gH", "홰", 2,
- "gL", "회", 2,
- "gy", "효", 2,
- "gn", "후", 2,
- "gJ", "훠", 2,
- "gN", "훼", 2,
- "gB", "휘", 2,
- "gb", "휴", 2,
- "gm", "흐", 2,
- "gM", "희", 2,
- "gl", "히", 2,
- "rkr", "각", 3,
- "rks", "간", 3,
- "rke", "갇", 3,
- "rkf", "갈", 3,
- "rkG", "갉", 3,
- "rkM", "갊", 3,
- "rka", "감", 3,
- "rkq", "갑", 3,
- "rkC", "값", 3,
- "rkt", "갓", 3,
- "rkT", "갔", 3,
- "rkd", "강", 3,
- "rkw", "갖", 3,
- "rkc", "갗", 3,
- "rkx", "같", 3,
- "rkv", "갚", 3,
- "rkg", "갛", 3,
- "ror", "객", 3,
- "ros", "갠", 3,
- "rof", "갤", 3,
- "roa", "갬", 3,
- "roq", "갭", 3,
- "rot", "갯", 3,
- "roT", "갰", 3,
- "rod", "갱", 3,
- "rir", "갹", 3,
- "ris", "갼", 3,
- "rif", "걀", 3,
- "rit", "걋", 3,
- "rid", "걍", 3,
- "rOs", "걘", 3,
- "rOf", "걜", 3,
- "rjr", "걱", 3,
- "rjs", "건", 3,
- "rje", "걷", 3,
- "rjf", "걸", 3,
- "rjM", "걺", 3,
- "rja", "검", 3,
- "rjq", "겁", 3,
- "rjt", "것", 3,
- "rjT", "겄", 3,
- "rjd", "겅", 3,
- "rjw", "겆", 3,
- "rjx", "겉", 3,
- "rjv", "겊", 3,
- "rjg", "겋", 3,
- "rps", "겐", 3,
- "rpf", "겔", 3,
- "rpa", "겜", 3,
- "rpq", "겝", 3,
- "rpt", "겟", 3,
- "rpT", "겠", 3,
- "rpd", "겡", 3,
- "rur", "격", 3,
- "ruR", "겪", 3,
- "rus", "견", 3,
- "rue", "겯", 3,
- "ruf", "결", 3,
- "rua", "겸", 3,
- "ruq", "겹", 3,
- "rut", "겻", 3,
- "ruT", "겼", 3,
- "rud", "경", 3,
- "rux", "곁", 3,
- "rPs", "곈", 3,
- "rPf", "곌", 3,
- "rPq", "곕", 3,
- "rPt", "곗", 3,
- "rhr", "곡", 3,
- "rhs", "곤", 3,
- "rhe", "곧", 3,
- "rhf", "골", 3,
- "rhM", "곪", 3,
- "rhN", "곬", 3,
- "rhF", "곯", 3,
- "rha", "곰", 3,
- "rhq", "곱", 3,
- "rht", "곳", 3,
- "rhd", "공", 3,
- "rhw", "곶", 3,
- "rKr", "곽", 3,
- "rKs", "관", 3,
- "rKf", "괄", 3,
- "rKM", "괆", 3,
- "rKa", "괌", 3,
- "rKq", "괍", 3,
- "rKt", "괏", 3,
- "rKd", "광", 3,
- "rHs", "괜", 3,
- "rHf", "괠", 3,
- "rHq", "괩", 3,
- "rHT", "괬", 3,
- "rHd", "괭", 3,
- "rLr", "괵", 3,
- "rLs", "괸", 3,
- "rLf", "괼", 3,
- "rLa", "굄", 3,
- "rLq", "굅", 3,
- "rLt", "굇", 3,
- "rLd", "굉", 3,
- "rys", "굔", 3,
- "ryf", "굘", 3,
- "ryq", "굡", 3,
- "ryt", "굣", 3,
- "rnr", "국", 3,
- "rns", "군", 3,
- "rne", "굳", 3,
- "rnf", "굴", 3,
- "rnG", "굵", 3,
- "rnM", "굶", 3,
- "rnF", "굻", 3,
- "rna", "굼", 3,
- "rnq", "굽", 3,
- "rnt", "굿", 3,
- "rnd", "궁", 3,
- "rnw", "궂", 3,
- "rJr", "궉", 3,
- "rJs", "권", 3,
- "rJf", "궐", 3,
- "rJT", "궜", 3,
- "rJd", "궝", 3,
- "rNt", "궷", 3,
- "rBr", "귁", 3,
- "rBs", "귄", 3,
- "rBf", "귈", 3,
- "rBa", "귐", 3,
- "rBq", "귑", 3,
- "rBt", "귓", 3,
- "rbs", "균", 3,
- "rbf", "귤", 3,
- "rmr", "극", 3,
- "rms", "근", 3,
- "rme", "귿", 3,
- "rmf", "글", 3,
- "rmG", "긁", 3,
- "rma", "금", 3,
- "rmq", "급", 3,
- "rmt", "긋", 3,
- "rmd", "긍", 3,
- "rlr", "긱", 3,
- "rls", "긴", 3,
- "rle", "긷", 3,
- "rlf", "길", 3,
- "rlM", "긺", 3,
- "rla", "김", 3,
- "rlq", "깁", 3,
- "rlt", "깃", 3,
- "rld", "깅", 3,
- "rlw", "깆", 3,
- "rlv", "깊", 3,
- "Rkr", "깍", 3,
- "RkR", "깎", 3,
- "Rks", "깐", 3,
- "Rkf", "깔", 3,
- "RkM", "깖", 3,
- "Rka", "깜", 3,
- "Rkq", "깝", 3,
- "Rkt", "깟", 3,
- "RkT", "깠", 3,
- "Rkd", "깡", 3,
- "Rkx", "깥", 3,
- "Ror", "깩", 3,
- "Ros", "깬", 3,
- "Rof", "깰", 3,
- "Roa", "깸", 3,
- "Roq", "깹", 3,
- "Rot", "깻", 3,
- "RoT", "깼", 3,
- "Rod", "깽", 3,
- "Rir", "꺅", 3,
- "Rif", "꺌", 3,
- "Rjr", "꺽", 3,
- "RjR", "꺾", 3,
- "Rjs", "껀", 3,
- "Rjf", "껄", 3,
- "Rja", "껌", 3,
- "Rjq", "껍", 3,
- "Rjt", "껏", 3,
- "RjT", "껐", 3,
- "Rjd", "껑", 3,
- "Rpr", "껙", 3,
- "Rps", "껜", 3,
- "Rpa", "껨", 3,
- "Rpt", "껫", 3,
- "Rpd", "껭", 3,
- "Rus", "껸", 3,
- "Ruf", "껼", 3,
- "Rut", "꼇", 3,
- "RuT", "꼈", 3,
- "Rux", "꼍", 3,
- "Rhr", "꼭", 3,
- "Rhs", "꼰", 3,
- "RhH", "꼲", 3,
- "Rhf", "꼴", 3,
- "Rha", "꼼", 3,
- "Rhq", "꼽", 3,
- "Rht", "꼿", 3,
- "Rhd", "꽁", 3,
- "Rhw", "꽂", 3,
- "Rhc", "꽃", 3,
- "RKr", "꽉", 3,
- "RKf", "꽐", 3,
- "RKT", "꽜", 3,
- "RKd", "꽝", 3,
- "RHr", "꽥", 3,
- "RHd", "꽹", 3,
- "RLs", "꾄", 3,
- "RLf", "꾈", 3,
- "RLa", "꾐", 3,
- "RLq", "꾑", 3,
- "RLd", "꾕", 3,
- "Rnr", "꾹", 3,
- "Rns", "꾼", 3,
- "Rnf", "꿀", 3,
- "RnF", "꿇", 3,
- "Rna", "꿈", 3,
- "Rnq", "꿉", 3,
- "Rnt", "꿋", 3,
- "Rnd", "꿍", 3,
- "Rnw", "꿎", 3,
- "RJf", "꿜", 3,
- "RJT", "꿨", 3,
- "RJd", "꿩", 3,
- "RNr", "꿱", 3,
- "RNs", "꿴", 3,
- "RNf", "꿸", 3,
- "RNa", "뀀", 3,
- "RNq", "뀁", 3,
- "RNT", "뀄", 3,
- "RBs", "뀐", 3,
- "RBf", "뀔", 3,
- "RBa", "뀜", 3,
- "RBq", "뀝", 3,
- "Rmr", "끅", 3,
- "Rms", "끈", 3,
- "RmH", "끊", 3,
- "Rmf", "끌", 3,
- "RmM", "끎", 3,
- "RmF", "끓", 3,
- "Rma", "끔", 3,
- "Rmq", "끕", 3,
- "Rmt", "끗", 3,
- "Rmd", "끙", 3,
- "Rmx", "끝", 3,
- "Rlr", "끽", 3,
- "Rls", "낀", 3,
- "Rlf", "낄", 3,
- "Rla", "낌", 3,
- "Rlq", "낍", 3,
- "Rlt", "낏", 3,
- "Rld", "낑", 3,
- "skr", "낙", 3,
- "skR", "낚", 3,
- "sks", "난", 3,
- "ske", "낟", 3,
- "skf", "날", 3,
- "skG", "낡", 3,
- "skM", "낢", 3,
- "ska", "남", 3,
- "skq", "납", 3,
- "skt", "낫", 3,
- "skT", "났", 3,
- "skd", "낭", 3,
- "skw", "낮", 3,
- "skc", "낯", 3,
- "skx", "낱", 3,
- "skg", "낳", 3,
- "sor", "낵", 3,
- "sos", "낸", 3,
- "sof", "낼", 3,
- "soa", "냄", 3,
- "soq", "냅", 3,
- "sot", "냇", 3,
- "soT", "냈", 3,
- "sod", "냉", 3,
- "sir", "냑", 3,
- "sis", "냔", 3,
- "sif", "냘", 3,
- "sia", "냠", 3,
- "sid", "냥", 3,
- "sjr", "넉", 3,
- "sjS", "넋", 3,
- "sjs", "넌", 3,
- "sjf", "널", 3,
- "sjM", "넒", 3,
- "sjA", "넓", 3,
- "sja", "넘", 3,
- "sjq", "넙", 3,
- "sjt", "넛", 3,
- "sjT", "넜", 3,
- "sjd", "넝", 3,
- "sjg", "넣", 3,
- "spr", "넥", 3,
- "sps", "넨", 3,
- "spf", "넬", 3,
- "spa", "넴", 3,
- "spq", "넵", 3,
- "spt", "넷", 3,
- "spT", "넸", 3,
- "spd", "넹", 3,
- "sur", "녁", 3,
- "sus", "년", 3,
- "suf", "녈", 3,
- "sua", "념", 3,
- "suq", "녑", 3,
- "suT", "녔", 3,
- "sud", "녕", 3,
- "suz", "녘", 3,
- "sPs", "녠", 3,
- "shr", "녹", 3,
- "shs", "논", 3,
- "shf", "놀", 3,
- "shM", "놂", 3,
- "sha", "놈", 3,
- "shq", "놉", 3,
- "sht", "놋", 3,
- "shd", "농", 3,
- "shv", "높", 3,
- "shg", "놓", 3,
- "sKs", "놘", 3,
- "sKf", "놜", 3,
- "sKT", "놨", 3,
- "sLs", "뇐", 3,
- "sLf", "뇔", 3,
- "sLa", "뇜", 3,
- "sLq", "뇝", 3,
- "sLt", "뇟", 3,
- "syr", "뇩", 3,
- "sys", "뇬", 3,
- "syf", "뇰", 3,
- "syq", "뇹", 3,
- "syt", "뇻", 3,
- "syd", "뇽", 3,
- "snr", "눅", 3,
- "sns", "눈", 3,
- "sne", "눋", 3,
- "snf", "눌", 3,
- "sna", "눔", 3,
- "snq", "눕", 3,
- "snt", "눗", 3,
- "snd", "눙", 3,
- "sJT", "눴", 3,
- "sBs", "뉜", 3,
- "sBf", "뉠", 3,
- "sBa", "뉨", 3,
- "sBq", "뉩", 3,
- "sbr", "뉵", 3,
- "sbf", "뉼", 3,
- "sba", "늄", 3,
- "sbq", "늅", 3,
- "sbd", "늉", 3,
- "smr", "늑", 3,
- "sms", "는", 3,
- "smf", "늘", 3,
- "smG", "늙", 3,
- "smM", "늚", 3,
- "sma", "늠", 3,
- "smq", "늡", 3,
- "smt", "늣", 3,
- "smd", "능", 3,
- "smw", "늦", 3,
- "smv", "늪", 3,
- "sMs", "늰", 3,
- "sMf", "늴", 3,
- "slr", "닉", 3,
- "sls", "닌", 3,
- "slf", "닐", 3,
- "slM", "닒", 3,
- "sla", "님", 3,
- "slq", "닙", 3,
- "slt", "닛", 3,
- "sld", "닝", 3,
- "slv", "닢", 3,
- "ekr", "닥", 3,
- "ekR", "닦", 3,
- "eks", "단", 3,
- "eke", "닫", 3,
- "ekf", "달", 3,
- "ekG", "닭", 3,
- "ekM", "닮", 3,
- "ekA", "닯", 3,
- "ekF", "닳", 3,
- "eka", "담", 3,
- "ekq", "답", 3,
- "ekt", "닷", 3,
- "ekT", "닸", 3,
- "ekd", "당", 3,
- "ekw", "닺", 3,
- "ekc", "닻", 3,
- "ekg", "닿", 3,
- "eor", "댁", 3,
- "eos", "댄", 3,
- "eof", "댈", 3,
- "eoa", "댐", 3,
- "eoq", "댑", 3,
- "eot", "댓", 3,
- "eoT", "댔", 3,
- "eod", "댕", 3,
- "ejr", "덕", 3,
- "ejR", "덖", 3,
- "ejs", "던", 3,
- "eje", "덛", 3,
- "ejf", "덜", 3,
- "ejM", "덞", 3,
- "ejA", "덟", 3,
- "eja", "덤", 3,
- "ejq", "덥", 3,
- "ejt", "덧", 3,
- "ejd", "덩", 3,
- "ejc", "덫", 3,
- "ejv", "덮", 3,
- "epr", "덱", 3,
- "eps", "덴", 3,
- "epf", "델", 3,
- "epa", "뎀", 3,
- "epq", "뎁", 3,
- "ept", "뎃", 3,
- "epT", "뎄", 3,
- "epd", "뎅", 3,
- "eus", "뎐", 3,
- "euf", "뎔", 3,
- "euT", "뎠", 3,
- "eud", "뎡", 3,
- "ePs", "뎬", 3,
- "ehr", "독", 3,
- "ehs", "돈", 3,
- "ehe", "돋", 3,
- "ehf", "돌", 3,
- "ehM", "돎", 3,
- "ehN", "돐", 3,
- "eha", "돔", 3,
- "ehq", "돕", 3,
- "eht", "돗", 3,
- "ehd", "동", 3,
- "ehc", "돛", 3,
- "ehx", "돝", 3,
- "eKs", "돤", 3,
- "eKf", "돨", 3,
- "eHT", "됐", 3,
- "eLs", "된", 3,
- "eLf", "될", 3,
- "eLa", "됨", 3,
- "eLq", "됩", 3,
- "eLt", "됫", 3,
- "enr", "둑", 3,
- "ens", "둔", 3,
- "enf", "둘", 3,
- "ena", "둠", 3,
- "enq", "둡", 3,
- "ent", "둣", 3,
- "end", "둥", 3,
- "eJT", "뒀", 3,
- "eNd", "뒝", 3,
- "eBs", "뒨", 3,
- "eBf", "뒬", 3,
- "eBq", "뒵", 3,
- "eBt", "뒷", 3,
- "eBd", "뒹", 3,
- "ebs", "듄", 3,
- "ebf", "듈", 3,
- "eba", "듐", 3,
- "ebd", "듕", 3,
- "emr", "득", 3,
- "ems", "든", 3,
- "eme", "듣", 3,
- "emf", "들", 3,
- "emM", "듦", 3,
- "ema", "듬", 3,
- "emq", "듭", 3,
- "emt", "듯", 3,
- "emd", "등", 3,
- "elr", "딕", 3,
- "els", "딘", 3,
- "ele", "딛", 3,
- "elf", "딜", 3,
- "ela", "딤", 3,
- "elq", "딥", 3,
- "elt", "딧", 3,
- "elT", "딨", 3,
- "eld", "딩", 3,
- "elw", "딪", 3,
- "Ekr", "딱", 3,
- "Eks", "딴", 3,
- "Ekf", "딸", 3,
- "Eka", "땀", 3,
- "Ekq", "땁", 3,
- "Ekt", "땃", 3,
- "EkT", "땄", 3,
- "Ekd", "땅", 3,
- "Ekg", "땋", 3,
- "Eor", "땍", 3,
- "Eos", "땐", 3,
- "Eof", "땔", 3,
- "Eoa", "땜", 3,
- "Eoq", "땝", 3,
- "Eot", "땟", 3,
- "EoT", "땠", 3,
- "Eod", "땡", 3,
- "Ejr", "떡", 3,
- "Ejs", "떤", 3,
- "Ejf", "떨", 3,
- "EjM", "떪", 3,
- "EjA", "떫", 3,
- "Eja", "떰", 3,
- "Ejq", "떱", 3,
- "Ejt", "떳", 3,
- "EjT", "떴", 3,
- "Ejd", "떵", 3,
- "Ejg", "떻", 3,
- "Epr", "떽", 3,
- "Eps", "뗀", 3,
- "Epf", "뗄", 3,
- "Epa", "뗌", 3,
- "Epq", "뗍", 3,
- "Ept", "뗏", 3,
- "EpT", "뗐", 3,
- "Epd", "뗑", 3,
- "EuT", "뗬", 3,
- "Ehr", "똑", 3,
- "Ehs", "똔", 3,
- "Ehf", "똘", 3,
- "Ehd", "똥", 3,
- "EKf", "똴", 3,
- "ELs", "뙨", 3,
- "Enr", "뚝", 3,
- "Ens", "뚠", 3,
- "Enf", "뚤", 3,
- "EnF", "뚫", 3,
- "Ena", "뚬", 3,
- "End", "뚱", 3,
- "EBs", "뛴", 3,
- "EBf", "뛸", 3,
- "EBa", "뜀", 3,
- "EBq", "뜁", 3,
- "EBd", "뜅", 3,
- "Emr", "뜩", 3,
- "Ems", "뜬", 3,
- "Eme", "뜯", 3,
- "Emf", "뜰", 3,
- "Ema", "뜸", 3,
- "Emq", "뜹", 3,
- "Emt", "뜻", 3,
- "EMs", "띈", 3,
- "EMf", "띌", 3,
- "EMa", "띔", 3,
- "EMq", "띕", 3,
- "Els", "띤", 3,
- "Elf", "띨", 3,
- "Ela", "띰", 3,
- "Elq", "띱", 3,
- "Elt", "띳", 3,
- "Eld", "띵", 3,
- "fkr", "락", 3,
- "fks", "란", 3,
- "fkf", "랄", 3,
- "fka", "람", 3,
- "fkq", "랍", 3,
- "fkt", "랏", 3,
- "fkT", "랐", 3,
- "fkd", "랑", 3,
- "fkw", "랒", 3,
- "fkv", "랖", 3,
- "fkg", "랗", 3,
- "for", "랙", 3,
- "fos", "랜", 3,
- "fof", "랠", 3,
- "foa", "램", 3,
- "foq", "랩", 3,
- "fot", "랫", 3,
- "foT", "랬", 3,
- "fod", "랭", 3,
- "fir", "략", 3,
- "fis", "랸", 3,
- "fit", "럇", 3,
- "fid", "량", 3,
- "fjr", "럭", 3,
- "fjs", "런", 3,
- "fjf", "럴", 3,
- "fja", "럼", 3,
- "fjq", "럽", 3,
- "fjt", "럿", 3,
- "fjT", "렀", 3,
- "fjd", "렁", 3,
- "fjg", "렇", 3,
- "fpr", "렉", 3,
- "fps", "렌", 3,
- "fpf", "렐", 3,
- "fpa", "렘", 3,
- "fpq", "렙", 3,
- "fpt", "렛", 3,
- "fpd", "렝", 3,
- "fur", "력", 3,
- "fus", "련", 3,
- "fuf", "렬", 3,
- "fua", "렴", 3,
- "fuq", "렵", 3,
- "fut", "렷", 3,
- "fuT", "렸", 3,
- "fud", "령", 3,
- "fPs", "롄", 3,
- "fPq", "롑", 3,
- "fPt", "롓", 3,
- "fhr", "록", 3,
- "fhs", "론", 3,
- "fhf", "롤", 3,
- "fha", "롬", 3,
- "fhq", "롭", 3,
- "fht", "롯", 3,
- "fhd", "롱", 3,
- "fKs", "롼", 3,
- "fKd", "뢍", 3,
- "fHT", "뢨", 3,
- "fLs", "뢴", 3,
- "fLf", "뢸", 3,
- "fLa", "룀", 3,
- "fLq", "룁", 3,
- "fLt", "룃", 3,
- "fLd", "룅", 3,
- "fys", "룐", 3,
- "fyf", "룔", 3,
- "fyq", "룝", 3,
- "fyt", "룟", 3,
- "fyd", "룡", 3,
- "fnr", "룩", 3,
- "fns", "룬", 3,
- "fnf", "룰", 3,
- "fna", "룸", 3,
- "fnq", "룹", 3,
- "fnt", "룻", 3,
- "fnd", "룽", 3,
- "fJT", "뤘", 3,
- "fBr", "뤽", 3,
- "fBs", "륀", 3,
- "fBf", "륄", 3,
- "fBa", "륌", 3,
- "fBt", "륏", 3,
- "fBd", "륑", 3,
- "fbr", "륙", 3,
- "fbs", "륜", 3,
- "fbf", "률", 3,
- "fba", "륨", 3,
- "fbq", "륩", 3,
- "fbt", "륫", 3,
- "fbd", "륭", 3,
- "fmr", "륵", 3,
- "fms", "른", 3,
- "fmf", "를", 3,
- "fma", "름", 3,
- "fmq", "릅", 3,
- "fmt", "릇", 3,
- "fmd", "릉", 3,
- "fmw", "릊", 3,
- "fmx", "릍", 3,
- "fmv", "릎", 3,
- "flr", "릭", 3,
- "fls", "린", 3,
- "flf", "릴", 3,
- "fla", "림", 3,
- "flq", "립", 3,
- "flt", "릿", 3,
- "fld", "링", 3,
- "akr", "막", 3,
- "aks", "만", 3,
- "akH", "많", 3,
- "ake", "맏", 3,
- "akf", "말", 3,
- "akG", "맑", 3,
- "akM", "맒", 3,
- "aka", "맘", 3,
- "akq", "맙", 3,
- "akt", "맛", 3,
- "akd", "망", 3,
- "akw", "맞", 3,
- "akx", "맡", 3,
- "akg", "맣", 3,
- "aor", "맥", 3,
- "aos", "맨", 3,
- "aof", "맬", 3,
- "aoa", "맴", 3,
- "aoq", "맵", 3,
- "aot", "맷", 3,
- "aoT", "맸", 3,
- "aod", "맹", 3,
- "aow", "맺", 3,
- "air", "먁", 3,
- "aif", "먈", 3,
- "aid", "먕", 3,
- "ajr", "먹", 3,
- "ajs", "먼", 3,
- "ajf", "멀", 3,
- "ajM", "멂", 3,
- "aja", "멈", 3,
- "ajq", "멉", 3,
- "ajt", "멋", 3,
- "ajd", "멍", 3,
- "ajw", "멎", 3,
- "ajg", "멓", 3,
- "apr", "멕", 3,
- "aps", "멘", 3,
- "apf", "멜", 3,
- "apa", "멤", 3,
- "apq", "멥", 3,
- "apt", "멧", 3,
- "apT", "멨", 3,
- "apd", "멩", 3,
- "aur", "멱", 3,
- "aus", "면", 3,
- "auf", "멸", 3,
- "aut", "몃", 3,
- "auT", "몄", 3,
- "aud", "명", 3,
- "auc", "몇", 3,
- "ahr", "목", 3,
- "ahS", "몫", 3,
- "ahs", "몬", 3,
- "ahf", "몰", 3,
- "ahM", "몲", 3,
- "aha", "몸", 3,
- "ahq", "몹", 3,
- "aht", "못", 3,
- "ahd", "몽", 3,
- "aKs", "뫈", 3,
- "aKT", "뫘", 3,
- "aKd", "뫙", 3,
- "aLs", "묀", 3,
- "aLf", "묄", 3,
- "aLq", "묍", 3,
- "aLt", "묏", 3,
- "aLd", "묑", 3,
- "ays", "묜", 3,
- "ayf", "묠", 3,
- "ayq", "묩", 3,
- "ayt", "묫", 3,
- "anr", "묵", 3,
- "anR", "묶", 3,
- "ans", "문", 3,
- "ane", "묻", 3,
- "anf", "물", 3,
- "anG", "묽", 3,
- "anM", "묾", 3,
- "ana", "뭄", 3,
- "anq", "뭅", 3,
- "ant", "뭇", 3,
- "and", "뭉", 3,
- "anx", "뭍", 3,
- "ang", "뭏", 3,
- "aJs", "뭔", 3,
- "aJf", "뭘", 3,
- "aJq", "뭡", 3,
- "aJt", "뭣", 3,
- "aBs", "뮌", 3,
- "aBf", "뮐", 3,
- "abs", "뮨", 3,
- "abf", "뮬", 3,
- "aba", "뮴", 3,
- "abt", "뮷", 3,
- "ams", "믄", 3,
- "amf", "믈", 3,
- "ama", "믐", 3,
- "amt", "믓", 3,
- "alr", "믹", 3,
- "als", "민", 3,
- "ale", "믿", 3,
- "alf", "밀", 3,
- "alM", "밂", 3,
- "ala", "밈", 3,
- "alq", "밉", 3,
- "alt", "밋", 3,
- "alT", "밌", 3,
- "ald", "밍", 3,
- "alc", "및", 3,
- "alx", "밑", 3,
- "qkr", "박", 3,
- "qkR", "밖", 3,
- "qkS", "밗", 3,
- "qks", "반", 3,
- "qke", "받", 3,
- "qkf", "발", 3,
- "qkG", "밝", 3,
- "qkM", "밞", 3,
- "qkA", "밟", 3,
- "qka", "밤", 3,
- "qkq", "밥", 3,
- "qkt", "밧", 3,
- "qkd", "방", 3,
- "qkx", "밭", 3,
- "qor", "백", 3,
- "qos", "밴", 3,
- "qof", "밸", 3,
- "qoa", "뱀", 3,
- "qoq", "뱁", 3,
- "qot", "뱃", 3,
- "qoT", "뱄", 3,
- "qod", "뱅", 3,
- "qox", "뱉", 3,
- "qir", "뱍", 3,
- "qis", "뱐", 3,
- "qiq", "뱝", 3,
- "qjr", "벅", 3,
- "qjs", "번", 3,
- "qje", "벋", 3,
- "qjf", "벌", 3,
- "qjM", "벎", 3,
- "qja", "범", 3,
- "qjq", "법", 3,
- "qjt", "벗", 3,
- "qjd", "벙", 3,
- "qjw", "벚", 3,
- "qpr", "벡", 3,
- "qps", "벤", 3,
- "qpe", "벧", 3,
- "qpf", "벨", 3,
- "qpa", "벰", 3,
- "qpq", "벱", 3,
- "qpt", "벳", 3,
- "qpT", "벴", 3,
- "qpd", "벵", 3,
- "qur", "벽", 3,
- "qus", "변", 3,
- "quf", "별", 3,
- "quq", "볍", 3,
- "qut", "볏", 3,
- "quT", "볐", 3,
- "qud", "병", 3,
- "qux", "볕", 3,
- "qPs", "볜", 3,
- "qhr", "복", 3,
- "qhR", "볶", 3,
- "qhs", "본", 3,
- "qhf", "볼", 3,
- "qha", "봄", 3,
- "qhq", "봅", 3,
- "qht", "봇", 3,
- "qhd", "봉", 3,
- "qKs", "봔", 3,
- "qKT", "봤", 3,
- "qHT", "뵀", 3,
- "qLr", "뵉", 3,
- "qLs", "뵌", 3,
- "qLf", "뵐", 3,
- "qLa", "뵘", 3,
- "qLq", "뵙", 3,
- "qys", "뵨", 3,
- "qnr", "북", 3,
- "qns", "분", 3,
- "qne", "붇", 3,
- "qnf", "불", 3,
- "qnG", "붉", 3,
- "qnM", "붊", 3,
- "qna", "붐", 3,
- "qnq", "붑", 3,
- "qnt", "붓", 3,
- "qnd", "붕", 3,
- "qnx", "붙", 3,
- "qnv", "붚", 3,
- "qJf", "붤", 3,
- "qJT", "붰", 3,
- "qBr", "뷕", 3,
- "qBs", "뷘", 3,
- "qBf", "뷜", 3,
- "qBd", "뷩", 3,
- "qbs", "뷴", 3,
- "qbf", "뷸", 3,
- "qba", "븀", 3,
- "qbt", "븃", 3,
- "qbd", "븅", 3,
- "qmr", "븍", 3,
- "qms", "븐", 3,
- "qmf", "블", 3,
- "qma", "븜", 3,
- "qmq", "븝", 3,
- "qmt", "븟", 3,
- "qlr", "빅", 3,
- "qls", "빈", 3,
- "qlf", "빌", 3,
- "qlM", "빎", 3,
- "qla", "빔", 3,
- "qlq", "빕", 3,
- "qlt", "빗", 3,
- "qld", "빙", 3,
- "qlw", "빚", 3,
- "qlc", "빛", 3,
- "Qkr", "빡", 3,
- "Qks", "빤", 3,
- "Qkf", "빨", 3,
- "QkM", "빪", 3,
- "Qka", "빰", 3,
- "Qkq", "빱", 3,
- "Qkt", "빳", 3,
- "QkT", "빴", 3,
- "Qkd", "빵", 3,
- "Qkg", "빻", 3,
- "Qor", "빽", 3,
- "Qos", "뺀", 3,
- "Qof", "뺄", 3,
- "Qoa", "뺌", 3,
- "Qoq", "뺍", 3,
- "Qot", "뺏", 3,
- "QoT", "뺐", 3,
- "Qod", "뺑", 3,
- "Qir", "뺙", 3,
- "Qia", "뺨", 3,
- "Qjr", "뻑", 3,
- "Qjs", "뻔", 3,
- "Qje", "뻗", 3,
- "Qjf", "뻘", 3,
- "Qja", "뻠", 3,
- "Qjt", "뻣", 3,
- "QjT", "뻤", 3,
- "Qjd", "뻥", 3,
- "Qpd", "뼁", 3,
- "Qur", "뼉", 3,
- "Qua", "뼘", 3,
- "Quq", "뼙", 3,
- "Qut", "뼛", 3,
- "QuT", "뼜", 3,
- "Qud", "뼝", 3,
- "Qhr", "뽁", 3,
- "Qhs", "뽄", 3,
- "Qhf", "뽈", 3,
- "Qha", "뽐", 3,
- "Qhq", "뽑", 3,
- "Qhd", "뽕", 3,
- "Qyd", "뿅", 3,
- "Qnr", "뿍", 3,
- "Qns", "뿐", 3,
- "Qnf", "뿔", 3,
- "Qna", "뿜", 3,
- "Qnt", "뿟", 3,
- "Qnd", "뿡", 3,
- "Qbd", "쁑", 3,
- "Qms", "쁜", 3,
- "Qmf", "쁠", 3,
- "Qma", "쁨", 3,
- "Qmq", "쁩", 3,
- "Qlr", "삑", 3,
- "Qls", "삔", 3,
- "Qlf", "삘", 3,
- "Qla", "삠", 3,
- "Qlq", "삡", 3,
- "Qlt", "삣", 3,
- "Qld", "삥", 3,
- "tkr", "삭", 3,
- "tkS", "삯", 3,
- "tks", "산", 3,
- "tke", "삳", 3,
- "tkf", "살", 3,
- "tkG", "삵", 3,
- "tkM", "삶", 3,
- "tka", "삼", 3,
- "tkq", "삽", 3,
- "tkt", "삿", 3,
- "tkT", "샀", 3,
- "tkd", "상", 3,
- "tkx", "샅", 3,
- "tor", "색", 3,
- "tos", "샌", 3,
- "tof", "샐", 3,
- "toa", "샘", 3,
- "toq", "샙", 3,
- "tot", "샛", 3,
- "toT", "샜", 3,
- "tod", "생", 3,
- "tir", "샥", 3,
- "tis", "샨", 3,
- "tif", "샬", 3,
- "tia", "샴", 3,
- "tiq", "샵", 3,
- "tit", "샷", 3,
- "tid", "샹", 3,
- "tOs", "섄", 3,
- "tOf", "섈", 3,
- "tOa", "섐", 3,
- "tOd", "섕", 3,
- "tjr", "석", 3,
- "tjR", "섞", 3,
- "tjS", "섟", 3,
- "tjs", "선", 3,
- "tje", "섣", 3,
- "tjf", "설", 3,
- "tjM", "섦", 3,
- "tjA", "섧", 3,
- "tja", "섬", 3,
- "tjq", "섭", 3,
- "tjt", "섯", 3,
- "tjT", "섰", 3,
- "tjd", "성", 3,
- "tjv", "섶", 3,
- "tpr", "섹", 3,
- "tps", "센", 3,
- "tpf", "셀", 3,
- "tpa", "셈", 3,
- "tpq", "셉", 3,
- "tpt", "셋", 3,
- "tpT", "셌", 3,
- "tpd", "셍", 3,
- "tur", "셕", 3,
- "tus", "션", 3,
- "tuf", "셜", 3,
- "tua", "셤", 3,
- "tuq", "셥", 3,
- "tut", "셧", 3,
- "tuT", "셨", 3,
- "tud", "셩", 3,
- "tPs", "셴", 3,
- "tPf", "셸", 3,
- "tPd", "솅", 3,
- "thr", "속", 3,
- "thR", "솎", 3,
- "ths", "손", 3,
- "thf", "솔", 3,
- "thM", "솖", 3,
- "tha", "솜", 3,
- "thq", "솝", 3,
- "tht", "솟", 3,
- "thd", "송", 3,
- "thx", "솥", 3,
- "tKr", "솩", 3,
- "tKs", "솬", 3,
- "tKf", "솰", 3,
- "tKd", "솽", 3,
- "tHs", "쇈", 3,
- "tHf", "쇌", 3,
- "tHa", "쇔", 3,
- "tHt", "쇗", 3,
- "tHT", "쇘", 3,
- "tLs", "쇤", 3,
- "tLf", "쇨", 3,
- "tLa", "쇰", 3,
- "tLq", "쇱", 3,
- "tLt", "쇳", 3,
- "tyr", "쇽", 3,
- "tys", "숀", 3,
- "tyf", "숄", 3,
- "tya", "숌", 3,
- "tyq", "숍", 3,
- "tyt", "숏", 3,
- "tyd", "숑", 3,
- "tnr", "숙", 3,
- "tns", "순", 3,
- "tne", "숟", 3,
- "tnf", "술", 3,
- "tna", "숨", 3,
- "tnq", "숩", 3,
- "tnt", "숫", 3,
- "tnd", "숭", 3,
- "tnc", "숯", 3,
- "tnx", "숱", 3,
- "tnv", "숲", 3,
- "tJT", "쉈", 3,
- "tNr", "쉑", 3,
- "tNs", "쉔", 3,
- "tNf", "쉘", 3,
- "tNa", "쉠", 3,
- "tNd", "쉥", 3,
- "tBr", "쉭", 3,
- "tBs", "쉰", 3,
- "tBf", "쉴", 3,
- "tBa", "쉼", 3,
- "tBq", "쉽", 3,
- "tBt", "쉿", 3,
- "tBd", "슁", 3,
- "tbr", "슉", 3,
- "tbf", "슐", 3,
- "tba", "슘", 3,
- "tbt", "슛", 3,
- "tbd", "슝", 3,
- "tmr", "슥", 3,
- "tms", "슨", 3,
- "tmf", "슬", 3,
- "tmG", "슭", 3,
- "tma", "슴", 3,
- "tmq", "습", 3,
- "tmt", "슷", 3,
- "tmd", "승", 3,
- "tlr", "식", 3,
- "tls", "신", 3,
- "tle", "싣", 3,
- "tlf", "실", 3,
- "tlF", "싫", 3,
- "tla", "심", 3,
- "tlq", "십", 3,
- "tlt", "싯", 3,
- "tld", "싱", 3,
- "tlv", "싶", 3,
- "Tkr", "싹", 3,
- "TkS", "싻", 3,
- "Tks", "싼", 3,
- "Tkf", "쌀", 3,
- "Tka", "쌈", 3,
- "Tkq", "쌉", 3,
- "TkT", "쌌", 3,
- "Tkd", "쌍", 3,
- "Tkg", "쌓", 3,
- "Tor", "쌕", 3,
- "Tos", "쌘", 3,
- "Tof", "쌜", 3,
- "Toa", "쌤", 3,
- "Toq", "쌥", 3,
- "ToT", "쌨", 3,
- "Tod", "쌩", 3,
- "Tid", "썅", 3,
- "Tjr", "썩", 3,
- "Tjs", "썬", 3,
- "Tjf", "썰", 3,
- "TjM", "썲", 3,
- "Tja", "썸", 3,
- "Tjq", "썹", 3,
- "TjT", "썼", 3,
- "Tjd", "썽", 3,
- "Tps", "쎈", 3,
- "Tpf", "쎌", 3,
- "TPs", "쏀", 3,
- "Thr", "쏙", 3,
- "Ths", "쏜", 3,
- "The", "쏟", 3,
- "Thf", "쏠", 3,
- "ThM", "쏢", 3,
- "Tha", "쏨", 3,
- "Thq", "쏩", 3,
- "Thd", "쏭", 3,
- "TKr", "쏵", 3,
- "TKs", "쏸", 3,
- "TKT", "쐈", 3,
- "THT", "쐤", 3,
- "TLs", "쐰", 3,
- "TLf", "쐴", 3,
- "TLa", "쐼", 3,
- "TLq", "쐽", 3,
- "Tnr", "쑥", 3,
- "Tns", "쑨", 3,
- "Tnf", "쑬", 3,
- "Tna", "쑴", 3,
- "Tnq", "쑵", 3,
- "Tnd", "쑹", 3,
- "TJT", "쒔", 3,
- "TBs", "쒼", 3,
- "Tbd", "쓩", 3,
- "Tmr", "쓱", 3,
- "Tms", "쓴", 3,
- "Tmf", "쓸", 3,
- "TmM", "쓺", 3,
- "TmF", "쓿", 3,
- "Tma", "씀", 3,
- "Tmq", "씁", 3,
- "TMs", "씐", 3,
- "TMf", "씔", 3,
- "TMa", "씜", 3,
- "Tlr", "씩", 3,
- "Tls", "씬", 3,
- "Tlf", "씰", 3,
- "Tla", "씸", 3,
- "Tlq", "씹", 3,
- "Tlt", "씻", 3,
- "Tld", "씽", 3,
- "dkr", "악", 3,
- "dks", "안", 3,
- "dkJ", "앉", 3,
- "dkH", "않", 3,
- "dkf", "알", 3,
- "dkG", "앍", 3,
- "dkM", "앎", 3,
- "dkF", "앓", 3,
- "dka", "암", 3,
- "dkq", "압", 3,
- "dkt", "앗", 3,
- "dkT", "았", 3,
- "dkd", "앙", 3,
- "dkx", "앝", 3,
- "dkv", "앞", 3,
- "dor", "액", 3,
- "dos", "앤", 3,
- "dof", "앨", 3,
- "doa", "앰", 3,
- "doq", "앱", 3,
- "dot", "앳", 3,
- "doT", "앴", 3,
- "dod", "앵", 3,
- "dir", "약", 3,
- "dis", "얀", 3,
- "dif", "얄", 3,
- "diA", "얇", 3,
- "dia", "얌", 3,
- "diq", "얍", 3,
- "dit", "얏", 3,
- "did", "양", 3,
- "dix", "얕", 3,
- "dig", "얗", 3,
- "dOs", "얜", 3,
- "dOf", "얠", 3,
- "dOq", "얩", 3,
- "djr", "억", 3,
- "djs", "언", 3,
- "djJ", "얹", 3,
- "dje", "얻", 3,
- "djf", "얼", 3,
- "djG", "얽", 3,
- "djM", "얾", 3,
- "dja", "엄", 3,
- "djq", "업", 3,
- "djC", "없", 3,
- "djt", "엇", 3,
- "djT", "었", 3,
- "djd", "엉", 3,
- "djw", "엊", 3,
- "djz", "엌", 3,
- "djv", "엎", 3,
- "dpr", "엑", 3,
- "dps", "엔", 3,
- "dpf", "엘", 3,
- "dpa", "엠", 3,
- "dpq", "엡", 3,
- "dpt", "엣", 3,
- "dpd", "엥", 3,
- "dur", "역", 3,
- "duR", "엮", 3,
- "dus", "연", 3,
- "duf", "열", 3,
- "duM", "엶", 3,
- "duA", "엷", 3,
- "dua", "염", 3,
- "duq", "엽", 3,
- "duC", "엾", 3,
- "dut", "엿", 3,
- "duT", "였", 3,
- "dud", "영", 3,
- "dux", "옅", 3,
- "duv", "옆", 3,
- "dug", "옇", 3,
- "dPs", "옌", 3,
- "dPf", "옐", 3,
- "dPa", "옘", 3,
- "dPq", "옙", 3,
- "dPt", "옛", 3,
- "dPT", "옜", 3,
- "dhr", "옥", 3,
- "dhs", "온", 3,
- "dhf", "올", 3,
- "dhG", "옭", 3,
- "dhM", "옮", 3,
- "dhN", "옰", 3,
- "dhF", "옳", 3,
- "dha", "옴", 3,
- "dhq", "옵", 3,
- "dht", "옷", 3,
- "dhd", "옹", 3,
- "dhc", "옻", 3,
- "dKr", "왁", 3,
- "dKs", "완", 3,
- "dKf", "왈", 3,
- "dKa", "왐", 3,
- "dKq", "왑", 3,
- "dKt", "왓", 3,
- "dKT", "왔", 3,
- "dKd", "왕", 3,
- "dHr", "왝", 3,
- "dHs", "왠", 3,
- "dHa", "왬", 3,
- "dHt", "왯", 3,
- "dHd", "왱", 3,
- "dLr", "왹", 3,
- "dLs", "왼", 3,
- "dLf", "욀", 3,
- "dLa", "욈", 3,
- "dLq", "욉", 3,
- "dLt", "욋", 3,
- "dLd", "욍", 3,
- "dyr", "욕", 3,
- "dys", "욘", 3,
- "dyf", "욜", 3,
- "dya", "욤", 3,
- "dyq", "욥", 3,
- "dyt", "욧", 3,
- "dyd", "용", 3,
- "dnr", "욱", 3,
- "dns", "운", 3,
- "dnf", "울", 3,
- "dnG", "욹", 3,
- "dnM", "욺", 3,
- "dna", "움", 3,
- "dnq", "웁", 3,
- "dnt", "웃", 3,
- "dnd", "웅", 3,
- "dJr", "웍", 3,
- "dJs", "원", 3,
- "dJf", "월", 3,
- "dJa", "웜", 3,
- "dJq", "웝", 3,
- "dJT", "웠", 3,
- "dJd", "웡", 3,
- "dNr", "웩", 3,
- "dNs", "웬", 3,
- "dNf", "웰", 3,
- "dNa", "웸", 3,
- "dNq", "웹", 3,
- "dNd", "웽", 3,
- "dBr", "윅", 3,
- "dBs", "윈", 3,
- "dBf", "윌", 3,
- "dBa", "윔", 3,
- "dBq", "윕", 3,
- "dBt", "윗", 3,
- "dBd", "윙", 3,
- "dbr", "육", 3,
- "dbs", "윤", 3,
- "dbf", "율", 3,
- "dba", "윰", 3,
- "dbq", "윱", 3,
- "dbt", "윳", 3,
- "dbd", "융", 3,
- "dbc", "윷", 3,
- "dmr", "윽", 3,
- "dms", "은", 3,
- "dmf", "을", 3,
- "dmV", "읊", 3,
- "dma", "음", 3,
- "dmq", "읍", 3,
- "dmt", "읏", 3,
- "dmd", "응", 3,
- "dmw", "읒", 3,
- "dmc", "읓", 3,
- "dmz", "읔", 3,
- "dmx", "읕", 3,
- "dmv", "읖", 3,
- "dmg", "읗", 3,
- "dMs", "읜", 3,
- "dMf", "읠", 3,
- "dMa", "읨", 3,
- "dMt", "읫", 3,
- "dlr", "익", 3,
- "dls", "인", 3,
- "dlf", "일", 3,
- "dlG", "읽", 3,
- "dlM", "읾", 3,
- "dlF", "잃", 3,
- "dla", "임", 3,
- "dlq", "입", 3,
- "dlt", "잇", 3,
- "dlT", "있", 3,
- "dld", "잉", 3,
- "dlw", "잊", 3,
- "dlv", "잎", 3,
- "wkr", "작", 3,
- "wks", "잔", 3,
- "wkH", "잖", 3,
- "wke", "잗", 3,
- "wkf", "잘", 3,
- "wkM", "잚", 3,
- "wka", "잠", 3,
- "wkq", "잡", 3,
- "wkt", "잣", 3,
- "wkT", "잤", 3,
- "wkd", "장", 3,
- "wkw", "잦", 3,
- "wor", "잭", 3,
- "wos", "잰", 3,
- "wof", "잴", 3,
- "woa", "잼", 3,
- "woq", "잽", 3,
- "wot", "잿", 3,
- "woT", "쟀", 3,
- "wod", "쟁", 3,
- "wir", "쟉", 3,
- "wis", "쟌", 3,
- "wiH", "쟎", 3,
- "wif", "쟐", 3,
- "wia", "쟘", 3,
- "wid", "쟝", 3,
- "wOs", "쟨", 3,
- "wOf", "쟬", 3,
- "wjr", "적", 3,
- "wjs", "전", 3,
- "wjf", "절", 3,
- "wjM", "젊", 3,
- "wja", "점", 3,
- "wjq", "접", 3,
- "wjt", "젓", 3,
- "wjd", "정", 3,
- "wjw", "젖", 3,
- "wpr", "젝", 3,
- "wps", "젠", 3,
- "wpf", "젤", 3,
- "wpa", "젬", 3,
- "wpq", "젭", 3,
- "wpt", "젯", 3,
- "wpd", "젱", 3,
- "wus", "젼", 3,
- "wuf", "졀", 3,
- "wua", "졈", 3,
- "wuq", "졉", 3,
- "wuT", "졌", 3,
- "wud", "졍", 3,
- "whr", "족", 3,
- "whs", "존", 3,
- "whf", "졸", 3,
- "whM", "졺", 3,
- "wha", "좀", 3,
- "whq", "좁", 3,
- "wht", "좃", 3,
- "whd", "종", 3,
- "whw", "좆", 3,
- "whc", "좇", 3,
- "whg", "좋", 3,
- "wKr", "좍", 3,
- "wKf", "좔", 3,
- "wKq", "좝", 3,
- "wKt", "좟", 3,
- "wKd", "좡", 3,
- "wHT", "좼", 3,
- "wHd", "좽", 3,
- "wLs", "죈", 3,
- "wLf", "죌", 3,
- "wLa", "죔", 3,
- "wLq", "죕", 3,
- "wLt", "죗", 3,
- "wLd", "죙", 3,
- "wyr", "죡", 3,
- "wys", "죤", 3,
- "wyd", "죵", 3,
- "wnr", "죽", 3,
- "wns", "준", 3,
- "wnf", "줄", 3,
- "wnG", "줅", 3,
- "wnM", "줆", 3,
- "wna", "줌", 3,
- "wnq", "줍", 3,
- "wnt", "줏", 3,
- "wnd", "중", 3,
- "wJT", "줬", 3,
- "wBr", "쥑", 3,
- "wBs", "쥔", 3,
- "wBf", "쥘", 3,
- "wBa", "쥠", 3,
- "wBq", "쥡", 3,
- "wBt", "쥣", 3,
- "wbs", "쥰", 3,
- "wbf", "쥴", 3,
- "wba", "쥼", 3,
- "wmr", "즉", 3,
- "wms", "즌", 3,
- "wmf", "즐", 3,
- "wma", "즘", 3,
- "wmq", "즙", 3,
- "wmt", "즛", 3,
- "wmd", "증", 3,
- "wlr", "직", 3,
- "wls", "진", 3,
- "wle", "짇", 3,
- "wlf", "질", 3,
- "wlM", "짊", 3,
- "wla", "짐", 3,
- "wlq", "집", 3,
- "wlt", "짓", 3,
- "wld", "징", 3,
- "wlw", "짖", 3,
- "wlx", "짙", 3,
- "wlv", "짚", 3,
- "Wkr", "짝", 3,
- "Wks", "짠", 3,
- "WkH", "짢", 3,
- "Wkf", "짤", 3,
- "WkA", "짧", 3,
- "Wka", "짬", 3,
- "Wkq", "짭", 3,
- "Wkt", "짯", 3,
- "WkT", "짰", 3,
- "Wkd", "짱", 3,
- "Wor", "짹", 3,
- "Wos", "짼", 3,
- "Wof", "쨀", 3,
- "Woa", "쨈", 3,
- "Woq", "쨉", 3,
- "Wot", "쨋", 3,
- "WoT", "쨌", 3,
- "Wod", "쨍", 3,
- "Wis", "쨘", 3,
- "Wid", "쨩", 3,
- "Wjr", "쩍", 3,
- "Wjs", "쩐", 3,
- "Wjf", "쩔", 3,
- "Wja", "쩜", 3,
- "Wjq", "쩝", 3,
- "Wjt", "쩟", 3,
- "WjT", "쩠", 3,
- "Wjd", "쩡", 3,
- "Wpd", "쩽", 3,
- "WuT", "쪘", 3,
- "Whr", "쪽", 3,
- "Whs", "쫀", 3,
- "Whf", "쫄", 3,
- "Wha", "쫌", 3,
- "Whq", "쫍", 3,
- "Wht", "쫏", 3,
- "Whd", "쫑", 3,
- "Whc", "쫓", 3,
- "WKr", "쫙", 3,
- "WKf", "쫠", 3,
- "WKT", "쫬", 3,
- "WHT", "쬈", 3,
- "WLs", "쬔", 3,
- "WLf", "쬘", 3,
- "WLa", "쬠", 3,
- "WLq", "쬡", 3,
- "Wyd", "쭁", 3,
- "Wnr", "쭉", 3,
- "Wns", "쭌", 3,
- "Wnf", "쭐", 3,
- "Wna", "쭘", 3,
- "Wnq", "쭙", 3,
- "Wnd", "쭝", 3,
- "WJT", "쭸", 3,
- "WJd", "쭹", 3,
- "Wma", "쯤", 3,
- "Wmt", "쯧", 3,
- "Wmd", "쯩", 3,
- "Wlr", "찍", 3,
- "Wls", "찐", 3,
- "Wlf", "찔", 3,
- "Wla", "찜", 3,
- "Wlq", "찝", 3,
- "Wld", "찡", 3,
- "Wlw", "찢", 3,
- "Wlg", "찧", 3,
- "ckr", "착", 3,
- "cks", "찬", 3,
- "ckH", "찮", 3,
- "ckf", "찰", 3,
- "cka", "참", 3,
- "ckq", "찹", 3,
- "ckt", "찻", 3,
- "ckT", "찼", 3,
- "ckd", "창", 3,
- "ckw", "찾", 3,
- "cor", "책", 3,
- "cos", "챈", 3,
- "cof", "챌", 3,
- "coa", "챔", 3,
- "coq", "챕", 3,
- "cot", "챗", 3,
- "coT", "챘", 3,
- "cod", "챙", 3,
- "cis", "챤", 3,
- "ciH", "챦", 3,
- "cif", "챨", 3,
- "cia", "챰", 3,
- "cid", "챵", 3,
- "cjr", "척", 3,
- "cjs", "천", 3,
- "cjf", "철", 3,
- "cja", "첨", 3,
- "cjq", "첩", 3,
- "cjt", "첫", 3,
- "cjT", "첬", 3,
- "cjd", "청", 3,
- "cpr", "첵", 3,
- "cps", "첸", 3,
- "cpf", "첼", 3,
- "cpa", "쳄", 3,
- "cpq", "쳅", 3,
- "cpt", "쳇", 3,
- "cpd", "쳉", 3,
- "cus", "쳔", 3,
- "cuT", "쳤", 3,
- "cPs", "쳰", 3,
- "cPd", "촁", 3,
- "chr", "촉", 3,
- "chs", "촌", 3,
- "chf", "촐", 3,
- "cha", "촘", 3,
- "chq", "촙", 3,
- "cht", "촛", 3,
- "chd", "총", 3,
- "cKs", "촨", 3,
- "cKf", "촬", 3,
- "cKd", "촹", 3,
- "cLs", "쵠", 3,
- "cLf", "쵤", 3,
- "cLa", "쵬", 3,
- "cLq", "쵭", 3,
- "cLt", "쵯", 3,
- "cLd", "쵱", 3,
- "cya", "춈", 3,
- "cnr", "축", 3,
- "cns", "춘", 3,
- "cnf", "출", 3,
- "cna", "춤", 3,
- "cnq", "춥", 3,
- "cnt", "춧", 3,
- "cnd", "충", 3,
- "cJT", "췄", 3,
- "cNs", "췐", 3,
- "cBs", "췬", 3,
- "cBf", "췰", 3,
- "cBa", "췸", 3,
- "cBq", "췹", 3,
- "cBt", "췻", 3,
- "cBd", "췽", 3,
- "cbs", "츈", 3,
- "cbf", "츌", 3,
- "cba", "츔", 3,
- "cbd", "츙", 3,
- "cmr", "측", 3,
- "cms", "츤", 3,
- "cmf", "츨", 3,
- "cma", "츰", 3,
- "cmq", "츱", 3,
- "cmt", "츳", 3,
- "cmd", "층", 3,
- "clr", "칙", 3,
- "cls", "친", 3,
- "cle", "칟", 3,
- "clf", "칠", 3,
- "clG", "칡", 3,
- "cla", "침", 3,
- "clq", "칩", 3,
- "clt", "칫", 3,
- "cld", "칭", 3,
- "zkr", "칵", 3,
- "zks", "칸", 3,
- "zkf", "칼", 3,
- "zka", "캄", 3,
- "zkq", "캅", 3,
- "zkt", "캇", 3,
- "zkd", "캉", 3,
- "zor", "캑", 3,
- "zos", "캔", 3,
- "zof", "캘", 3,
- "zoa", "캠", 3,
- "zoq", "캡", 3,
- "zot", "캣", 3,
- "zoT", "캤", 3,
- "zod", "캥", 3,
- "zir", "캭", 3,
- "zid", "컁", 3,
- "zjr", "컥", 3,
- "zjs", "컨", 3,
- "zje", "컫", 3,
- "zjf", "컬", 3,
- "zja", "컴", 3,
- "zjq", "컵", 3,
- "zjt", "컷", 3,
- "zjT", "컸", 3,
- "zjd", "컹", 3,
- "zpr", "켁", 3,
- "zps", "켄", 3,
- "zpf", "켈", 3,
- "zpa", "켐", 3,
- "zpq", "켑", 3,
- "zpt", "켓", 3,
- "zpd", "켕", 3,
- "zus", "켠", 3,
- "zuf", "켤", 3,
- "zua", "켬", 3,
- "zuq", "켭", 3,
- "zut", "켯", 3,
- "zuT", "켰", 3,
- "zud", "켱", 3,
- "zhr", "콕", 3,
- "zhs", "콘", 3,
- "zhf", "콜", 3,
- "zha", "콤", 3,
- "zhq", "콥", 3,
- "zht", "콧", 3,
- "zhd", "콩", 3,
- "zKr", "콱", 3,
- "zKs", "콴", 3,
- "zKf", "콸", 3,
- "zKa", "쾀", 3,
- "zKd", "쾅", 3,
- "zHd", "쾡", 3,
- "zLf", "쾰", 3,
- "znr", "쿡", 3,
- "zns", "쿤", 3,
- "znf", "쿨", 3,
- "zna", "쿰", 3,
- "znq", "쿱", 3,
- "znt", "쿳", 3,
- "znd", "쿵", 3,
- "zJs", "퀀", 3,
- "zJf", "퀄", 3,
- "zJd", "퀑", 3,
- "zNd", "퀭", 3,
- "zBr", "퀵", 3,
- "zBs", "퀸", 3,
- "zBf", "퀼", 3,
- "zBa", "큄", 3,
- "zBq", "큅", 3,
- "zBt", "큇", 3,
- "zBd", "큉", 3,
- "zbs", "큔", 3,
- "zbf", "큘", 3,
- "zba", "큠", 3,
- "zmr", "큭", 3,
- "zms", "큰", 3,
- "zmf", "클", 3,
- "zma", "큼", 3,
- "zmq", "큽", 3,
- "zmd", "킁", 3,
- "zlr", "킥", 3,
- "zls", "킨", 3,
- "zlf", "킬", 3,
- "zla", "킴", 3,
- "zlq", "킵", 3,
- "zlt", "킷", 3,
- "zld", "킹", 3,
- "xkr", "탁", 3,
- "xks", "탄", 3,
- "xkf", "탈", 3,
- "xkG", "탉", 3,
- "xka", "탐", 3,
- "xkq", "탑", 3,
- "xkt", "탓", 3,
- "xkT", "탔", 3,
- "xkd", "탕", 3,
- "xor", "택", 3,
- "xos", "탠", 3,
- "xof", "탤", 3,
- "xoa", "탬", 3,
- "xoq", "탭", 3,
- "xot", "탯", 3,
- "xoT", "탰", 3,
- "xod", "탱", 3,
- "xid", "턍", 3,
- "xjr", "턱", 3,
- "xjs", "턴", 3,
- "xjf", "털", 3,
- "xjM", "턺", 3,
- "xja", "텀", 3,
- "xjq", "텁", 3,
- "xjt", "텃", 3,
- "xjT", "텄", 3,
- "xjd", "텅", 3,
- "xpr", "텍", 3,
- "xps", "텐", 3,
- "xpf", "텔", 3,
- "xpa", "템", 3,
- "xpq", "텝", 3,
- "xpt", "텟", 3,
- "xpd", "텡", 3,
- "xus", "텬", 3,
- "xuT", "텼", 3,
- "xPs", "톈", 3,
- "xhr", "톡", 3,
- "xhs", "톤", 3,
- "xhf", "톨", 3,
- "xha", "톰", 3,
- "xhq", "톱", 3,
- "xht", "톳", 3,
- "xhd", "통", 3,
- "xhv", "톺", 3,
- "xKs", "퇀", 3,
- "xLs", "퇸", 3,
- "xLt", "툇", 3,
- "xLd", "툉", 3,
- "xnr", "툭", 3,
- "xns", "툰", 3,
- "xnf", "툴", 3,
- "xna", "툼", 3,
- "xnq", "툽", 3,
- "xnt", "툿", 3,
- "xnd", "퉁", 3,
- "xJT", "퉜", 3,
- "xBr", "튁", 3,
- "xBs", "튄", 3,
- "xBf", "튈", 3,
- "xBa", "튐", 3,
- "xBq", "튑", 3,
- "xBd", "튕", 3,
- "xbs", "튠", 3,
- "xbf", "튤", 3,
- "xba", "튬", 3,
- "xbd", "튱", 3,
- "xmr", "특", 3,
- "xms", "튼", 3,
- "xme", "튿", 3,
- "xmf", "틀", 3,
- "xmM", "틂", 3,
- "xma", "틈", 3,
- "xmq", "틉", 3,
- "xmt", "틋", 3,
- "xMs", "틘", 3,
- "xMf", "틜", 3,
- "xMa", "틤", 3,
- "xMq", "틥", 3,
- "xlr", "틱", 3,
- "xls", "틴", 3,
- "xlf", "틸", 3,
- "xla", "팀", 3,
- "xlq", "팁", 3,
- "xlt", "팃", 3,
- "xld", "팅", 3,
- "vkr", "팍", 3,
- "vkR", "팎", 3,
- "vks", "판", 3,
- "vkf", "팔", 3,
- "vkM", "팖", 3,
- "vka", "팜", 3,
- "vkq", "팝", 3,
- "vkt", "팟", 3,
- "vkT", "팠", 3,
- "vkd", "팡", 3,
- "vkx", "팥", 3,
- "vor", "팩", 3,
- "vos", "팬", 3,
- "vof", "팰", 3,
- "voa", "팸", 3,
- "voq", "팹", 3,
- "vot", "팻", 3,
- "voT", "팼", 3,
- "vod", "팽", 3,
- "vir", "퍅", 3,
- "vjr", "퍽", 3,
- "vjs", "펀", 3,
- "vjf", "펄", 3,
- "vja", "펌", 3,
- "vjq", "펍", 3,
- "vjt", "펏", 3,
- "vjT", "펐", 3,
- "vjd", "펑", 3,
- "vpr", "펙", 3,
- "vps", "펜", 3,
- "vpf", "펠", 3,
- "vpa", "펨", 3,
- "vpq", "펩", 3,
- "vpt", "펫", 3,
- "vpd", "펭", 3,
- "vus", "편", 3,
- "vuf", "펼", 3,
- "vua", "폄", 3,
- "vuq", "폅", 3,
- "vuT", "폈", 3,
- "vud", "평", 3,
- "vPf", "폘", 3,
- "vPq", "폡", 3,
- "vPt", "폣", 3,
- "vhr", "폭", 3,
- "vhs", "폰", 3,
- "vhf", "폴", 3,
- "vha", "폼", 3,
- "vhq", "폽", 3,
- "vht", "폿", 3,
- "vhd", "퐁", 3,
- "vKd", "퐝", 3,
- "vLs", "푄", 3,
- "vys", "푠", 3,
- "vyf", "푤", 3,
- "vyq", "푭", 3,
- "vyt", "푯", 3,
- "vnr", "푹", 3,
- "vns", "푼", 3,
- "vne", "푿", 3,
- "vnf", "풀", 3,
- "vnM", "풂", 3,
- "vna", "품", 3,
- "vnq", "풉", 3,
- "vnt", "풋", 3,
- "vnd", "풍", 3,
- "vJd", "풩", 3,
- "vBs", "퓐", 3,
- "vBf", "퓔", 3,
- "vBa", "퓜", 3,
- "vBt", "퓟", 3,
- "vbs", "퓬", 3,
- "vbf", "퓰", 3,
- "vba", "퓸", 3,
- "vbt", "퓻", 3,
- "vbd", "퓽", 3,
- "vms", "픈", 3,
- "vmf", "플", 3,
- "vma", "픔", 3,
- "vmq", "픕", 3,
- "vmt", "픗", 3,
- "vlr", "픽", 3,
- "vls", "핀", 3,
- "vlf", "필", 3,
- "vla", "핌", 3,
- "vlq", "핍", 3,
- "vlt", "핏", 3,
- "vld", "핑", 3,
- "gkr", "학", 3,
- "gks", "한", 3,
- "gkf", "할", 3,
- "gkB", "핥", 3,
- "gka", "함", 3,
- "gkq", "합", 3,
- "gkt", "핫", 3,
- "gkd", "항", 3,
- "gor", "핵", 3,
- "gos", "핸", 3,
- "gof", "핼", 3,
- "goa", "햄", 3,
- "goq", "햅", 3,
- "got", "햇", 3,
- "goT", "했", 3,
- "god", "행", 3,
- "gid", "향", 3,
- "gjr", "헉", 3,
- "gjs", "헌", 3,
- "gjf", "헐", 3,
- "gjM", "헒", 3,
- "gja", "험", 3,
- "gjq", "헙", 3,
- "gjt", "헛", 3,
- "gjd", "헝", 3,
- "gpr", "헥", 3,
- "gps", "헨", 3,
- "gpf", "헬", 3,
- "gpa", "헴", 3,
- "gpq", "헵", 3,
- "gpt", "헷", 3,
- "gpd", "헹", 3,
- "gur", "혁", 3,
- "gus", "현", 3,
- "guf", "혈", 3,
- "gua", "혐", 3,
- "guq", "협", 3,
- "gut", "혓", 3,
- "guT", "혔", 3,
- "gud", "형", 3,
- "gPs", "혠", 3,
- "gPf", "혤", 3,
- "gPq", "혭", 3,
- "ghr", "혹", 3,
- "ghs", "혼", 3,
- "ghf", "홀", 3,
- "ghB", "홅", 3,
- "gha", "홈", 3,
- "ghq", "홉", 3,
- "ght", "홋", 3,
- "ghd", "홍", 3,
- "ghx", "홑", 3,
- "gKr", "확", 3,
- "gKs", "환", 3,
- "gKf", "활", 3,
- "gKt", "홧", 3,
- "gKd", "황", 3,
- "gHr", "홱", 3,
- "gHs", "홴", 3,
- "gHt", "횃", 3,
- "gHd", "횅", 3,
- "gLr", "획", 3,
- "gLs", "횐", 3,
- "gLf", "횔", 3,
- "gLq", "횝", 3,
- "gLt", "횟", 3,
- "gLd", "횡", 3,
- "gys", "횬", 3,
- "gyf", "횰", 3,
- "gyq", "횹", 3,
- "gyt", "횻", 3,
- "gnr", "훅", 3,
- "gns", "훈", 3,
- "gnf", "훌", 3,
- "gnB", "훑", 3,
- "gna", "훔", 3,
- "gnt", "훗", 3,
- "gnd", "훙", 3,
- "gJs", "훤", 3,
- "gJf", "훨", 3,
- "gJa", "훰", 3,
- "gJd", "훵", 3,
- "gNr", "훽", 3,
- "gNs", "휀", 3,
- "gNf", "휄", 3,
- "gNd", "휑", 3,
- "gBr", "휙", 3,
- "gBs", "휜", 3,
- "gBf", "휠", 3,
- "gBa", "휨", 3,
- "gBq", "휩", 3,
- "gBt", "휫", 3,
- "gBd", "휭", 3,
- "gbr", "휵", 3,
- "gbs", "휸", 3,
- "gbf", "휼", 3,
- "gba", "흄", 3,
- "gbt", "흇", 3,
- "gbd", "흉", 3,
- "gmr", "흑", 3,
- "gms", "흔", 3,
- "gmH", "흖", 3,
- "gme", "흗", 3,
- "gmf", "흘", 3,
- "gmG", "흙", 3,
- "gma", "흠", 3,
- "gmq", "흡", 3,
- "gmt", "흣", 3,
- "gmd", "흥", 3,
- "gmx", "흩", 3,
- "gMs", "흰", 3,
- "gMf", "흴", 3,
- "gMa", "흼", 3,
- "gMq", "흽", 3,
- "gMd", "힁", 3,
- "glr", "힉", 3,
- "gls", "힌", 3,
- "glf", "힐", 3,
- "gla", "힘", 3,
- "glq", "힙", 3,
- "glt", "힛", 3,
- "gld", "힝", 3,
+Hmap *hangul;
+Map mhangul[] = {
+ "A", "A", 0,
+ "B", "ㅟ", 0,
+ "C", "ㅊ", 0,
+ "E", "ㄸ", 0,
+ "F", "F", 0,
+ "G", "G", 0,
+ "H", "ㅙ", 0,
+ "J", "ㅝ", 0,
+ "K", "ㅘ", 0,
+ "L", "ㅚ", 0,
+ "M", "ㅢ", 0,
+ "N", "ㅞ", 0,
+ "O", "ㅒ", 0,
+ "P", "ㅖ", 0,
+ "Q", "ㅃ", 0,
+ "R", "ㄲ", 0,
+ "S", "S", 0,
+ "T", "ㅆ", 0,
+ "V", "V", 0,
+ "W", "ㅉ", 0,
+ "a", "ㅁ", 0,
+ "b", "ㅠ", 0,
+ "c", "c", 0,
+ "d", "ㅇ", 0,
+ "e", "ㄷ", 0,
+ "f", "ㄹ", 0,
+ "g", "ㅎ", 0,
+ "h", "ㅗ", 0,
+ "i", "ㅑ", 0,
+ "j", "ㅓ", 0,
+ "k", "ㅏ", 0,
+ "l", "ㅣ", 0,
+ "m", "ㅡ", 0,
+ "n", "ㅜ", 0,
+ "o", "ㅐ", 0,
+ "p", "ㅔ", 0,
+ "q", "ㅂ", 0,
+ "r", "ㄱ", 0,
+ "s", "ㄴ", 0,
+ "t", "t", 0,
+ "u", "ㅕ", 0,
+ "v", "ㅍ", 0,
+ "w", "ㅈ", 0,
+ "x", "ㅌ", 0,
+ "y", "ㅛ", 0,
+ "z", "ㅋ", 0,
+ "rk", "가", 0,
+ "ro", "개", 0,
+ "ri", "갸", 0,
+ "rO", "걔", 0,
+ "rj", "거", 0,
+ "rp", "게", 0,
+ "ru", "겨", 0,
+ "rP", "계", 0,
+ "rh", "고", 0,
+ "rK", "과", 0,
+ "rH", "괘", 0,
+ "rL", "괴", 0,
+ "ry", "교", 0,
+ "rn", "구", 0,
+ "rJ", "궈", 0,
+ "rN", "궤", 0,
+ "rB", "귀", 0,
+ "rb", "규", 0,
+ "rm", "그", 0,
+ "rM", "긔", 0,
+ "rl", "기", 0,
+ "Rk", "까", 0,
+ "Ro", "깨", 0,
+ "Ri", "꺄", 0,
+ "Rj", "꺼", 0,
+ "Rp", "께", 0,
+ "Ru", "껴", 0,
+ "RP", "꼐", 0,
+ "Rh", "꼬", 0,
+ "RK", "꽈", 0,
+ "RH", "꽤", 0,
+ "RL", "꾀", 0,
+ "Ry", "꾜", 0,
+ "Rn", "꾸", 0,
+ "RJ", "꿔", 0,
+ "RN", "꿰", 0,
+ "RB", "뀌", 0,
+ "Rb", "뀨", 0,
+ "Rm", "끄", 0,
+ "Rl", "끼", 0,
+ "sk", "나", 0,
+ "so", "내", 0,
+ "si", "냐", 0,
+ "sj", "너", 0,
+ "sp", "네", 0,
+ "su", "녀", 0,
+ "sP", "녜", 0,
+ "sh", "노", 0,
+ "sK", "놔", 0,
+ "sL", "뇌", 0,
+ "sy", "뇨", 0,
+ "sn", "누", 0,
+ "sJ", "눠", 0,
+ "sN", "눼", 0,
+ "sB", "뉘", 0,
+ "sb", "뉴", 0,
+ "sm", "느", 0,
+ "sM", "늬", 0,
+ "sl", "니", 0,
+ "ek", "다", 0,
+ "eo", "대", 0,
+ "ei", "댜", 0,
+ "ej", "더", 0,
+ "ep", "데", 0,
+ "eu", "뎌", 0,
+ "eP", "뎨", 0,
+ "eh", "도", 0,
+ "eK", "돠", 0,
+ "eH", "돼", 0,
+ "eL", "되", 0,
+ "ey", "됴", 0,
+ "en", "두", 0,
+ "eJ", "둬", 0,
+ "eN", "뒈", 0,
+ "eB", "뒤", 0,
+ "eb", "듀", 0,
+ "em", "드", 0,
+ "eM", "듸", 0,
+ "el", "디", 0,
+ "Ek", "따", 0,
+ "Eo", "때", 0,
+ "Ej", "떠", 0,
+ "Ep", "떼", 0,
+ "Eu", "뗘", 0,
+ "Eh", "또", 0,
+ "EK", "똬", 0,
+ "EH", "뙈", 0,
+ "EL", "뙤", 0,
+ "En", "뚜", 0,
+ "EN", "뛔", 0,
+ "EB", "뛰", 0,
+ "Em", "뜨", 0,
+ "EM", "띄", 0,
+ "El", "띠", 0,
+ "fk", "라", 0,
+ "fo", "래", 0,
+ "fi", "랴", 0,
+ "fj", "러", 0,
+ "fp", "레", 0,
+ "fu", "려", 0,
+ "fP", "례", 0,
+ "fh", "로", 0,
+ "fK", "롸", 0,
+ "fL", "뢰", 0,
+ "fy", "료", 0,
+ "fn", "루", 0,
+ "fJ", "뤄", 0,
+ "fN", "뤠", 0,
+ "fB", "뤼", 0,
+ "fb", "류", 0,
+ "fm", "르", 0,
+ "fl", "리", 0,
+ "ak", "마", 0,
+ "ao", "매", 0,
+ "ai", "먀", 0,
+ "aj", "머", 0,
+ "ap", "메", 0,
+ "au", "며", 0,
+ "aP", "몌", 0,
+ "ah", "모", 0,
+ "aK", "뫄", 0,
+ "aL", "뫼", 0,
+ "ay", "묘", 0,
+ "an", "무", 0,
+ "aJ", "뭐", 0,
+ "aN", "뭬", 0,
+ "aB", "뮈", 0,
+ "ab", "뮤", 0,
+ "am", "므", 0,
+ "al", "미", 0,
+ "qk", "바", 0,
+ "qo", "배", 0,
+ "qi", "뱌", 0,
+ "qj", "버", 0,
+ "qp", "베", 0,
+ "qu", "벼", 0,
+ "qP", "볘", 0,
+ "qh", "보", 0,
+ "qK", "봐", 0,
+ "qH", "봬", 0,
+ "qL", "뵈", 0,
+ "qy", "뵤", 0,
+ "qn", "부", 0,
+ "qJ", "붜", 0,
+ "qN", "붸", 0,
+ "qB", "뷔", 0,
+ "qb", "뷰", 0,
+ "qm", "브", 0,
+ "ql", "비", 0,
+ "Qk", "빠", 0,
+ "Qo", "빼", 0,
+ "Qi", "뺘", 0,
+ "Qj", "뻐", 0,
+ "Qp", "뻬", 0,
+ "Qu", "뼈", 0,
+ "Qh", "뽀", 0,
+ "QL", "뾔", 0,
+ "Qy", "뾰", 0,
+ "Qn", "뿌", 0,
+ "Qb", "쀼", 0,
+ "Qm", "쁘", 0,
+ "Ql", "삐", 0,
+ "tk", "사", 0,
+ "to", "새", 0,
+ "ti", "샤", 0,
+ "tO", "섀", 0,
+ "tj", "서", 0,
+ "tp", "세", 0,
+ "tu", "셔", 0,
+ "tP", "셰", 0,
+ "th", "소", 0,
+ "tK", "솨", 0,
+ "tH", "쇄", 0,
+ "tL", "쇠", 0,
+ "ty", "쇼", 0,
+ "tn", "수", 0,
+ "tJ", "숴", 0,
+ "tN", "쉐", 0,
+ "tB", "쉬", 0,
+ "tb", "슈", 0,
+ "tm", "스", 0,
+ "tl", "시", 0,
+ "Tk", "싸", 0,
+ "To", "쌔", 0,
+ "Tj", "써", 0,
+ "Tp", "쎄", 0,
+ "Th", "쏘", 0,
+ "TK", "쏴", 0,
+ "TH", "쐐", 0,
+ "TL", "쐬", 0,
+ "Ty", "쑈", 0,
+ "Tn", "쑤", 0,
+ "TJ", "쒀", 0,
+ "TN", "쒜", 0,
+ "TB", "쒸", 0,
+ "Tm", "쓰", 0,
+ "TM", "씌", 0,
+ "Tl", "씨", 0,
+ "dk", "아", 0,
+ "do", "애", 0,
+ "di", "야", 0,
+ "dO", "얘", 0,
+ "dj", "어", 0,
+ "dp", "에", 0,
+ "du", "여", 0,
+ "dP", "예", 0,
+ "dh", "오", 0,
+ "dK", "와", 0,
+ "dH", "왜", 0,
+ "dL", "외", 0,
+ "dy", "요", 0,
+ "dn", "우", 0,
+ "dJ", "워", 0,
+ "dN", "웨", 0,
+ "dB", "위", 0,
+ "db", "유", 0,
+ "dm", "으", 0,
+ "dM", "의", 0,
+ "dl", "이", 0,
+ "wk", "자", 0,
+ "wo", "재", 0,
+ "wi", "쟈", 0,
+ "wO", "쟤", 0,
+ "wj", "저", 0,
+ "wp", "제", 0,
+ "wu", "져", 0,
+ "wP", "졔", 0,
+ "wh", "조", 0,
+ "wK", "좌", 0,
+ "wH", "좨", 0,
+ "wL", "죄", 0,
+ "wy", "죠", 0,
+ "wn", "주", 0,
+ "wJ", "줘", 0,
+ "wN", "줴", 0,
+ "wB", "쥐", 0,
+ "wb", "쥬", 0,
+ "wm", "즈", 0,
+ "wl", "지", 0,
+ "Wk", "짜", 0,
+ "Wo", "째", 0,
+ "Wi", "쨔", 0,
+ "Wj", "쩌", 0,
+ "Wp", "쩨", 0,
+ "Wu", "쪄", 0,
+ "Wh", "쪼", 0,
+ "WK", "쫘", 0,
+ "WH", "쫴", 0,
+ "WL", "쬐", 0,
+ "Wn", "쭈", 0,
+ "WJ", "쭤", 0,
+ "WB", "쮜", 0,
+ "Wb", "쮸", 0,
+ "Wm", "쯔", 0,
+ "Wl", "찌", 0,
+ "ck", "차", 0,
+ "co", "채", 0,
+ "ci", "챠", 0,
+ "cj", "처", 0,
+ "cp", "체", 0,
+ "cu", "쳐", 0,
+ "cP", "쳬", 0,
+ "ch", "초", 0,
+ "cK", "촤", 0,
+ "cL", "최", 0,
+ "cy", "쵸", 0,
+ "cn", "추", 0,
+ "cJ", "춰", 0,
+ "cN", "췌", 0,
+ "cB", "취", 0,
+ "cb", "츄", 0,
+ "cm", "츠", 0,
+ "cl", "치", 0,
+ "zk", "카", 0,
+ "zo", "캐", 0,
+ "zi", "캬", 0,
+ "zj", "커", 0,
+ "zp", "케", 0,
+ "zu", "켜", 0,
+ "zP", "켸", 0,
+ "zh", "코", 0,
+ "zK", "콰", 0,
+ "zH", "쾌", 0,
+ "zL", "쾨", 0,
+ "zy", "쿄", 0,
+ "zn", "쿠", 0,
+ "zJ", "쿼", 0,
+ "zN", "퀘", 0,
+ "zB", "퀴", 0,
+ "zb", "큐", 0,
+ "zm", "크", 0,
+ "zl", "키", 0,
+ "xk", "타", 0,
+ "xo", "태", 0,
+ "xi", "탸", 0,
+ "xj", "터", 0,
+ "xp", "테", 0,
+ "xu", "텨", 0,
+ "xP", "톄", 0,
+ "xh", "토", 0,
+ "xK", "톼", 0,
+ "xH", "퇘", 0,
+ "xL", "퇴", 0,
+ "xy", "툐", 0,
+ "xn", "투", 0,
+ "xJ", "퉈", 0,
+ "xN", "퉤", 0,
+ "xB", "튀", 0,
+ "xb", "튜", 0,
+ "xm", "트", 0,
+ "xM", "틔", 0,
+ "xl", "티", 0,
+ "vk", "파", 0,
+ "vo", "패", 0,
+ "vi", "퍄", 0,
+ "vj", "퍼", 0,
+ "vp", "페", 0,
+ "vu", "펴", 0,
+ "vP", "폐", 0,
+ "vh", "포", 0,
+ "vK", "퐈", 0,
+ "vL", "푀", 0,
+ "vy", "표", 0,
+ "vn", "푸", 0,
+ "vJ", "풔", 0,
+ "vB", "퓌", 0,
+ "vb", "퓨", 0,
+ "vm", "프", 0,
+ "vl", "피", 0,
+ "gk", "하", 0,
+ "go", "해", 0,
+ "gi", "햐", 0,
+ "gj", "허", 0,
+ "gp", "헤", 0,
+ "gu", "혀", 0,
+ "gP", "혜", 0,
+ "gh", "호", 0,
+ "gK", "화", 0,
+ "gH", "홰", 0,
+ "gL", "회", 0,
+ "gy", "효", 0,
+ "gn", "후", 0,
+ "gJ", "훠", 0,
+ "gN", "훼", 0,
+ "gB", "휘", 0,
+ "gb", "휴", 0,
+ "gm", "흐", 0,
+ "gM", "희", 0,
+ "gl", "히", 0,
+ "rkr", "각", 0,
+ "rks", "간", 0,
+ "rke", "갇", 0,
+ "rkf", "갈", 0,
+ "rkG", "갉", 0,
+ "rkM", "갊", 0,
+ "rka", "감", 0,
+ "rkq", "갑", 0,
+ "rkC", "값", 0,
+ "rkt", "갓", 0,
+ "rkT", "갔", 0,
+ "rkd", "강", 0,
+ "rkw", "갖", 0,
+ "rkc", "갗", 0,
+ "rkx", "같", 0,
+ "rkv", "갚", 0,
+ "rkg", "갛", 0,
+ "ror", "객", 0,
+ "ros", "갠", 0,
+ "rof", "갤", 0,
+ "roa", "갬", 0,
+ "roq", "갭", 0,
+ "rot", "갯", 0,
+ "roT", "갰", 0,
+ "rod", "갱", 0,
+ "rir", "갹", 0,
+ "ris", "갼", 0,
+ "rif", "걀", 0,
+ "rit", "걋", 0,
+ "rid", "걍", 0,
+ "rOs", "걘", 0,
+ "rOf", "걜", 0,
+ "rjr", "걱", 0,
+ "rjs", "건", 0,
+ "rje", "걷", 0,
+ "rjf", "걸", 0,
+ "rjM", "걺", 0,
+ "rja", "검", 0,
+ "rjq", "겁", 0,
+ "rjt", "것", 0,
+ "rjT", "겄", 0,
+ "rjd", "겅", 0,
+ "rjw", "겆", 0,
+ "rjx", "겉", 0,
+ "rjv", "겊", 0,
+ "rjg", "겋", 0,
+ "rps", "겐", 0,
+ "rpf", "겔", 0,
+ "rpa", "겜", 0,
+ "rpq", "겝", 0,
+ "rpt", "겟", 0,
+ "rpT", "겠", 0,
+ "rpd", "겡", 0,
+ "rur", "격", 0,
+ "ruR", "겪", 0,
+ "rus", "견", 0,
+ "rue", "겯", 0,
+ "ruf", "결", 0,
+ "rua", "겸", 0,
+ "ruq", "겹", 0,
+ "rut", "겻", 0,
+ "ruT", "겼", 0,
+ "rud", "경", 0,
+ "rux", "곁", 0,
+ "rPs", "곈", 0,
+ "rPf", "곌", 0,
+ "rPq", "곕", 0,
+ "rPt", "곗", 0,
+ "rhr", "곡", 0,
+ "rhs", "곤", 0,
+ "rhe", "곧", 0,
+ "rhf", "골", 0,
+ "rhM", "곪", 0,
+ "rhN", "곬", 0,
+ "rhF", "곯", 0,
+ "rha", "곰", 0,
+ "rhq", "곱", 0,
+ "rht", "곳", 0,
+ "rhd", "공", 0,
+ "rhw", "곶", 0,
+ "rKr", "곽", 0,
+ "rKs", "관", 0,
+ "rKf", "괄", 0,
+ "rKM", "괆", 0,
+ "rKa", "괌", 0,
+ "rKq", "괍", 0,
+ "rKt", "괏", 0,
+ "rKd", "광", 0,
+ "rHs", "괜", 0,
+ "rHf", "괠", 0,
+ "rHq", "괩", 0,
+ "rHT", "괬", 0,
+ "rHd", "괭", 0,
+ "rLr", "괵", 0,
+ "rLs", "괸", 0,
+ "rLf", "괼", 0,
+ "rLa", "굄", 0,
+ "rLq", "굅", 0,
+ "rLt", "굇", 0,
+ "rLd", "굉", 0,
+ "rys", "굔", 0,
+ "ryf", "굘", 0,
+ "ryq", "굡", 0,
+ "ryt", "굣", 0,
+ "rnr", "국", 0,
+ "rns", "군", 0,
+ "rne", "굳", 0,
+ "rnf", "굴", 0,
+ "rnG", "굵", 0,
+ "rnM", "굶", 0,
+ "rnF", "굻", 0,
+ "rna", "굼", 0,
+ "rnq", "굽", 0,
+ "rnt", "굿", 0,
+ "rnd", "궁", 0,
+ "rnw", "궂", 0,
+ "rJr", "궉", 0,
+ "rJs", "권", 0,
+ "rJf", "궐", 0,
+ "rJT", "궜", 0,
+ "rJd", "궝", 0,
+ "rNt", "궷", 0,
+ "rBr", "귁", 0,
+ "rBs", "귄", 0,
+ "rBf", "귈", 0,
+ "rBa", "귐", 0,
+ "rBq", "귑", 0,
+ "rBt", "귓", 0,
+ "rbs", "균", 0,
+ "rbf", "귤", 0,
+ "rmr", "극", 0,
+ "rms", "근", 0,
+ "rme", "귿", 0,
+ "rmf", "글", 0,
+ "rmG", "긁", 0,
+ "rma", "금", 0,
+ "rmq", "급", 0,
+ "rmt", "긋", 0,
+ "rmd", "긍", 0,
+ "rlr", "긱", 0,
+ "rls", "긴", 0,
+ "rle", "긷", 0,
+ "rlf", "길", 0,
+ "rlM", "긺", 0,
+ "rla", "김", 0,
+ "rlq", "깁", 0,
+ "rlt", "깃", 0,
+ "rld", "깅", 0,
+ "rlw", "깆", 0,
+ "rlv", "깊", 0,
+ "Rkr", "깍", 0,
+ "RkR", "깎", 0,
+ "Rks", "깐", 0,
+ "Rkf", "깔", 0,
+ "RkM", "깖", 0,
+ "Rka", "깜", 0,
+ "Rkq", "깝", 0,
+ "Rkt", "깟", 0,
+ "RkT", "깠", 0,
+ "Rkd", "깡", 0,
+ "Rkx", "깥", 0,
+ "Ror", "깩", 0,
+ "Ros", "깬", 0,
+ "Rof", "깰", 0,
+ "Roa", "깸", 0,
+ "Roq", "깹", 0,
+ "Rot", "깻", 0,
+ "RoT", "깼", 0,
+ "Rod", "깽", 0,
+ "Rir", "꺅", 0,
+ "Rif", "꺌", 0,
+ "Rjr", "꺽", 0,
+ "RjR", "꺾", 0,
+ "Rjs", "껀", 0,
+ "Rjf", "껄", 0,
+ "Rja", "껌", 0,
+ "Rjq", "껍", 0,
+ "Rjt", "껏", 0,
+ "RjT", "껐", 0,
+ "Rjd", "껑", 0,
+ "Rpr", "껙", 0,
+ "Rps", "껜", 0,
+ "Rpa", "껨", 0,
+ "Rpt", "껫", 0,
+ "Rpd", "껭", 0,
+ "Rus", "껸", 0,
+ "Ruf", "껼", 0,
+ "Rut", "꼇", 0,
+ "RuT", "꼈", 0,
+ "Rux", "꼍", 0,
+ "Rhr", "꼭", 0,
+ "Rhs", "꼰", 0,
+ "RhH", "꼲", 0,
+ "Rhf", "꼴", 0,
+ "Rha", "꼼", 0,
+ "Rhq", "꼽", 0,
+ "Rht", "꼿", 0,
+ "Rhd", "꽁", 0,
+ "Rhw", "꽂", 0,
+ "Rhc", "꽃", 0,
+ "RKr", "꽉", 0,
+ "RKf", "꽐", 0,
+ "RKT", "꽜", 0,
+ "RKd", "꽝", 0,
+ "RHr", "꽥", 0,
+ "RHd", "꽹", 0,
+ "RLs", "꾄", 0,
+ "RLf", "꾈", 0,
+ "RLa", "꾐", 0,
+ "RLq", "꾑", 0,
+ "RLd", "꾕", 0,
+ "Rnr", "꾹", 0,
+ "Rns", "꾼", 0,
+ "Rnf", "꿀", 0,
+ "RnF", "꿇", 0,
+ "Rna", "꿈", 0,
+ "Rnq", "꿉", 0,
+ "Rnt", "꿋", 0,
+ "Rnd", "꿍", 0,
+ "Rnw", "꿎", 0,
+ "RJf", "꿜", 0,
+ "RJT", "꿨", 0,
+ "RJd", "꿩", 0,
+ "RNr", "꿱", 0,
+ "RNs", "꿴", 0,
+ "RNf", "꿸", 0,
+ "RNa", "뀀", 0,
+ "RNq", "뀁", 0,
+ "RNT", "뀄", 0,
+ "RBs", "뀐", 0,
+ "RBf", "뀔", 0,
+ "RBa", "뀜", 0,
+ "RBq", "뀝", 0,
+ "Rmr", "끅", 0,
+ "Rms", "끈", 0,
+ "RmH", "끊", 0,
+ "Rmf", "끌", 0,
+ "RmM", "끎", 0,
+ "RmF", "끓", 0,
+ "Rma", "끔", 0,
+ "Rmq", "끕", 0,
+ "Rmt", "끗", 0,
+ "Rmd", "끙", 0,
+ "Rmx", "끝", 0,
+ "Rlr", "끽", 0,
+ "Rls", "낀", 0,
+ "Rlf", "낄", 0,
+ "Rla", "낌", 0,
+ "Rlq", "낍", 0,
+ "Rlt", "낏", 0,
+ "Rld", "낑", 0,
+ "skr", "낙", 0,
+ "skR", "낚", 0,
+ "sks", "난", 0,
+ "ske", "낟", 0,
+ "skf", "날", 0,
+ "skG", "낡", 0,
+ "skM", "낢", 0,
+ "ska", "남", 0,
+ "skq", "납", 0,
+ "skt", "낫", 0,
+ "skT", "났", 0,
+ "skd", "낭", 0,
+ "skw", "낮", 0,
+ "skc", "낯", 0,
+ "skx", "낱", 0,
+ "skg", "낳", 0,
+ "sor", "낵", 0,
+ "sos", "낸", 0,
+ "sof", "낼", 0,
+ "soa", "냄", 0,
+ "soq", "냅", 0,
+ "sot", "냇", 0,
+ "soT", "냈", 0,
+ "sod", "냉", 0,
+ "sir", "냑", 0,
+ "sis", "냔", 0,
+ "sif", "냘", 0,
+ "sia", "냠", 0,
+ "sid", "냥", 0,
+ "sjr", "넉", 0,
+ "sjS", "넋", 0,
+ "sjs", "넌", 0,
+ "sjf", "널", 0,
+ "sjM", "넒", 0,
+ "sjA", "넓", 0,
+ "sja", "넘", 0,
+ "sjq", "넙", 0,
+ "sjt", "넛", 0,
+ "sjT", "넜", 0,
+ "sjd", "넝", 0,
+ "sjg", "넣", 0,
+ "spr", "넥", 0,
+ "sps", "넨", 0,
+ "spf", "넬", 0,
+ "spa", "넴", 0,
+ "spq", "넵", 0,
+ "spt", "넷", 0,
+ "spT", "넸", 0,
+ "spd", "넹", 0,
+ "sur", "녁", 0,
+ "sus", "년", 0,
+ "suf", "녈", 0,
+ "sua", "념", 0,
+ "suq", "녑", 0,
+ "suT", "녔", 0,
+ "sud", "녕", 0,
+ "suz", "녘", 0,
+ "sPs", "녠", 0,
+ "shr", "녹", 0,
+ "shs", "논", 0,
+ "shf", "놀", 0,
+ "shM", "놂", 0,
+ "sha", "놈", 0,
+ "shq", "놉", 0,
+ "sht", "놋", 0,
+ "shd", "농", 0,
+ "shv", "높", 0,
+ "shg", "놓", 0,
+ "sKs", "놘", 0,
+ "sKf", "놜", 0,
+ "sKT", "놨", 0,
+ "sLs", "뇐", 0,
+ "sLf", "뇔", 0,
+ "sLa", "뇜", 0,
+ "sLq", "뇝", 0,
+ "sLt", "뇟", 0,
+ "syr", "뇩", 0,
+ "sys", "뇬", 0,
+ "syf", "뇰", 0,
+ "syq", "뇹", 0,
+ "syt", "뇻", 0,
+ "syd", "뇽", 0,
+ "snr", "눅", 0,
+ "sns", "눈", 0,
+ "sne", "눋", 0,
+ "snf", "눌", 0,
+ "sna", "눔", 0,
+ "snq", "눕", 0,
+ "snt", "눗", 0,
+ "snd", "눙", 0,
+ "sJT", "눴", 0,
+ "sBs", "뉜", 0,
+ "sBf", "뉠", 0,
+ "sBa", "뉨", 0,
+ "sBq", "뉩", 0,
+ "sbr", "뉵", 0,
+ "sbf", "뉼", 0,
+ "sba", "늄", 0,
+ "sbq", "늅", 0,
+ "sbd", "늉", 0,
+ "smr", "늑", 0,
+ "sms", "는", 0,
+ "smf", "늘", 0,
+ "smG", "늙", 0,
+ "smM", "늚", 0,
+ "sma", "늠", 0,
+ "smq", "늡", 0,
+ "smt", "늣", 0,
+ "smd", "능", 0,
+ "smw", "늦", 0,
+ "smv", "늪", 0,
+ "sMs", "늰", 0,
+ "sMf", "늴", 0,
+ "slr", "닉", 0,
+ "sls", "닌", 0,
+ "slf", "닐", 0,
+ "slM", "닒", 0,
+ "sla", "님", 0,
+ "slq", "닙", 0,
+ "slt", "닛", 0,
+ "sld", "닝", 0,
+ "slv", "닢", 0,
+ "ekr", "닥", 0,
+ "ekR", "닦", 0,
+ "eks", "단", 0,
+ "eke", "닫", 0,
+ "ekf", "달", 0,
+ "ekG", "닭", 0,
+ "ekM", "닮", 0,
+ "ekA", "닯", 0,
+ "ekF", "닳", 0,
+ "eka", "담", 0,
+ "ekq", "답", 0,
+ "ekt", "닷", 0,
+ "ekT", "닸", 0,
+ "ekd", "당", 0,
+ "ekw", "닺", 0,
+ "ekc", "닻", 0,
+ "ekg", "닿", 0,
+ "eor", "댁", 0,
+ "eos", "댄", 0,
+ "eof", "댈", 0,
+ "eoa", "댐", 0,
+ "eoq", "댑", 0,
+ "eot", "댓", 0,
+ "eoT", "댔", 0,
+ "eod", "댕", 0,
+ "ejr", "덕", 0,
+ "ejR", "덖", 0,
+ "ejs", "던", 0,
+ "eje", "덛", 0,
+ "ejf", "덜", 0,
+ "ejM", "덞", 0,
+ "ejA", "덟", 0,
+ "eja", "덤", 0,
+ "ejq", "덥", 0,
+ "ejt", "덧", 0,
+ "ejd", "덩", 0,
+ "ejc", "덫", 0,
+ "ejv", "덮", 0,
+ "epr", "덱", 0,
+ "eps", "덴", 0,
+ "epf", "델", 0,
+ "epa", "뎀", 0,
+ "epq", "뎁", 0,
+ "ept", "뎃", 0,
+ "epT", "뎄", 0,
+ "epd", "뎅", 0,
+ "eus", "뎐", 0,
+ "euf", "뎔", 0,
+ "euT", "뎠", 0,
+ "eud", "뎡", 0,
+ "ePs", "뎬", 0,
+ "ehr", "독", 0,
+ "ehs", "돈", 0,
+ "ehe", "돋", 0,
+ "ehf", "돌", 0,
+ "ehM", "돎", 0,
+ "ehN", "돐", 0,
+ "eha", "돔", 0,
+ "ehq", "돕", 0,
+ "eht", "돗", 0,
+ "ehd", "동", 0,
+ "ehc", "돛", 0,
+ "ehx", "돝", 0,
+ "eKs", "돤", 0,
+ "eKf", "돨", 0,
+ "eHT", "됐", 0,
+ "eLs", "된", 0,
+ "eLf", "될", 0,
+ "eLa", "됨", 0,
+ "eLq", "됩", 0,
+ "eLt", "됫", 0,
+ "enr", "둑", 0,
+ "ens", "둔", 0,
+ "enf", "둘", 0,
+ "ena", "둠", 0,
+ "enq", "둡", 0,
+ "ent", "둣", 0,
+ "end", "둥", 0,
+ "eJT", "뒀", 0,
+ "eNd", "뒝", 0,
+ "eBs", "뒨", 0,
+ "eBf", "뒬", 0,
+ "eBq", "뒵", 0,
+ "eBt", "뒷", 0,
+ "eBd", "뒹", 0,
+ "ebs", "듄", 0,
+ "ebf", "듈", 0,
+ "eba", "듐", 0,
+ "ebd", "듕", 0,
+ "emr", "득", 0,
+ "ems", "든", 0,
+ "eme", "듣", 0,
+ "emf", "들", 0,
+ "emM", "듦", 0,
+ "ema", "듬", 0,
+ "emq", "듭", 0,
+ "emt", "듯", 0,
+ "emd", "등", 0,
+ "elr", "딕", 0,
+ "els", "딘", 0,
+ "ele", "딛", 0,
+ "elf", "딜", 0,
+ "ela", "딤", 0,
+ "elq", "딥", 0,
+ "elt", "딧", 0,
+ "elT", "딨", 0,
+ "eld", "딩", 0,
+ "elw", "딪", 0,
+ "Ekr", "딱", 0,
+ "Eks", "딴", 0,
+ "Ekf", "딸", 0,
+ "Eka", "땀", 0,
+ "Ekq", "땁", 0,
+ "Ekt", "땃", 0,
+ "EkT", "땄", 0,
+ "Ekd", "땅", 0,
+ "Ekg", "땋", 0,
+ "Eor", "땍", 0,
+ "Eos", "땐", 0,
+ "Eof", "땔", 0,
+ "Eoa", "땜", 0,
+ "Eoq", "땝", 0,
+ "Eot", "땟", 0,
+ "EoT", "땠", 0,
+ "Eod", "땡", 0,
+ "Ejr", "떡", 0,
+ "Ejs", "떤", 0,
+ "Ejf", "떨", 0,
+ "EjM", "떪", 0,
+ "EjA", "떫", 0,
+ "Eja", "떰", 0,
+ "Ejq", "떱", 0,
+ "Ejt", "떳", 0,
+ "EjT", "떴", 0,
+ "Ejd", "떵", 0,
+ "Ejg", "떻", 0,
+ "Epr", "떽", 0,
+ "Eps", "뗀", 0,
+ "Epf", "뗄", 0,
+ "Epa", "뗌", 0,
+ "Epq", "뗍", 0,
+ "Ept", "뗏", 0,
+ "EpT", "뗐", 0,
+ "Epd", "뗑", 0,
+ "EuT", "뗬", 0,
+ "Ehr", "똑", 0,
+ "Ehs", "똔", 0,
+ "Ehf", "똘", 0,
+ "Ehd", "똥", 0,
+ "EKf", "똴", 0,
+ "ELs", "뙨", 0,
+ "Enr", "뚝", 0,
+ "Ens", "뚠", 0,
+ "Enf", "뚤", 0,
+ "EnF", "뚫", 0,
+ "Ena", "뚬", 0,
+ "End", "뚱", 0,
+ "EBs", "뛴", 0,
+ "EBf", "뛸", 0,
+ "EBa", "뜀", 0,
+ "EBq", "뜁", 0,
+ "EBd", "뜅", 0,
+ "Emr", "뜩", 0,
+ "Ems", "뜬", 0,
+ "Eme", "뜯", 0,
+ "Emf", "뜰", 0,
+ "Ema", "뜸", 0,
+ "Emq", "뜹", 0,
+ "Emt", "뜻", 0,
+ "EMs", "띈", 0,
+ "EMf", "띌", 0,
+ "EMa", "띔", 0,
+ "EMq", "띕", 0,
+ "Els", "띤", 0,
+ "Elf", "띨", 0,
+ "Ela", "띰", 0,
+ "Elq", "띱", 0,
+ "Elt", "띳", 0,
+ "Eld", "띵", 0,
+ "fkr", "락", 0,
+ "fks", "란", 0,
+ "fkf", "랄", 0,
+ "fka", "람", 0,
+ "fkq", "랍", 0,
+ "fkt", "랏", 0,
+ "fkT", "랐", 0,
+ "fkd", "랑", 0,
+ "fkw", "랒", 0,
+ "fkv", "랖", 0,
+ "fkg", "랗", 0,
+ "for", "랙", 0,
+ "fos", "랜", 0,
+ "fof", "랠", 0,
+ "foa", "램", 0,
+ "foq", "랩", 0,
+ "fot", "랫", 0,
+ "foT", "랬", 0,
+ "fod", "랭", 0,
+ "fir", "략", 0,
+ "fis", "랸", 0,
+ "fit", "럇", 0,
+ "fid", "량", 0,
+ "fjr", "럭", 0,
+ "fjs", "런", 0,
+ "fjf", "럴", 0,
+ "fja", "럼", 0,
+ "fjq", "럽", 0,
+ "fjt", "럿", 0,
+ "fjT", "렀", 0,
+ "fjd", "렁", 0,
+ "fjg", "렇", 0,
+ "fpr", "렉", 0,
+ "fps", "렌", 0,
+ "fpf", "렐", 0,
+ "fpa", "렘", 0,
+ "fpq", "렙", 0,
+ "fpt", "렛", 0,
+ "fpd", "렝", 0,
+ "fur", "력", 0,
+ "fus", "련", 0,
+ "fuf", "렬", 0,
+ "fua", "렴", 0,
+ "fuq", "렵", 0,
+ "fut", "렷", 0,
+ "fuT", "렸", 0,
+ "fud", "령", 0,
+ "fPs", "롄", 0,
+ "fPq", "롑", 0,
+ "fPt", "롓", 0,
+ "fhr", "록", 0,
+ "fhs", "론", 0,
+ "fhf", "롤", 0,
+ "fha", "롬", 0,
+ "fhq", "롭", 0,
+ "fht", "롯", 0,
+ "fhd", "롱", 0,
+ "fKs", "롼", 0,
+ "fKd", "뢍", 0,
+ "fHT", "뢨", 0,
+ "fLs", "뢴", 0,
+ "fLf", "뢸", 0,
+ "fLa", "룀", 0,
+ "fLq", "룁", 0,
+ "fLt", "룃", 0,
+ "fLd", "룅", 0,
+ "fys", "룐", 0,
+ "fyf", "룔", 0,
+ "fyq", "룝", 0,
+ "fyt", "룟", 0,
+ "fyd", "룡", 0,
+ "fnr", "룩", 0,
+ "fns", "룬", 0,
+ "fnf", "룰", 0,
+ "fna", "룸", 0,
+ "fnq", "룹", 0,
+ "fnt", "룻", 0,
+ "fnd", "룽", 0,
+ "fJT", "뤘", 0,
+ "fBr", "뤽", 0,
+ "fBs", "륀", 0,
+ "fBf", "륄", 0,
+ "fBa", "륌", 0,
+ "fBt", "륏", 0,
+ "fBd", "륑", 0,
+ "fbr", "륙", 0,
+ "fbs", "륜", 0,
+ "fbf", "률", 0,
+ "fba", "륨", 0,
+ "fbq", "륩", 0,
+ "fbt", "륫", 0,
+ "fbd", "륭", 0,
+ "fmr", "륵", 0,
+ "fms", "른", 0,
+ "fmf", "를", 0,
+ "fma", "름", 0,
+ "fmq", "릅", 0,
+ "fmt", "릇", 0,
+ "fmd", "릉", 0,
+ "fmw", "릊", 0,
+ "fmx", "릍", 0,
+ "fmv", "릎", 0,
+ "flr", "릭", 0,
+ "fls", "린", 0,
+ "flf", "릴", 0,
+ "fla", "림", 0,
+ "flq", "립", 0,
+ "flt", "릿", 0,
+ "fld", "링", 0,
+ "akr", "막", 0,
+ "aks", "만", 0,
+ "akH", "많", 0,
+ "ake", "맏", 0,
+ "akf", "말", 0,
+ "akG", "맑", 0,
+ "akM", "맒", 0,
+ "aka", "맘", 0,
+ "akq", "맙", 0,
+ "akt", "맛", 0,
+ "akd", "망", 0,
+ "akw", "맞", 0,
+ "akx", "맡", 0,
+ "akg", "맣", 0,
+ "aor", "맥", 0,
+ "aos", "맨", 0,
+ "aof", "맬", 0,
+ "aoa", "맴", 0,
+ "aoq", "맵", 0,
+ "aot", "맷", 0,
+ "aoT", "맸", 0,
+ "aod", "맹", 0,
+ "aow", "맺", 0,
+ "air", "먁", 0,
+ "aif", "먈", 0,
+ "aid", "먕", 0,
+ "ajr", "먹", 0,
+ "ajs", "먼", 0,
+ "ajf", "멀", 0,
+ "ajM", "멂", 0,
+ "aja", "멈", 0,
+ "ajq", "멉", 0,
+ "ajt", "멋", 0,
+ "ajd", "멍", 0,
+ "ajw", "멎", 0,
+ "ajg", "멓", 0,
+ "apr", "멕", 0,
+ "aps", "멘", 0,
+ "apf", "멜", 0,
+ "apa", "멤", 0,
+ "apq", "멥", 0,
+ "apt", "멧", 0,
+ "apT", "멨", 0,
+ "apd", "멩", 0,
+ "aur", "멱", 0,
+ "aus", "면", 0,
+ "auf", "멸", 0,
+ "aut", "몃", 0,
+ "auT", "몄", 0,
+ "aud", "명", 0,
+ "auc", "몇", 0,
+ "ahr", "목", 0,
+ "ahS", "몫", 0,
+ "ahs", "몬", 0,
+ "ahf", "몰", 0,
+ "ahM", "몲", 0,
+ "aha", "몸", 0,
+ "ahq", "몹", 0,
+ "aht", "못", 0,
+ "ahd", "몽", 0,
+ "aKs", "뫈", 0,
+ "aKT", "뫘", 0,
+ "aKd", "뫙", 0,
+ "aLs", "묀", 0,
+ "aLf", "묄", 0,
+ "aLq", "묍", 0,
+ "aLt", "묏", 0,
+ "aLd", "묑", 0,
+ "ays", "묜", 0,
+ "ayf", "묠", 0,
+ "ayq", "묩", 0,
+ "ayt", "묫", 0,
+ "anr", "묵", 0,
+ "anR", "묶", 0,
+ "ans", "문", 0,
+ "ane", "묻", 0,
+ "anf", "물", 0,
+ "anG", "묽", 0,
+ "anM", "묾", 0,
+ "ana", "뭄", 0,
+ "anq", "뭅", 0,
+ "ant", "뭇", 0,
+ "and", "뭉", 0,
+ "anx", "뭍", 0,
+ "ang", "뭏", 0,
+ "aJs", "뭔", 0,
+ "aJf", "뭘", 0,
+ "aJq", "뭡", 0,
+ "aJt", "뭣", 0,
+ "aBs", "뮌", 0,
+ "aBf", "뮐", 0,
+ "abs", "뮨", 0,
+ "abf", "뮬", 0,
+ "aba", "뮴", 0,
+ "abt", "뮷", 0,
+ "ams", "믄", 0,
+ "amf", "믈", 0,
+ "ama", "믐", 0,
+ "amt", "믓", 0,
+ "alr", "믹", 0,
+ "als", "민", 0,
+ "ale", "믿", 0,
+ "alf", "밀", 0,
+ "alM", "밂", 0,
+ "ala", "밈", 0,
+ "alq", "밉", 0,
+ "alt", "밋", 0,
+ "alT", "밌", 0,
+ "ald", "밍", 0,
+ "alc", "및", 0,
+ "alx", "밑", 0,
+ "qkr", "박", 0,
+ "qkR", "밖", 0,
+ "qkS", "밗", 0,
+ "qks", "반", 0,
+ "qke", "받", 0,
+ "qkf", "발", 0,
+ "qkG", "밝", 0,
+ "qkM", "밞", 0,
+ "qkA", "밟", 0,
+ "qka", "밤", 0,
+ "qkq", "밥", 0,
+ "qkt", "밧", 0,
+ "qkd", "방", 0,
+ "qkx", "밭", 0,
+ "qor", "백", 0,
+ "qos", "밴", 0,
+ "qof", "밸", 0,
+ "qoa", "뱀", 0,
+ "qoq", "뱁", 0,
+ "qot", "뱃", 0,
+ "qoT", "뱄", 0,
+ "qod", "뱅", 0,
+ "qox", "뱉", 0,
+ "qir", "뱍", 0,
+ "qis", "뱐", 0,
+ "qiq", "뱝", 0,
+ "qjr", "벅", 0,
+ "qjs", "번", 0,
+ "qje", "벋", 0,
+ "qjf", "벌", 0,
+ "qjM", "벎", 0,
+ "qja", "범", 0,
+ "qjq", "법", 0,
+ "qjt", "벗", 0,
+ "qjd", "벙", 0,
+ "qjw", "벚", 0,
+ "qpr", "벡", 0,
+ "qps", "벤", 0,
+ "qpe", "벧", 0,
+ "qpf", "벨", 0,
+ "qpa", "벰", 0,
+ "qpq", "벱", 0,
+ "qpt", "벳", 0,
+ "qpT", "벴", 0,
+ "qpd", "벵", 0,
+ "qur", "벽", 0,
+ "qus", "변", 0,
+ "quf", "별", 0,
+ "quq", "볍", 0,
+ "qut", "볏", 0,
+ "quT", "볐", 0,
+ "qud", "병", 0,
+ "qux", "볕", 0,
+ "qPs", "볜", 0,
+ "qhr", "복", 0,
+ "qhR", "볶", 0,
+ "qhs", "본", 0,
+ "qhf", "볼", 0,
+ "qha", "봄", 0,
+ "qhq", "봅", 0,
+ "qht", "봇", 0,
+ "qhd", "봉", 0,
+ "qKs", "봔", 0,
+ "qKT", "봤", 0,
+ "qHT", "뵀", 0,
+ "qLr", "뵉", 0,
+ "qLs", "뵌", 0,
+ "qLf", "뵐", 0,
+ "qLa", "뵘", 0,
+ "qLq", "뵙", 0,
+ "qys", "뵨", 0,
+ "qnr", "북", 0,
+ "qns", "분", 0,
+ "qne", "붇", 0,
+ "qnf", "불", 0,
+ "qnG", "붉", 0,
+ "qnM", "붊", 0,
+ "qna", "붐", 0,
+ "qnq", "붑", 0,
+ "qnt", "붓", 0,
+ "qnd", "붕", 0,
+ "qnx", "붙", 0,
+ "qnv", "붚", 0,
+ "qJf", "붤", 0,
+ "qJT", "붰", 0,
+ "qBr", "뷕", 0,
+ "qBs", "뷘", 0,
+ "qBf", "뷜", 0,
+ "qBd", "뷩", 0,
+ "qbs", "뷴", 0,
+ "qbf", "뷸", 0,
+ "qba", "븀", 0,
+ "qbt", "븃", 0,
+ "qbd", "븅", 0,
+ "qmr", "븍", 0,
+ "qms", "븐", 0,
+ "qmf", "블", 0,
+ "qma", "븜", 0,
+ "qmq", "븝", 0,
+ "qmt", "븟", 0,
+ "qlr", "빅", 0,
+ "qls", "빈", 0,
+ "qlf", "빌", 0,
+ "qlM", "빎", 0,
+ "qla", "빔", 0,
+ "qlq", "빕", 0,
+ "qlt", "빗", 0,
+ "qld", "빙", 0,
+ "qlw", "빚", 0,
+ "qlc", "빛", 0,
+ "Qkr", "빡", 0,
+ "Qks", "빤", 0,
+ "Qkf", "빨", 0,
+ "QkM", "빪", 0,
+ "Qka", "빰", 0,
+ "Qkq", "빱", 0,
+ "Qkt", "빳", 0,
+ "QkT", "빴", 0,
+ "Qkd", "빵", 0,
+ "Qkg", "빻", 0,
+ "Qor", "빽", 0,
+ "Qos", "뺀", 0,
+ "Qof", "뺄", 0,
+ "Qoa", "뺌", 0,
+ "Qoq", "뺍", 0,
+ "Qot", "뺏", 0,
+ "QoT", "뺐", 0,
+ "Qod", "뺑", 0,
+ "Qir", "뺙", 0,
+ "Qia", "뺨", 0,
+ "Qjr", "뻑", 0,
+ "Qjs", "뻔", 0,
+ "Qje", "뻗", 0,
+ "Qjf", "뻘", 0,
+ "Qja", "뻠", 0,
+ "Qjt", "뻣", 0,
+ "QjT", "뻤", 0,
+ "Qjd", "뻥", 0,
+ "Qpd", "뼁", 0,
+ "Qur", "뼉", 0,
+ "Qua", "뼘", 0,
+ "Quq", "뼙", 0,
+ "Qut", "뼛", 0,
+ "QuT", "뼜", 0,
+ "Qud", "뼝", 0,
+ "Qhr", "뽁", 0,
+ "Qhs", "뽄", 0,
+ "Qhf", "뽈", 0,
+ "Qha", "뽐", 0,
+ "Qhq", "뽑", 0,
+ "Qhd", "뽕", 0,
+ "Qyd", "뿅", 0,
+ "Qnr", "뿍", 0,
+ "Qns", "뿐", 0,
+ "Qnf", "뿔", 0,
+ "Qna", "뿜", 0,
+ "Qnt", "뿟", 0,
+ "Qnd", "뿡", 0,
+ "Qbd", "쁑", 0,
+ "Qms", "쁜", 0,
+ "Qmf", "쁠", 0,
+ "Qma", "쁨", 0,
+ "Qmq", "쁩", 0,
+ "Qlr", "삑", 0,
+ "Qls", "삔", 0,
+ "Qlf", "삘", 0,
+ "Qla", "삠", 0,
+ "Qlq", "삡", 0,
+ "Qlt", "삣", 0,
+ "Qld", "삥", 0,
+ "tkr", "삭", 0,
+ "tkS", "삯", 0,
+ "tks", "산", 0,
+ "tke", "삳", 0,
+ "tkf", "살", 0,
+ "tkG", "삵", 0,
+ "tkM", "삶", 0,
+ "tka", "삼", 0,
+ "tkq", "삽", 0,
+ "tkt", "삿", 0,
+ "tkT", "샀", 0,
+ "tkd", "상", 0,
+ "tkx", "샅", 0,
+ "tor", "색", 0,
+ "tos", "샌", 0,
+ "tof", "샐", 0,
+ "toa", "샘", 0,
+ "toq", "샙", 0,
+ "tot", "샛", 0,
+ "toT", "샜", 0,
+ "tod", "생", 0,
+ "tir", "샥", 0,
+ "tis", "샨", 0,
+ "tif", "샬", 0,
+ "tia", "샴", 0,
+ "tiq", "샵", 0,
+ "tit", "샷", 0,
+ "tid", "샹", 0,
+ "tOs", "섄", 0,
+ "tOf", "섈", 0,
+ "tOa", "섐", 0,
+ "tOd", "섕", 0,
+ "tjr", "석", 0,
+ "tjR", "섞", 0,
+ "tjS", "섟", 0,
+ "tjs", "선", 0,
+ "tje", "섣", 0,
+ "tjf", "설", 0,
+ "tjM", "섦", 0,
+ "tjA", "섧", 0,
+ "tja", "섬", 0,
+ "tjq", "섭", 0,
+ "tjt", "섯", 0,
+ "tjT", "섰", 0,
+ "tjd", "성", 0,
+ "tjv", "섶", 0,
+ "tpr", "섹", 0,
+ "tps", "센", 0,
+ "tpf", "셀", 0,
+ "tpa", "셈", 0,
+ "tpq", "셉", 0,
+ "tpt", "셋", 0,
+ "tpT", "셌", 0,
+ "tpd", "셍", 0,
+ "tur", "셕", 0,
+ "tus", "션", 0,
+ "tuf", "셜", 0,
+ "tua", "셤", 0,
+ "tuq", "셥", 0,
+ "tut", "셧", 0,
+ "tuT", "셨", 0,
+ "tud", "셩", 0,
+ "tPs", "셴", 0,
+ "tPf", "셸", 0,
+ "tPd", "솅", 0,
+ "thr", "속", 0,
+ "thR", "솎", 0,
+ "ths", "손", 0,
+ "thf", "솔", 0,
+ "thM", "솖", 0,
+ "tha", "솜", 0,
+ "thq", "솝", 0,
+ "tht", "솟", 0,
+ "thd", "송", 0,
+ "thx", "솥", 0,
+ "tKr", "솩", 0,
+ "tKs", "솬", 0,
+ "tKf", "솰", 0,
+ "tKd", "솽", 0,
+ "tHs", "쇈", 0,
+ "tHf", "쇌", 0,
+ "tHa", "쇔", 0,
+ "tHt", "쇗", 0,
+ "tHT", "쇘", 0,
+ "tLs", "쇤", 0,
+ "tLf", "쇨", 0,
+ "tLa", "쇰", 0,
+ "tLq", "쇱", 0,
+ "tLt", "쇳", 0,
+ "tyr", "쇽", 0,
+ "tys", "숀", 0,
+ "tyf", "숄", 0,
+ "tya", "숌", 0,
+ "tyq", "숍", 0,
+ "tyt", "숏", 0,
+ "tyd", "숑", 0,
+ "tnr", "숙", 0,
+ "tns", "순", 0,
+ "tne", "숟", 0,
+ "tnf", "술", 0,
+ "tna", "숨", 0,
+ "tnq", "숩", 0,
+ "tnt", "숫", 0,
+ "tnd", "숭", 0,
+ "tnc", "숯", 0,
+ "tnx", "숱", 0,
+ "tnv", "숲", 0,
+ "tJT", "쉈", 0,
+ "tNr", "쉑", 0,
+ "tNs", "쉔", 0,
+ "tNf", "쉘", 0,
+ "tNa", "쉠", 0,
+ "tNd", "쉥", 0,
+ "tBr", "쉭", 0,
+ "tBs", "쉰", 0,
+ "tBf", "쉴", 0,
+ "tBa", "쉼", 0,
+ "tBq", "쉽", 0,
+ "tBt", "쉿", 0,
+ "tBd", "슁", 0,
+ "tbr", "슉", 0,
+ "tbf", "슐", 0,
+ "tba", "슘", 0,
+ "tbt", "슛", 0,
+ "tbd", "슝", 0,
+ "tmr", "슥", 0,
+ "tms", "슨", 0,
+ "tmf", "슬", 0,
+ "tmG", "슭", 0,
+ "tma", "슴", 0,
+ "tmq", "습", 0,
+ "tmt", "슷", 0,
+ "tmd", "승", 0,
+ "tlr", "식", 0,
+ "tls", "신", 0,
+ "tle", "싣", 0,
+ "tlf", "실", 0,
+ "tlF", "싫", 0,
+ "tla", "심", 0,
+ "tlq", "십", 0,
+ "tlt", "싯", 0,
+ "tld", "싱", 0,
+ "tlv", "싶", 0,
+ "Tkr", "싹", 0,
+ "TkS", "싻", 0,
+ "Tks", "싼", 0,
+ "Tkf", "쌀", 0,
+ "Tka", "쌈", 0,
+ "Tkq", "쌉", 0,
+ "TkT", "쌌", 0,
+ "Tkd", "쌍", 0,
+ "Tkg", "쌓", 0,
+ "Tor", "쌕", 0,
+ "Tos", "쌘", 0,
+ "Tof", "쌜", 0,
+ "Toa", "쌤", 0,
+ "Toq", "쌥", 0,
+ "ToT", "쌨", 0,
+ "Tod", "쌩", 0,
+ "Tid", "썅", 0,
+ "Tjr", "썩", 0,
+ "Tjs", "썬", 0,
+ "Tjf", "썰", 0,
+ "TjM", "썲", 0,
+ "Tja", "썸", 0,
+ "Tjq", "썹", 0,
+ "TjT", "썼", 0,
+ "Tjd", "썽", 0,
+ "Tps", "쎈", 0,
+ "Tpf", "쎌", 0,
+ "TPs", "쏀", 0,
+ "Thr", "쏙", 0,
+ "Ths", "쏜", 0,
+ "The", "쏟", 0,
+ "Thf", "쏠", 0,
+ "ThM", "쏢", 0,
+ "Tha", "쏨", 0,
+ "Thq", "쏩", 0,
+ "Thd", "쏭", 0,
+ "TKr", "쏵", 0,
+ "TKs", "쏸", 0,
+ "TKT", "쐈", 0,
+ "THT", "쐤", 0,
+ "TLs", "쐰", 0,
+ "TLf", "쐴", 0,
+ "TLa", "쐼", 0,
+ "TLq", "쐽", 0,
+ "Tnr", "쑥", 0,
+ "Tns", "쑨", 0,
+ "Tnf", "쑬", 0,
+ "Tna", "쑴", 0,
+ "Tnq", "쑵", 0,
+ "Tnd", "쑹", 0,
+ "TJT", "쒔", 0,
+ "TBs", "쒼", 0,
+ "Tbd", "쓩", 0,
+ "Tmr", "쓱", 0,
+ "Tms", "쓴", 0,
+ "Tmf", "쓸", 0,
+ "TmM", "쓺", 0,
+ "TmF", "쓿", 0,
+ "Tma", "씀", 0,
+ "Tmq", "씁", 0,
+ "TMs", "씐", 0,
+ "TMf", "씔", 0,
+ "TMa", "씜", 0,
+ "Tlr", "씩", 0,
+ "Tls", "씬", 0,
+ "Tlf", "씰", 0,
+ "Tla", "씸", 0,
+ "Tlq", "씹", 0,
+ "Tlt", "씻", 0,
+ "Tld", "씽", 0,
+ "dkr", "악", 0,
+ "dks", "안", 0,
+ "dkJ", "앉", 0,
+ "dkH", "않", 0,
+ "dkf", "알", 0,
+ "dkG", "앍", 0,
+ "dkM", "앎", 0,
+ "dkF", "앓", 0,
+ "dka", "암", 0,
+ "dkq", "압", 0,
+ "dkt", "앗", 0,
+ "dkT", "았", 0,
+ "dkd", "앙", 0,
+ "dkx", "앝", 0,
+ "dkv", "앞", 0,
+ "dor", "액", 0,
+ "dos", "앤", 0,
+ "dof", "앨", 0,
+ "doa", "앰", 0,
+ "doq", "앱", 0,
+ "dot", "앳", 0,
+ "doT", "앴", 0,
+ "dod", "앵", 0,
+ "dir", "약", 0,
+ "dis", "얀", 0,
+ "dif", "얄", 0,
+ "diA", "얇", 0,
+ "dia", "얌", 0,
+ "diq", "얍", 0,
+ "dit", "얏", 0,
+ "did", "양", 0,
+ "dix", "얕", 0,
+ "dig", "얗", 0,
+ "dOs", "얜", 0,
+ "dOf", "얠", 0,
+ "dOq", "얩", 0,
+ "djr", "억", 0,
+ "djs", "언", 0,
+ "djJ", "얹", 0,
+ "dje", "얻", 0,
+ "djf", "얼", 0,
+ "djG", "얽", 0,
+ "djM", "얾", 0,
+ "dja", "엄", 0,
+ "djq", "업", 0,
+ "djC", "없", 0,
+ "djt", "엇", 0,
+ "djT", "었", 0,
+ "djd", "엉", 0,
+ "djw", "엊", 0,
+ "djz", "엌", 0,
+ "djv", "엎", 0,
+ "dpr", "엑", 0,
+ "dps", "엔", 0,
+ "dpf", "엘", 0,
+ "dpa", "엠", 0,
+ "dpq", "엡", 0,
+ "dpt", "엣", 0,
+ "dpd", "엥", 0,
+ "dur", "역", 0,
+ "duR", "엮", 0,
+ "dus", "연", 0,
+ "duf", "열", 0,
+ "duM", "엶", 0,
+ "duA", "엷", 0,
+ "dua", "염", 0,
+ "duq", "엽", 0,
+ "duC", "엾", 0,
+ "dut", "엿", 0,
+ "duT", "였", 0,
+ "dud", "영", 0,
+ "dux", "옅", 0,
+ "duv", "옆", 0,
+ "dug", "옇", 0,
+ "dPs", "옌", 0,
+ "dPf", "옐", 0,
+ "dPa", "옘", 0,
+ "dPq", "옙", 0,
+ "dPt", "옛", 0,
+ "dPT", "옜", 0,
+ "dhr", "옥", 0,
+ "dhs", "온", 0,
+ "dhf", "올", 0,
+ "dhG", "옭", 0,
+ "dhM", "옮", 0,
+ "dhN", "옰", 0,
+ "dhF", "옳", 0,
+ "dha", "옴", 0,
+ "dhq", "옵", 0,
+ "dht", "옷", 0,
+ "dhd", "옹", 0,
+ "dhc", "옻", 0,
+ "dKr", "왁", 0,
+ "dKs", "완", 0,
+ "dKf", "왈", 0,
+ "dKa", "왐", 0,
+ "dKq", "왑", 0,
+ "dKt", "왓", 0,
+ "dKT", "왔", 0,
+ "dKd", "왕", 0,
+ "dHr", "왝", 0,
+ "dHs", "왠", 0,
+ "dHa", "왬", 0,
+ "dHt", "왯", 0,
+ "dHd", "왱", 0,
+ "dLr", "왹", 0,
+ "dLs", "왼", 0,
+ "dLf", "욀", 0,
+ "dLa", "욈", 0,
+ "dLq", "욉", 0,
+ "dLt", "욋", 0,
+ "dLd", "욍", 0,
+ "dyr", "욕", 0,
+ "dys", "욘", 0,
+ "dyf", "욜", 0,
+ "dya", "욤", 0,
+ "dyq", "욥", 0,
+ "dyt", "욧", 0,
+ "dyd", "용", 0,
+ "dnr", "욱", 0,
+ "dns", "운", 0,
+ "dnf", "울", 0,
+ "dnG", "욹", 0,
+ "dnM", "욺", 0,
+ "dna", "움", 0,
+ "dnq", "웁", 0,
+ "dnt", "웃", 0,
+ "dnd", "웅", 0,
+ "dJr", "웍", 0,
+ "dJs", "원", 0,
+ "dJf", "월", 0,
+ "dJa", "웜", 0,
+ "dJq", "웝", 0,
+ "dJT", "웠", 0,
+ "dJd", "웡", 0,
+ "dNr", "웩", 0,
+ "dNs", "웬", 0,
+ "dNf", "웰", 0,
+ "dNa", "웸", 0,
+ "dNq", "웹", 0,
+ "dNd", "웽", 0,
+ "dBr", "윅", 0,
+ "dBs", "윈", 0,
+ "dBf", "윌", 0,
+ "dBa", "윔", 0,
+ "dBq", "윕", 0,
+ "dBt", "윗", 0,
+ "dBd", "윙", 0,
+ "dbr", "육", 0,
+ "dbs", "윤", 0,
+ "dbf", "율", 0,
+ "dba", "윰", 0,
+ "dbq", "윱", 0,
+ "dbt", "윳", 0,
+ "dbd", "융", 0,
+ "dbc", "윷", 0,
+ "dmr", "윽", 0,
+ "dms", "은", 0,
+ "dmf", "을", 0,
+ "dmV", "읊", 0,
+ "dma", "음", 0,
+ "dmq", "읍", 0,
+ "dmt", "읏", 0,
+ "dmd", "응", 0,
+ "dmw", "읒", 0,
+ "dmc", "읓", 0,
+ "dmz", "읔", 0,
+ "dmx", "읕", 0,
+ "dmv", "읖", 0,
+ "dmg", "읗", 0,
+ "dMs", "읜", 0,
+ "dMf", "읠", 0,
+ "dMa", "읨", 0,
+ "dMt", "읫", 0,
+ "dlr", "익", 0,
+ "dls", "인", 0,
+ "dlf", "일", 0,
+ "dlG", "읽", 0,
+ "dlM", "읾", 0,
+ "dlF", "잃", 0,
+ "dla", "임", 0,
+ "dlq", "입", 0,
+ "dlt", "잇", 0,
+ "dlT", "있", 0,
+ "dld", "잉", 0,
+ "dlw", "잊", 0,
+ "dlv", "잎", 0,
+ "wkr", "작", 0,
+ "wks", "잔", 0,
+ "wkH", "잖", 0,
+ "wke", "잗", 0,
+ "wkf", "잘", 0,
+ "wkM", "잚", 0,
+ "wka", "잠", 0,
+ "wkq", "잡", 0,
+ "wkt", "잣", 0,
+ "wkT", "잤", 0,
+ "wkd", "장", 0,
+ "wkw", "잦", 0,
+ "wor", "잭", 0,
+ "wos", "잰", 0,
+ "wof", "잴", 0,
+ "woa", "잼", 0,
+ "woq", "잽", 0,
+ "wot", "잿", 0,
+ "woT", "쟀", 0,
+ "wod", "쟁", 0,
+ "wir", "쟉", 0,
+ "wis", "쟌", 0,
+ "wiH", "쟎", 0,
+ "wif", "쟐", 0,
+ "wia", "쟘", 0,
+ "wid", "쟝", 0,
+ "wOs", "쟨", 0,
+ "wOf", "쟬", 0,
+ "wjr", "적", 0,
+ "wjs", "전", 0,
+ "wjf", "절", 0,
+ "wjM", "젊", 0,
+ "wja", "점", 0,
+ "wjq", "접", 0,
+ "wjt", "젓", 0,
+ "wjd", "정", 0,
+ "wjw", "젖", 0,
+ "wpr", "젝", 0,
+ "wps", "젠", 0,
+ "wpf", "젤", 0,
+ "wpa", "젬", 0,
+ "wpq", "젭", 0,
+ "wpt", "젯", 0,
+ "wpd", "젱", 0,
+ "wus", "젼", 0,
+ "wuf", "졀", 0,
+ "wua", "졈", 0,
+ "wuq", "졉", 0,
+ "wuT", "졌", 0,
+ "wud", "졍", 0,
+ "whr", "족", 0,
+ "whs", "존", 0,
+ "whf", "졸", 0,
+ "whM", "졺", 0,
+ "wha", "좀", 0,
+ "whq", "좁", 0,
+ "wht", "좃", 0,
+ "whd", "종", 0,
+ "whw", "좆", 0,
+ "whc", "좇", 0,
+ "whg", "좋", 0,
+ "wKr", "좍", 0,
+ "wKf", "좔", 0,
+ "wKq", "좝", 0,
+ "wKt", "좟", 0,
+ "wKd", "좡", 0,
+ "wHT", "좼", 0,
+ "wHd", "좽", 0,
+ "wLs", "죈", 0,
+ "wLf", "죌", 0,
+ "wLa", "죔", 0,
+ "wLq", "죕", 0,
+ "wLt", "죗", 0,
+ "wLd", "죙", 0,
+ "wyr", "죡", 0,
+ "wys", "죤", 0,
+ "wyd", "죵", 0,
+ "wnr", "죽", 0,
+ "wns", "준", 0,
+ "wnf", "줄", 0,
+ "wnG", "줅", 0,
+ "wnM", "줆", 0,
+ "wna", "줌", 0,
+ "wnq", "줍", 0,
+ "wnt", "줏", 0,
+ "wnd", "중", 0,
+ "wJT", "줬", 0,
+ "wBr", "쥑", 0,
+ "wBs", "쥔", 0,
+ "wBf", "쥘", 0,
+ "wBa", "쥠", 0,
+ "wBq", "쥡", 0,
+ "wBt", "쥣", 0,
+ "wbs", "쥰", 0,
+ "wbf", "쥴", 0,
+ "wba", "쥼", 0,
+ "wmr", "즉", 0,
+ "wms", "즌", 0,
+ "wmf", "즐", 0,
+ "wma", "즘", 0,
+ "wmq", "즙", 0,
+ "wmt", "즛", 0,
+ "wmd", "증", 0,
+ "wlr", "직", 0,
+ "wls", "진", 0,
+ "wle", "짇", 0,
+ "wlf", "질", 0,
+ "wlM", "짊", 0,
+ "wla", "짐", 0,
+ "wlq", "집", 0,
+ "wlt", "짓", 0,
+ "wld", "징", 0,
+ "wlw", "짖", 0,
+ "wlx", "짙", 0,
+ "wlv", "짚", 0,
+ "Wkr", "짝", 0,
+ "Wks", "짠", 0,
+ "WkH", "짢", 0,
+ "Wkf", "짤", 0,
+ "WkA", "짧", 0,
+ "Wka", "짬", 0,
+ "Wkq", "짭", 0,
+ "Wkt", "짯", 0,
+ "WkT", "짰", 0,
+ "Wkd", "짱", 0,
+ "Wor", "짹", 0,
+ "Wos", "짼", 0,
+ "Wof", "쨀", 0,
+ "Woa", "쨈", 0,
+ "Woq", "쨉", 0,
+ "Wot", "쨋", 0,
+ "WoT", "쨌", 0,
+ "Wod", "쨍", 0,
+ "Wis", "쨘", 0,
+ "Wid", "쨩", 0,
+ "Wjr", "쩍", 0,
+ "Wjs", "쩐", 0,
+ "Wjf", "쩔", 0,
+ "Wja", "쩜", 0,
+ "Wjq", "쩝", 0,
+ "Wjt", "쩟", 0,
+ "WjT", "쩠", 0,
+ "Wjd", "쩡", 0,
+ "Wpd", "쩽", 0,
+ "WuT", "쪘", 0,
+ "Whr", "쪽", 0,
+ "Whs", "쫀", 0,
+ "Whf", "쫄", 0,
+ "Wha", "쫌", 0,
+ "Whq", "쫍", 0,
+ "Wht", "쫏", 0,
+ "Whd", "쫑", 0,
+ "Whc", "쫓", 0,
+ "WKr", "쫙", 0,
+ "WKf", "쫠", 0,
+ "WKT", "쫬", 0,
+ "WHT", "쬈", 0,
+ "WLs", "쬔", 0,
+ "WLf", "쬘", 0,
+ "WLa", "쬠", 0,
+ "WLq", "쬡", 0,
+ "Wyd", "쭁", 0,
+ "Wnr", "쭉", 0,
+ "Wns", "쭌", 0,
+ "Wnf", "쭐", 0,
+ "Wna", "쭘", 0,
+ "Wnq", "쭙", 0,
+ "Wnd", "쭝", 0,
+ "WJT", "쭸", 0,
+ "WJd", "쭹", 0,
+ "Wma", "쯤", 0,
+ "Wmt", "쯧", 0,
+ "Wmd", "쯩", 0,
+ "Wlr", "찍", 0,
+ "Wls", "찐", 0,
+ "Wlf", "찔", 0,
+ "Wla", "찜", 0,
+ "Wlq", "찝", 0,
+ "Wld", "찡", 0,
+ "Wlw", "찢", 0,
+ "Wlg", "찧", 0,
+ "ckr", "착", 0,
+ "cks", "찬", 0,
+ "ckH", "찮", 0,
+ "ckf", "찰", 0,
+ "cka", "참", 0,
+ "ckq", "찹", 0,
+ "ckt", "찻", 0,
+ "ckT", "찼", 0,
+ "ckd", "창", 0,
+ "ckw", "찾", 0,
+ "cor", "책", 0,
+ "cos", "챈", 0,
+ "cof", "챌", 0,
+ "coa", "챔", 0,
+ "coq", "챕", 0,
+ "cot", "챗", 0,
+ "coT", "챘", 0,
+ "cod", "챙", 0,
+ "cis", "챤", 0,
+ "ciH", "챦", 0,
+ "cif", "챨", 0,
+ "cia", "챰", 0,
+ "cid", "챵", 0,
+ "cjr", "척", 0,
+ "cjs", "천", 0,
+ "cjf", "철", 0,
+ "cja", "첨", 0,
+ "cjq", "첩", 0,
+ "cjt", "첫", 0,
+ "cjT", "첬", 0,
+ "cjd", "청", 0,
+ "cpr", "첵", 0,
+ "cps", "첸", 0,
+ "cpf", "첼", 0,
+ "cpa", "쳄", 0,
+ "cpq", "쳅", 0,
+ "cpt", "쳇", 0,
+ "cpd", "쳉", 0,
+ "cus", "쳔", 0,
+ "cuT", "쳤", 0,
+ "cPs", "쳰", 0,
+ "cPd", "촁", 0,
+ "chr", "촉", 0,
+ "chs", "촌", 0,
+ "chf", "촐", 0,
+ "cha", "촘", 0,
+ "chq", "촙", 0,
+ "cht", "촛", 0,
+ "chd", "총", 0,
+ "cKs", "촨", 0,
+ "cKf", "촬", 0,
+ "cKd", "촹", 0,
+ "cLs", "쵠", 0,
+ "cLf", "쵤", 0,
+ "cLa", "쵬", 0,
+ "cLq", "쵭", 0,
+ "cLt", "쵯", 0,
+ "cLd", "쵱", 0,
+ "cya", "춈", 0,
+ "cnr", "축", 0,
+ "cns", "춘", 0,
+ "cnf", "출", 0,
+ "cna", "춤", 0,
+ "cnq", "춥", 0,
+ "cnt", "춧", 0,
+ "cnd", "충", 0,
+ "cJT", "췄", 0,
+ "cNs", "췐", 0,
+ "cBs", "췬", 0,
+ "cBf", "췰", 0,
+ "cBa", "췸", 0,
+ "cBq", "췹", 0,
+ "cBt", "췻", 0,
+ "cBd", "췽", 0,
+ "cbs", "츈", 0,
+ "cbf", "츌", 0,
+ "cba", "츔", 0,
+ "cbd", "츙", 0,
+ "cmr", "측", 0,
+ "cms", "츤", 0,
+ "cmf", "츨", 0,
+ "cma", "츰", 0,
+ "cmq", "츱", 0,
+ "cmt", "츳", 0,
+ "cmd", "층", 0,
+ "clr", "칙", 0,
+ "cls", "친", 0,
+ "cle", "칟", 0,
+ "clf", "칠", 0,
+ "clG", "칡", 0,
+ "cla", "침", 0,
+ "clq", "칩", 0,
+ "clt", "칫", 0,
+ "cld", "칭", 0,
+ "zkr", "칵", 0,
+ "zks", "칸", 0,
+ "zkf", "칼", 0,
+ "zka", "캄", 0,
+ "zkq", "캅", 0,
+ "zkt", "캇", 0,
+ "zkd", "캉", 0,
+ "zor", "캑", 0,
+ "zos", "캔", 0,
+ "zof", "캘", 0,
+ "zoa", "캠", 0,
+ "zoq", "캡", 0,
+ "zot", "캣", 0,
+ "zoT", "캤", 0,
+ "zod", "캥", 0,
+ "zir", "캭", 0,
+ "zid", "컁", 0,
+ "zjr", "컥", 0,
+ "zjs", "컨", 0,
+ "zje", "컫", 0,
+ "zjf", "컬", 0,
+ "zja", "컴", 0,
+ "zjq", "컵", 0,
+ "zjt", "컷", 0,
+ "zjT", "컸", 0,
+ "zjd", "컹", 0,
+ "zpr", "켁", 0,
+ "zps", "켄", 0,
+ "zpf", "켈", 0,
+ "zpa", "켐", 0,
+ "zpq", "켑", 0,
+ "zpt", "켓", 0,
+ "zpd", "켕", 0,
+ "zus", "켠", 0,
+ "zuf", "켤", 0,
+ "zua", "켬", 0,
+ "zuq", "켭", 0,
+ "zut", "켯", 0,
+ "zuT", "켰", 0,
+ "zud", "켱", 0,
+ "zhr", "콕", 0,
+ "zhs", "콘", 0,
+ "zhf", "콜", 0,
+ "zha", "콤", 0,
+ "zhq", "콥", 0,
+ "zht", "콧", 0,
+ "zhd", "콩", 0,
+ "zKr", "콱", 0,
+ "zKs", "콴", 0,
+ "zKf", "콸", 0,
+ "zKa", "쾀", 0,
+ "zKd", "쾅", 0,
+ "zHd", "쾡", 0,
+ "zLf", "쾰", 0,
+ "znr", "쿡", 0,
+ "zns", "쿤", 0,
+ "znf", "쿨", 0,
+ "zna", "쿰", 0,
+ "znq", "쿱", 0,
+ "znt", "쿳", 0,
+ "znd", "쿵", 0,
+ "zJs", "퀀", 0,
+ "zJf", "퀄", 0,
+ "zJd", "퀑", 0,
+ "zNd", "퀭", 0,
+ "zBr", "퀵", 0,
+ "zBs", "퀸", 0,
+ "zBf", "퀼", 0,
+ "zBa", "큄", 0,
+ "zBq", "큅", 0,
+ "zBt", "큇", 0,
+ "zBd", "큉", 0,
+ "zbs", "큔", 0,
+ "zbf", "큘", 0,
+ "zba", "큠", 0,
+ "zmr", "큭", 0,
+ "zms", "큰", 0,
+ "zmf", "클", 0,
+ "zma", "큼", 0,
+ "zmq", "큽", 0,
+ "zmd", "킁", 0,
+ "zlr", "킥", 0,
+ "zls", "킨", 0,
+ "zlf", "킬", 0,
+ "zla", "킴", 0,
+ "zlq", "킵", 0,
+ "zlt", "킷", 0,
+ "zld", "킹", 0,
+ "xkr", "탁", 0,
+ "xks", "탄", 0,
+ "xkf", "탈", 0,
+ "xkG", "탉", 0,
+ "xka", "탐", 0,
+ "xkq", "탑", 0,
+ "xkt", "탓", 0,
+ "xkT", "탔", 0,
+ "xkd", "탕", 0,
+ "xor", "택", 0,
+ "xos", "탠", 0,
+ "xof", "탤", 0,
+ "xoa", "탬", 0,
+ "xoq", "탭", 0,
+ "xot", "탯", 0,
+ "xoT", "탰", 0,
+ "xod", "탱", 0,
+ "xid", "턍", 0,
+ "xjr", "턱", 0,
+ "xjs", "턴", 0,
+ "xjf", "털", 0,
+ "xjM", "턺", 0,
+ "xja", "텀", 0,
+ "xjq", "텁", 0,
+ "xjt", "텃", 0,
+ "xjT", "텄", 0,
+ "xjd", "텅", 0,
+ "xpr", "텍", 0,
+ "xps", "텐", 0,
+ "xpf", "텔", 0,
+ "xpa", "템", 0,
+ "xpq", "텝", 0,
+ "xpt", "텟", 0,
+ "xpd", "텡", 0,
+ "xus", "텬", 0,
+ "xuT", "텼", 0,
+ "xPs", "톈", 0,
+ "xhr", "톡", 0,
+ "xhs", "톤", 0,
+ "xhf", "톨", 0,
+ "xha", "톰", 0,
+ "xhq", "톱", 0,
+ "xht", "톳", 0,
+ "xhd", "통", 0,
+ "xhv", "톺", 0,
+ "xKs", "퇀", 0,
+ "xLs", "퇸", 0,
+ "xLt", "툇", 0,
+ "xLd", "툉", 0,
+ "xnr", "툭", 0,
+ "xns", "툰", 0,
+ "xnf", "툴", 0,
+ "xna", "툼", 0,
+ "xnq", "툽", 0,
+ "xnt", "툿", 0,
+ "xnd", "퉁", 0,
+ "xJT", "퉜", 0,
+ "xBr", "튁", 0,
+ "xBs", "튄", 0,
+ "xBf", "튈", 0,
+ "xBa", "튐", 0,
+ "xBq", "튑", 0,
+ "xBd", "튕", 0,
+ "xbs", "튠", 0,
+ "xbf", "튤", 0,
+ "xba", "튬", 0,
+ "xbd", "튱", 0,
+ "xmr", "특", 0,
+ "xms", "튼", 0,
+ "xme", "튿", 0,
+ "xmf", "틀", 0,
+ "xmM", "틂", 0,
+ "xma", "틈", 0,
+ "xmq", "틉", 0,
+ "xmt", "틋", 0,
+ "xMs", "틘", 0,
+ "xMf", "틜", 0,
+ "xMa", "틤", 0,
+ "xMq", "틥", 0,
+ "xlr", "틱", 0,
+ "xls", "틴", 0,
+ "xlf", "틸", 0,
+ "xla", "팀", 0,
+ "xlq", "팁", 0,
+ "xlt", "팃", 0,
+ "xld", "팅", 0,
+ "vkr", "팍", 0,
+ "vkR", "팎", 0,
+ "vks", "판", 0,
+ "vkf", "팔", 0,
+ "vkM", "팖", 0,
+ "vka", "팜", 0,
+ "vkq", "팝", 0,
+ "vkt", "팟", 0,
+ "vkT", "팠", 0,
+ "vkd", "팡", 0,
+ "vkx", "팥", 0,
+ "vor", "팩", 0,
+ "vos", "팬", 0,
+ "vof", "팰", 0,
+ "voa", "팸", 0,
+ "voq", "팹", 0,
+ "vot", "팻", 0,
+ "voT", "팼", 0,
+ "vod", "팽", 0,
+ "vir", "퍅", 0,
+ "vjr", "퍽", 0,
+ "vjs", "펀", 0,
+ "vjf", "펄", 0,
+ "vja", "펌", 0,
+ "vjq", "펍", 0,
+ "vjt", "펏", 0,
+ "vjT", "펐", 0,
+ "vjd", "펑", 0,
+ "vpr", "펙", 0,
+ "vps", "펜", 0,
+ "vpf", "펠", 0,
+ "vpa", "펨", 0,
+ "vpq", "펩", 0,
+ "vpt", "펫", 0,
+ "vpd", "펭", 0,
+ "vus", "편", 0,
+ "vuf", "펼", 0,
+ "vua", "폄", 0,
+ "vuq", "폅", 0,
+ "vuT", "폈", 0,
+ "vud", "평", 0,
+ "vPf", "폘", 0,
+ "vPq", "폡", 0,
+ "vPt", "폣", 0,
+ "vhr", "폭", 0,
+ "vhs", "폰", 0,
+ "vhf", "폴", 0,
+ "vha", "폼", 0,
+ "vhq", "폽", 0,
+ "vht", "폿", 0,
+ "vhd", "퐁", 0,
+ "vKd", "퐝", 0,
+ "vLs", "푄", 0,
+ "vys", "푠", 0,
+ "vyf", "푤", 0,
+ "vyq", "푭", 0,
+ "vyt", "푯", 0,
+ "vnr", "푹", 0,
+ "vns", "푼", 0,
+ "vne", "푿", 0,
+ "vnf", "풀", 0,
+ "vnM", "풂", 0,
+ "vna", "품", 0,
+ "vnq", "풉", 0,
+ "vnt", "풋", 0,
+ "vnd", "풍", 0,
+ "vJd", "풩", 0,
+ "vBs", "퓐", 0,
+ "vBf", "퓔", 0,
+ "vBa", "퓜", 0,
+ "vBt", "퓟", 0,
+ "vbs", "퓬", 0,
+ "vbf", "퓰", 0,
+ "vba", "퓸", 0,
+ "vbt", "퓻", 0,
+ "vbd", "퓽", 0,
+ "vms", "픈", 0,
+ "vmf", "플", 0,
+ "vma", "픔", 0,
+ "vmq", "픕", 0,
+ "vmt", "픗", 0,
+ "vlr", "픽", 0,
+ "vls", "핀", 0,
+ "vlf", "필", 0,
+ "vla", "핌", 0,
+ "vlq", "핍", 0,
+ "vlt", "핏", 0,
+ "vld", "핑", 0,
+ "gkr", "학", 0,
+ "gks", "한", 0,
+ "gkf", "할", 0,
+ "gkB", "핥", 0,
+ "gka", "함", 0,
+ "gkq", "합", 0,
+ "gkt", "핫", 0,
+ "gkd", "항", 0,
+ "gor", "핵", 0,
+ "gos", "핸", 0,
+ "gof", "핼", 0,
+ "goa", "햄", 0,
+ "goq", "햅", 0,
+ "got", "햇", 0,
+ "goT", "했", 0,
+ "god", "행", 0,
+ "gid", "향", 0,
+ "gjr", "헉", 0,
+ "gjs", "헌", 0,
+ "gjf", "헐", 0,
+ "gjM", "헒", 0,
+ "gja", "험", 0,
+ "gjq", "헙", 0,
+ "gjt", "헛", 0,
+ "gjd", "헝", 0,
+ "gpr", "헥", 0,
+ "gps", "헨", 0,
+ "gpf", "헬", 0,
+ "gpa", "헴", 0,
+ "gpq", "헵", 0,
+ "gpt", "헷", 0,
+ "gpd", "헹", 0,
+ "gur", "혁", 0,
+ "gus", "현", 0,
+ "guf", "혈", 0,
+ "gua", "혐", 0,
+ "guq", "협", 0,
+ "gut", "혓", 0,
+ "guT", "혔", 0,
+ "gud", "형", 0,
+ "gPs", "혠", 0,
+ "gPf", "혤", 0,
+ "gPq", "혭", 0,
+ "ghr", "혹", 0,
+ "ghs", "혼", 0,
+ "ghf", "홀", 0,
+ "ghB", "홅", 0,
+ "gha", "홈", 0,
+ "ghq", "홉", 0,
+ "ght", "홋", 0,
+ "ghd", "홍", 0,
+ "ghx", "홑", 0,
+ "gKr", "확", 0,
+ "gKs", "환", 0,
+ "gKf", "활", 0,
+ "gKt", "홧", 0,
+ "gKd", "황", 0,
+ "gHr", "홱", 0,
+ "gHs", "홴", 0,
+ "gHt", "횃", 0,
+ "gHd", "횅", 0,
+ "gLr", "획", 0,
+ "gLs", "횐", 0,
+ "gLf", "횔", 0,
+ "gLq", "횝", 0,
+ "gLt", "횟", 0,
+ "gLd", "횡", 0,
+ "gys", "횬", 0,
+ "gyf", "횰", 0,
+ "gyq", "횹", 0,
+ "gyt", "횻", 0,
+ "gnr", "훅", 0,
+ "gns", "훈", 0,
+ "gnf", "훌", 0,
+ "gnB", "훑", 0,
+ "gna", "훔", 0,
+ "gnt", "훗", 0,
+ "gnd", "훙", 0,
+ "gJs", "훤", 0,
+ "gJf", "훨", 0,
+ "gJa", "훰", 0,
+ "gJd", "훵", 0,
+ "gNr", "훽", 0,
+ "gNs", "휀", 0,
+ "gNf", "휄", 0,
+ "gNd", "휑", 0,
+ "gBr", "휙", 0,
+ "gBs", "휜", 0,
+ "gBf", "휠", 0,
+ "gBa", "휨", 0,
+ "gBq", "휩", 0,
+ "gBt", "휫", 0,
+ "gBd", "휭", 0,
+ "gbr", "휵", 0,
+ "gbs", "휸", 0,
+ "gbf", "휼", 0,
+ "gba", "흄", 0,
+ "gbt", "흇", 0,
+ "gbd", "흉", 0,
+ "gmr", "흑", 0,
+ "gms", "흔", 0,
+ "gmH", "흖", 0,
+ "gme", "흗", 0,
+ "gmf", "흘", 0,
+ "gmG", "흙", 0,
+ "gma", "흠", 0,
+ "gmq", "흡", 0,
+ "gmt", "흣", 0,
+ "gmd", "흥", 0,
+ "gmx", "흩", 0,
+ "gMs", "흰", 0,
+ "gMf", "흴", 0,
+ "gMa", "흼", 0,
+ "gMq", "흽", 0,
+ "gMd", "힁", 0,
+ "glr", "힉", 0,
+ "gls", "힌", 0,
+ "glf", "힐", 0,
+ "gla", "힘", 0,
+ "glq", "힙", 0,
+ "glt", "힛", 0,
+ "gld", "힝", 0,
0
};
diff --git a/sys/src/cmd/ktrans/main.c b/sys/src/cmd/ktrans/main.c
index e6c6be754..3757096ee 100644
--- a/sys/src/cmd/ktrans/main.c
+++ b/sys/src/cmd/ktrans/main.c
@@ -6,16 +6,26 @@
* okamoto@granite.cias.osakafu-u.ac.jp
*/
+/*
+ * A glossary on some of the Japanese vocabulary used:
+ * kana: syllabic letting, either hiragana(ひらがな) or katakana(カタカナ)
+ * kanji(漢字): borrowed characters, 楽 in 楽しい
+ * Okurigana(送り仮名): kana tail to kanji, しい in 楽しい
+ * Joshi(助詞): particle, は in 私は
+ * Jisho(辞書): dictionary
+ * kouho(候補): candidate
+ */
+
#include <u.h>
#include <libc.h>
#include <bio.h>
+#include "hash.h"
#include "ktrans.h"
-#include "jisho.h"
#define LSIZE 256
Rune lbuf[LSIZE]; /* hiragana buffer for key input written by send() */
-Map *table = hira; /* default language conversion table */
+Hmap *table;
uchar okurigana[LSIZE]; /* buffer for okurigana */
char okuri = 0; /* buffer/flag for capital input char */
int in, out;
@@ -23,16 +33,10 @@ int llen, olen, joshi = 0;
int natural = 1; /* not Japanese but English mode */
int changelang(int);
-int dotrans(Dictionary*);
+int dotrans(Hmap*);
int nrune(char *);
void send(uchar *, int);
-Map *match(uchar *p, int *nc, Map *table);
-
-extern Dictionary *openQDIC(char *);
-extern KouhoList *getKouhoHash(Dictionary*, char *);
-extern KouhoList *getKouhoFile(DicList*, char *);
-extern void freeQDIC(Dictionary*);
-extern void selectKouho(KouhoList **, KouhoList*);
+Hmap* opendict(Hmap *, char *);
void
kbdopen(void)
@@ -89,6 +93,50 @@ kbdopen(void)
exits(nil);
}
+Map signalmore = {
+ "_", nil, 1,
+};
+
+Hmap*
+initmap(Map *m, int n)
+{
+ int i, j;
+ char buf[16];
+ char *s;
+ Map prev;
+ Hmap *h;
+
+ h = hmapalloc(n, sizeof(Map));
+ for(i = 0; i < n; i++){
+ if(m[i].roma == nil || m[i].roma[0] == '\0')
+ continue;
+
+ //We mark all partial strings so we know when
+ //we have partial match when ingesting.
+ j = 2;
+ for(s = m[i].roma; *s && j <= sizeof buf; s++){
+ snprint(buf, j, "%s", m[i].roma);
+ prev = m[i];
+ if(hmapget(h, buf, &prev) == 0){
+ if(prev.leadstomore == 1 && s[1] == '\0'){
+ //confict; partial & valid input
+ prev = m[i];
+ prev.leadstomore = 1;
+ free(hmapkey(h, buf));
+ }
+ }
+
+ if(s[1] == '\0'){
+ hmapset(&h, strdup(buf), &prev, nil);
+ } else {
+ hmapset(&h, strdup(buf), &signalmore, nil);
+ }
+ j++;
+ }
+ }
+ return h;
+}
+
void
usage(void)
{
@@ -101,11 +149,11 @@ main(int argc, char *argv[])
{
uchar *bp, *ep, buf[128];
- Map *mp;
- int nchar, wantmore;
+ Map lkup, last;
+ int wantmore;
int n, c;
- char *dictname;
- Dictionary *jisho;
+ char *jishoname, *zidianname;
+ Hmap *jisho, *zidian;
ARGBEGIN{
default: usage();
@@ -113,9 +161,20 @@ main(int argc, char *argv[])
if(argc != 0)
usage();
- if((dictname = getenv("jisho")) == nil)
- dictname = "/lib/kanji.jisho";
- jisho = openQDIC(dictname);
+ if((jishoname = getenv("jisho")) == nil)
+ jishoname = "/lib/kanji.jisho";
+ jisho = opendict(nil, jishoname);
+
+ if((zidianname = getenv("zidian")) == nil)
+ zidianname = "/lib/hanzi.zidian";
+ zidian = opendict(nil, zidianname);
+
+ hira = table = initmap(mhira, nelem(mhira));
+ kata = initmap(mkata, nelem(mkata));
+ greek = initmap(mgreek, nelem(mgreek));
+ cyril = initmap(mcyril, nelem(mcyril));
+ hangul = initmap(mhangul, nelem(mhangul));
+ last = (Map){nil, nil, -1};
kbdopen();
if(fork())
@@ -147,8 +206,8 @@ main(int argc, char *argv[])
wantmore = 0;
if (*bp=='') { /* ^x read ktrans-jisho once more */
- freeQDIC(jisho);
- jisho = openQDIC(dictname);
+ jisho = opendict(jisho, jishoname);
+ zidian = opendict(zidian, zidianname);
llen = 0;
olen = okuri = joshi = 0;
wantmore=0;
@@ -156,7 +215,10 @@ main(int argc, char *argv[])
continue;
}
if (*bp=='') { /* ^\ (start translation command) */
- c = dotrans(jisho);
+ if (table == hanzi)
+ c = dotrans(zidian);
+ else
+ c = dotrans(jisho);
if (c)
*bp = c; /* pointer to translated rune */
else
@@ -167,11 +229,13 @@ main(int argc, char *argv[])
bp++;
llen = 0;
olen = okuri = joshi = 0;
+ last.kana = nil;
continue;
}
if (changelang(*bp)) { /* change language mode OK */
bp++;
olen = okuri = joshi = 0;
+ last.kana = nil;
continue;
}
if (natural || *bp<=' ' || *bp>='{') { /* English mode but not ascii */
@@ -179,6 +243,7 @@ main(int argc, char *argv[])
int rlen = chartorune(&r, (char *)bp);
send(bp, rlen); /* write bp to /dev/cons */
bp += rlen;
+ last.kana = nil;
continue;
}
if (table == hira && (*bp >= 'A' && *bp <= 'Z') && (*(bp+1) < 'A'
@@ -192,27 +257,33 @@ main(int argc, char *argv[])
joshi = 1;
olen = 0;
}
- mp = match(bp, &nchar, table);
- if (mp == 0) {
- if (nchar>0) { /* match, longer possible */
- wantmore++;
- break;
- }
- send(bp++, 1); /* alphabet in kana mode */
- } else {
- send((uchar*)mp->kana, strlen(mp->kana));
- bp += nchar;
+ if(hmapget(table, (char*)bp, &lkup) < 0){
+ if(last.kana != nil){
+ send((uchar*)last.kana, strlen(last.kana));
+ bp += strlen(last.roma);
+ } else
+ send(bp++, 1);
+ last.kana = nil;
+ break;
+ }
+ /* concatinations; only advance a single character */
+ if(lkup.kana != nil && strstr("ッっ", lkup.kana))
+ lkup.roma = "_";
+ /* partial match */
+ if(lkup.kana == nil || lkup.leadstomore == 1){
+ if(lkup.kana != nil)
+ last = lkup;
+
+ wantmore = 1;
+ break;
}
+ last.kana = nil;
+ send((uchar*)lkup.kana, strlen(lkup.kana));
+ bp += strlen(lkup.roma);
}
}
}
-int
-min(int a, int b)
-{
- return a<b? a: b;
-}
-
/*
* send UTF string (p) with length (n) to stdout
* and write rune (r) in global lbuf[] buffer
@@ -232,7 +303,9 @@ send(uchar *p, int n)
llen -= 64;
}
- if (table!=hira || natural)
+ if(table != hira && table != hanzi)
+ return;
+ if(natural && table != hanzi)
return;
ep = p+n;
@@ -253,49 +326,13 @@ send(uchar *p, int n)
}
}
-/*
- * Romaji to Hiragana/Katakana conversion
- * romaji shoud be input as small letter
- * returns the matched address in table, hira, kata, etc.
- * nc: number of character (return value)
- */
-Map *
-match(uchar *p, int *nc, Map *table)
-{
- register Map *longp = 0, *kp;
- static char last;
- int longest = 0;
-
- *nc = -1;
- for (kp=table; kp->roma; kp++) {
- if (*p == *kp->roma) {
- int lr = strlen(kp->roma);
- int len = min(lr, strlen((char *)p));
- if (strncmp(kp->roma, (char *)p, len)==0) {
- if (len<lr) {
- *nc = 1;
- return 0;
- }
- if (len>longest) {
- longest = len;
- longp = kp;
- }
- }
- }
- }
- if (longp) {
- last = longp->roma[longest-1];
- *nc = longp->advance;
- }
- return longp;
-}
-
int
changelang(int c)
{
switch(c){
case '': /* ^t (English mode) */
natural = 1;
+ table = hira;
llen = 0;
return 1;
break;
@@ -334,23 +371,80 @@ changelang(int c)
llen = 0;
return 1;
break;
+
+ case '': /* ^c (Chinese mode) */
+ natural = 1;
+ table = hanzi;
+ llen = 0;
+ return 1;
+ break;
}
return 0;
}
+Hmap*
+opendict(Hmap *h, char *name)
+{
+ Biobuf *b;
+ char *p;
+ char *dot, *rest;
+ char *kouho[16];
+ int i;
+
+ b = Bopen(name, OREAD);
+ if(b == nil)
+ return nil;
+
+ if(h == nil)
+ h = hmapalloc(8192, sizeof(kouho));
+ else
+ hmapreset(h, 1);
+ while(p = Brdstr(b, '\n', 1)){
+ if(p[0] == '\0' || p[0] == ';'){
+ Err:
+ free(p);
+ continue;
+ }
+ dot = utfrune(p, '\t');
+ if(dot == nil)
+ goto Err;
+
+ *dot = '\0';
+ rest = dot+1;
+ if(*rest == '\0')
+ goto Err;
+
+ memset(kouho, 0, sizeof kouho);
+ i = 0;
+ while(i < nelem(kouho)-1 && (dot = utfrune(rest, ' '))){
+ *dot = '\0';
+ kouho[i++] = rest;
+ rest = dot+1;
+ }
+ if(i < nelem(kouho)-1)
+ kouho[i] = rest;
+
+ /* key is the base pointer; overwrites clean up for us */
+ hmapset(&h, p, kouho, nil);
+ }
+ Bterm(b);
+ return h;
+}
+
/*
* write translated kanji runes to stdout and return last character
* if it's not ctl-\. if the last is ctl-\, proceed with
* translation of the next kouho
*/
int
-dotrans(Dictionary *dic)
+dotrans(Hmap *dic)
{
Rune *res, r[1];
char v[1024], *p, tbuf[64], hirabuf[64];
int j, lastlen, nokouho = 0;
char ch;
- KouhoList *fstkouho, *currentkouho;
+ int i;
+ char *kouho[16];
if (llen==0)
return 0; /* don't use kanji transform function */
@@ -375,15 +469,13 @@ dotrans(Dictionary *dic)
if (okuri && joshi != 1) /* verb mode */
hirabuf[strlen(hirabuf) - 1] = '\0';
- if(!(fstkouho = getKouhoHash(dic, v))) { /* not found */
+ if(hmapget(dic, v, kouho) < 0){
llen = olen = okuri = joshi = 0;
okurigana[0] = 0;
return 0;
}
-
- currentkouho = fstkouho;
- for(;;) {
- p = currentkouho->kouhotop; /* p to the head of kanji kouho array */
+ for(i = 0; i < nelem(kouho) && kouho[i] != nil; i++) {
+ p = kouho[i];
lastlen = nrune(tbuf); /* number of rune chars */
if (okuri && joshi != 1) /* verb mode */
@@ -407,10 +499,9 @@ dotrans(Dictionary *dic)
exits(nil);
if (ch == '') { /* if next input is ^\, once again */
- if(currentkouho->nextkouho != 0) { /* have next kouho */
+ if(i+1 < nelem(kouho) && kouho[i+1] != nil) { /* have next kouho */
nokouho = 0;
strcpy(tbuf, p);
- currentkouho = currentkouho->nextkouho;
if (okuri && joshi != 1) /* verb mode */
for (j=0; j<nrune(tbuf); j++)
@@ -442,8 +533,12 @@ dotrans(Dictionary *dic)
break;
}
} else {
- if(!nokouho) /* learn the previous use of the kouho */
- selectKouho(&(fstkouho->dicitem->kouho), currentkouho);
+ if(!nokouho && i != 0){ /* learn the previous use of the kouho */
+ p = kouho[0];
+ kouho[0] = kouho[i];
+ kouho[i] = p;
+ hmapset(&dic, hmapkey(dic, v), kouho, nil);
+ }
olen = okuri = joshi = 0;
okurigana[0] = 0;
diff --git a/sys/src/cmd/ktrans/mkfile b/sys/src/cmd/ktrans/mkfile
index 8a2f6b22d..95e21f7b2 100644
--- a/sys/src/cmd/ktrans/mkfile
+++ b/sys/src/cmd/ktrans/mkfile
@@ -2,9 +2,9 @@
BIN=/$objtype/bin
TARG=ktrans
-HFILES=jisho.h ktrans.h
+HFILES=ktrans.h
OFILES=\
+ hash.$O\
main.$O\
- jisho.$O
</sys/src/cmd/mkone