interscript 0.1.1 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +250 -17
  3. data/bin/interscript +38 -17
  4. data/bin/setup +8 -0
  5. data/lib/__pycache__/g2pwrapper.cpython-38.pyc +0 -0
  6. data/lib/g2pwrapper.py +34 -0
  7. data/lib/interscript-opal.rb +2 -0
  8. data/lib/interscript.rb +138 -20
  9. data/lib/interscript/command.rb +28 -0
  10. data/lib/interscript/fs.rb +71 -0
  11. data/lib/interscript/mapping.rb +142 -0
  12. data/lib/interscript/opal.rb +27 -0
  13. data/lib/interscript/opal/maps.js.erb +10 -0
  14. data/lib/interscript/opal_map_translate.rb +12 -0
  15. data/lib/interscript/version.rb +1 -1
  16. data/lib/model-7 +0 -0
  17. data/lib/tha-pt-b-7 +0 -0
  18. data/maps/acadsin-zho-Hani-Latn-2002.yaml +38912 -0
  19. data/maps/alalc-amh-Ethi-Latn-1997.yaml +509 -0
  20. data/maps/alalc-amh-Ethi-Latn-2011.yaml +138 -0
  21. data/maps/alalc-ara-Arab-Latn-1997.yaml +1283 -0
  22. data/maps/alalc-asm-Deva-Latn-1997.yaml +159 -0
  23. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +141 -0
  24. data/maps/alalc-bel-Cyrl-Latn-1997.yaml +125 -0
  25. data/maps/alalc-ben-Beng-Latn-2017.yaml +130 -0
  26. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +94 -0
  27. data/maps/alalc-ell-Grek-Latn-1997.yaml +624 -0
  28. data/maps/alalc-ell-Grek-Latn-2010.yaml +627 -0
  29. data/maps/alalc-hin-Deva-Latn-2020.yaml +159 -0
  30. data/maps/alalc-kat-Geok-Latn-1997.yaml +111 -0
  31. data/maps/alalc-kat-Geor-Latn-1997.yaml +146 -0
  32. data/maps/alalc-kor-Hang-Latn-1997.yaml +94 -0
  33. data/maps/alalc-mar-Deva-Latn-1997.yaml +170 -0
  34. data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +114 -0
  35. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +103 -0
  36. data/maps/alalc-pan-Deva-Latn-1997.yaml +237 -0
  37. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +221 -0
  38. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +162 -0
  39. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +114 -0
  40. data/maps/alalc-srp-Cyrl-Latn-2013.yaml +135 -0
  41. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +141 -0
  42. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +16 -0
  43. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +283 -0
  44. data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +174 -0
  45. data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +169 -0
  46. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +292 -0
  47. data/maps/bgn-kor-Hang-Latn-1943.yaml +31 -0
  48. data/maps/bgn-kor-Kore-Latn-1943.yaml +31 -0
  49. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +208 -0
  50. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +208 -0
  51. data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +528 -0
  52. data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +592 -0
  53. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +108 -0
  54. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +104 -0
  55. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +184 -0
  56. data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +285 -0
  57. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +115 -0
  58. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +38 -0
  59. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +701 -0
  60. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +19 -0
  61. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +257 -0
  62. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +127 -0
  63. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +42 -0
  64. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +253 -0
  65. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +48 -0
  66. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +48 -0
  67. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +159 -0
  68. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +190 -0
  69. data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +200 -0
  70. data/maps/bgnpcgn-per-Arab-Latn-1956.yaml +92 -0
  71. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +314 -0
  72. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +166 -0
  73. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +162 -0
  74. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +208 -0
  75. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +7456 -0
  76. data/maps/bis-asm-Beng-Latn-13194-1991.yaml +159 -0
  77. data/maps/bis-ben-Beng-Latn-13194-1991.yaml +156 -0
  78. data/maps/bis-dev-Deva-Latn-13194-1991.yaml +184 -0
  79. data/maps/bis-gjr-Gujr-Latn-13194-1991.yaml +166 -0
  80. data/maps/bis-knd-Knda-Latn-13194-1991.yaml +173 -0
  81. data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +176 -0
  82. data/maps/bis-ori-Orya-Latn-13194-1991.yaml +160 -0
  83. data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +175 -0
  84. data/maps/bis-tel-Telu-Latn-13194-1991.yaml +170 -0
  85. data/maps/bis-tml-Taml-Latn-13194-1991.yaml +155 -0
  86. data/maps/by-bel-Cyrl-Latn-1998.yaml +168 -0
  87. data/maps/by-bel-Cyrl-Latn-2007.yaml +115 -0
  88. data/maps/dos-nep-Deva-Latn-1997.yaml +33 -0
  89. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +684 -0
  90. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +680 -0
  91. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +19 -0
  92. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +31 -0
  93. data/maps/ggg-kat-Geor-Latn-2002.yaml +88 -0
  94. data/maps/gki-bel-Cyrl-Latn-1992.yaml +33 -0
  95. data/maps/gki-bel-Cyrl-Latn-2000.yaml +201 -0
  96. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +186 -0
  97. data/maps/hk-yue-Hani-Latn-1888.yaml +38497 -0
  98. data/maps/icao-bel-Cyrl-Latn-9303.yaml +136 -0
  99. data/maps/icao-bul-Cyrl-Latn-9303.yaml +118 -0
  100. data/maps/icao-heb-Hebr-Latn-9303.yaml +151 -0
  101. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +117 -0
  102. data/maps/icao-per-Arab-Latn-9303.yaml +103 -0
  103. data/maps/icao-rus-Cyrl-Latn-9303.yaml +117 -0
  104. data/maps/icao-srp-Cyrl-Latn-9303.yaml +117 -0
  105. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +119 -0
  106. data/maps/iso-ara-Arab-Latn-233-1984.yaml +323 -0
  107. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +609 -0
  108. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +40 -0
  109. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +62 -0
  110. data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +271 -0
  111. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +109 -0
  112. data/maps/kp-kor-Hang-Latn-2002.yaml +901 -0
  113. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +44820 -0
  114. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +411 -0
  115. data/maps/moct-kor-Hang-Latn-2000.yaml +803 -0
  116. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +541 -0
  117. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +225 -0
  118. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +63 -0
  119. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +109 -0
  120. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +37 -0
  121. data/maps/nil-kor-Hang-Hang-jamo.yaml +11193 -0
  122. data/maps/odni-aze-Cyrl-Latn-2015.yaml +144 -0
  123. data/maps/odni-bel-Cyrl-Latn-2015.yaml +148 -0
  124. data/maps/odni-bul-Cyrl-Latn-2015.yaml +96 -0
  125. data/maps/odni-hin-Deva-Latn-2015.yaml +258 -0
  126. data/maps/odni-kat-Geor-Latn-2015.yaml +87 -0
  127. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +148 -0
  128. data/maps/odni-kir-Cyrl-Latn-2015.yaml +136 -0
  129. data/maps/odni-mkd-Cyrl-Latn-2015.yaml +122 -0
  130. data/maps/odni-rus-Cyrl-Latn-2015.yaml +77 -0
  131. data/maps/odni-srp-Cyrl-Latn-2015.yaml +129 -0
  132. data/maps/odni-tat-Cyrl-Latn-2015.yaml +142 -0
  133. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +148 -0
  134. data/maps/odni-uig-Cyrl-Latn-2015.yaml +138 -0
  135. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +157 -0
  136. data/maps/odni-urd-Arab-Latn-2015.yaml +221 -0
  137. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +166 -0
  138. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +90 -0
  139. data/maps/royin-tha-Thai-Latn-1968.yaml +179 -0
  140. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +180 -0
  141. data/maps/royin-tha-Thai-Latn-1999.yaml +76 -0
  142. data/maps/sac-zho-Hans-Latn-1979.yaml +24759 -0
  143. data/maps/ses-ara-Arab-Latn-1930.yaml +279 -0
  144. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +222 -0
  145. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +193 -0
  146. data/maps/un-ara-Arab-Latn-1971.yaml +139 -0
  147. data/maps/un-ara-Arab-Latn-1972.yaml +159 -0
  148. data/maps/un-ara-Arab-Latn-2017.yaml +420 -0
  149. data/maps/un-bel-Cyrl-Latn-2007.yaml +114 -0
  150. data/maps/un-ben-Beng-Latn-2016.yaml +534 -0
  151. data/maps/un-ell-Grek-Latn-1987-tl.yaml +31 -0
  152. data/maps/un-ell-Grek-Latn-1987-ts.yaml +19 -0
  153. data/maps/un-ell-Grek-Latn-phonetic-1987.yaml +780 -0
  154. data/maps/un-mon-Mong-Latn-2013.yaml +99 -0
  155. data/maps/un-nep-Deva-Latn-1972.yaml +163 -0
  156. data/maps/un-rus-Cyrl-Latn-1987.yaml +166 -0
  157. data/maps/un-ukr-Cyrl-Latn-1998.yaml +30 -0
  158. data/maps/ungegn-amh-Ethi-Latn-2016.yaml +575 -0
  159. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +406 -0
  160. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +386 -0
  161. data/maps/var-kor-Hang-Latn-mr-1939.yaml +1054 -0
  162. data/maps/var-kor-Kore-Hang-2013.yaml +59754 -0
  163. data/maps/var-kor-Kore-Latn-mr-1939.yaml +36 -0
  164. data/maps/var-tha-Thai-Thai-phonemic.yaml +59 -0
  165. data/maps/var-tha-Thai-Zsym-ipa.yaml +301 -0
  166. data/maps/var-zho-Hani-Latn-1979.yaml +38908 -0
  167. data/spec/interscript/mapping_spec.rb +42 -0
  168. data/spec/interscript_spec.rb +26 -0
  169. data/spec/spec_helper.rb +3 -0
  170. metadata +298 -18
@@ -0,0 +1,411 @@
1
+ ---
2
+ authority_id: mext
3
+ id: 1954
4
+ language: jpn
5
+ source_script: Hrkt
6
+ destination_script: Latn
7
+ name: 内閣告示第一号 -- ローマ字のつづり方
8
+ url: http://www.mext.go.jp/b_menu/hakusho/nc/k19541209001/k19541209001.html
9
+ creation_date: 1954
10
+ adoption_date: 1954-12-09 # 昭和二十九年十二月九日
11
+ description:
12
+ jp: |
13
+ 国語を書き表わす場合に用いるローマ字のつづり方を次のように定める。
14
+
15
+ まえがき
16
+ 1 一般に国語を書き表わす場合は、第1表に掲げたつづり方によるものとする。
17
+ 2 国際的関係その他従来の慣例をにわかに改めがたい事情にある場合に限り、第2表に掲げたつづり方によつてもさしつかえない。
18
+ 3 前二項のいずれの場合においても、おおむねそえがきを適用する。
19
+ en: |
20
+ The spelling method for Roman characters used when writing Japanese language is as follows.
21
+
22
+ Preface
23
+ 1. In general, when the language is written, the spelling shown in Table 1 shall be used.
24
+ 2. The spelling methods listed in Table 2 can be used only when there is a situation that is difficult to change due to international relations or other conventional practices.
25
+ 3. In either case of the preceding two paragraphs, the general introduction will apply.
26
+
27
+ notes:
28
+ - jp: はねる音「ン」はすべてnと書く。
29
+ en: ン / ん is romanized always n in Kunrei-siki
30
+ - jp: はねる音を表わすnと次にくる母音字またはyとを切り離す必要がある場合には、nの次に’を入れる。
31
+ en: When it is necessary to separate the sound n from the vowel or y to follow, the apostrophe is added after the n.
32
+ - jp: つまる音は、最初の子音字を重ねて表わす。
33
+ en: The clogged sound is represented by overlapping the first consonant characters.
34
+ - jp: 長音は母音字の上に^をつけて表わす。なお、大文字の場合は母音字を並べてもよい。
35
+ en: Long vowels are expressed in Kunrei-siki by placing a circumflex (^) over a vowel. In the case of capital letters, vowel characters may be arranged.
36
+ - jp: 特殊音の書き表わし方は自由とする。
37
+ en: The way of writing special sounds is free.
38
+ - jp: 文の書きはじめ、および固有名詞は語頭を大文字で書く。なお、固有名詞以外の名詞の語頭を大文字で書いてもよい。
39
+ en: Begin writing sentences and proper nouns with capital letters. Note that the beginning of nouns other than proper nouns may be written in capital letters.
40
+
41
+
42
+ tests:
43
+ - source: かんおう
44
+ expected: kan'ô
45
+ - source: かのう
46
+ expected: kanô
47
+ - source: きんゆう
48
+ expected: kin'yû
49
+ - source: とうきょう
50
+ expected: tôkyô
51
+ - source: がっこう
52
+ expected: gakkô
53
+ - source: かごっま
54
+ expected: kagomma
55
+ - source: ぽっぽっや
56
+ expected: poppoyya
57
+ - source: てっら
58
+ expected: terra
59
+ - source: にゃっほー
60
+ expected: nyahhô
61
+ - source: ゴッホ
62
+ expected: gohho
63
+
64
+ map:
65
+ rules:
66
+ - pattern: "([んン])(?=[あいうえおやゆよアイウエオヤユヨ])"
67
+ result: "\\1'"
68
+
69
+ postrules:
70
+ # Handling of っ/ッ
71
+ #
72
+ # The kana っ/ッ is a geminate marker.
73
+ # When followed by a consonant, repeat the first letter of
74
+ # the following syllable.
75
+ #
76
+ # If っ/ッ is not followed by a consonant, then it is usually
77
+ # phonetically realised as an abrupt stop or shorterning of
78
+ # the previous syllable. There is no documented or commonly
79
+ # accepted way to transliterate this sound.
80
+
81
+ - pattern: "[っッ]([BbCcDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvWwXxYyZz])" # っ or ッ folloved by consonant
82
+ result: "\\1\\1"
83
+ - pattern: "[っッ]" # drop all other っッ.
84
+ result: ""
85
+
86
+ - pattern: "a[ーa]"
87
+ result: "â"
88
+ - pattern: "i[ーi]"
89
+ result: "î"
90
+ - pattern: "u[ーu]"
91
+ result: "û"
92
+ - pattern: "e[ーe]"
93
+ result: "ê"
94
+ - pattern: "o[ーo]"
95
+ result: "ô"
96
+
97
+ characters:
98
+ "あ": "a"
99
+ "い": "i"
100
+ "う": "u"
101
+ "え": "e"
102
+ "お": "o"
103
+
104
+ # Long vowels, note 4
105
+ "おう": "ô"
106
+
107
+
108
+ "か": "ka"
109
+ "き": "ki"
110
+ "く": "ku"
111
+ "け": "ke"
112
+ "こ": "ko"
113
+ "きゃ": "kya"
114
+ "きゅ": "kyu"
115
+ "きょ": "kyo"
116
+ "きょう": "kyô"
117
+ "こう": "kô"
118
+
119
+ "さ": "sa"
120
+ "し": "si"
121
+ "す": "su"
122
+ "せ": "se"
123
+ "そ": "so"
124
+ "しゃ": "sya"
125
+ "しゅ": "syu"
126
+ "しょ": "syo"
127
+ "しょう": "syô"
128
+ "そう": "sô"
129
+
130
+ "た": "ta"
131
+ "ち": "ti"
132
+ "つ": "tu"
133
+ "て": "te"
134
+ "と": "to"
135
+ "ちゃ": "tya"
136
+ "ちゅ": "tyu"
137
+ "ちょ": "tyo"
138
+ "ちょう": "tyô"
139
+ "とう": "tô"
140
+
141
+ "な": "na"
142
+ "に": "ni"
143
+ "ぬ": "nu"
144
+ "ね": "ne"
145
+ "の": "no"
146
+ "にゃ": "nya"
147
+ "にゅ": "nyu"
148
+ "にょ": "nyo"
149
+ "にょう": "nyô"
150
+ "のう": "nô"
151
+
152
+ "は": "ha"
153
+ "ひ": "hi"
154
+ "ふ": "hu"
155
+ "へ": "he"
156
+ "ほ": "ho"
157
+ "ひゃ": "hya"
158
+ "ひゅ": "hyu"
159
+ "ひょ": "hyo"
160
+ "ひょう": "hyô"
161
+ "ほう": "hô"
162
+
163
+ "ま": "ma"
164
+ "み": "mi"
165
+ "む": "mu"
166
+ "め": "me"
167
+ "も": "mo"
168
+ "みゃ": "mya"
169
+ "みゅ": "myu"
170
+ "みょ": "myo"
171
+ "みょう": "myô"
172
+ "もう": "mô"
173
+
174
+ "や": "ya"
175
+ "ゆ": "yu"
176
+ "よ": "yo"
177
+ "よう": "yô"
178
+
179
+ "ら": "ra"
180
+ "り": "ri"
181
+ "る": "ru"
182
+ "れ": "re"
183
+ "ろ": "ro"
184
+ "りゃ": "rya"
185
+ "りゅ": "ryu"
186
+ "りょ": "ryo"
187
+ "りょう": "ryô"
188
+ "ろう": "rô"
189
+
190
+ "わ": "wa"
191
+ "を": "o"
192
+
193
+ "が": "ga"
194
+ "ぎ": "gi"
195
+ "ぐ": "gu"
196
+ "げ": "ge"
197
+ "ご": "go"
198
+ "ぎゃ": "gya"
199
+ "ぎゅ": "gyu"
200
+ "ぎょ": "gyo"
201
+ "ぎゅう": "gyû"
202
+ "ぎょう": "gyô"
203
+ "ごう": "gô"
204
+
205
+ "ざ": "za"
206
+ "じ": "zi"
207
+ "ず": "zu"
208
+ "ぜ": "ze"
209
+ "ぞ": "zo"
210
+ "じゃ": "zya"
211
+ "じゅ": "zyu"
212
+ "じょ": "zyo"
213
+ "じょう": "zyô"
214
+ "ぞう": "zô"
215
+
216
+
217
+ "だ": "da"
218
+ "ぢ": "zi"
219
+ "づ": "zu"
220
+ "で": "de"
221
+ "ど": "do"
222
+ "ぢゃ": "zya"
223
+ "ぢゅ": "zyu"
224
+ "ぢょ": "zyo"
225
+ "ぢょう": "zyô"
226
+ "どう": "dô"
227
+
228
+ "ば": "ba"
229
+ "び": "bi"
230
+ "ぶ": "bu"
231
+ "べ": "be"
232
+ "ぼ": "bo"
233
+ "びゃ": "bya"
234
+ "びゅ": "byu"
235
+ "びょ": "byo"
236
+ "びょう": "byô"
237
+ "ぼう": "bô"
238
+
239
+ "ぱ": "pa"
240
+ "ぴ": "pi"
241
+ "ぷ": "pu"
242
+ "ぺ": "pe"
243
+ "ぽ": "po"
244
+ "ぴゃ": "pya"
245
+ "ぴゅ": "pyu"
246
+ "ぴょ": "pyo"
247
+ "ぴょう": "pyô"
248
+ "ぽう": "pô"
249
+
250
+ "ん": "n" # See note 2
251
+
252
+
253
+ # Note 3. つまる音は、最初の子音字を重ねて表わす。
254
+ # Handled by postrules
255
+
256
+ # Katakana
257
+
258
+ "ア": "a"
259
+ "イ": "i"
260
+ "ウ": "u"
261
+ "エ": "e"
262
+ "オ": "o"
263
+
264
+ # Long vowels, note 4
265
+ "オウ": "ô"
266
+
267
+ "カ": "ka"
268
+ "キ": "ki"
269
+ "ク": "ku"
270
+ "ケ": "ke"
271
+ "コ": "ko"
272
+ "キャ": "kya"
273
+ "キュ": "kyu"
274
+ "キョ": "kyo"
275
+ "キョウ": "kyô"
276
+ "コウ": "kô"
277
+
278
+ "サ": "sa"
279
+ "シ": "si"
280
+ "ス": "su"
281
+ "セ": "se"
282
+ "ソ": "so"
283
+ "シャ": "sya"
284
+ "シュ": "syu"
285
+ "ショ": "syo"
286
+ "ショウ": "syô"
287
+ "ソウ": "sô"
288
+
289
+ "タ": "ta"
290
+ "チ": "ti"
291
+ "ツ": "tu"
292
+ "テ": "te"
293
+ "ト": "to"
294
+ "チャ": "tya"
295
+ "チュ": "tyu"
296
+ "チョ": "tyo"
297
+ "チョウ": "tyô"
298
+ "トウ": "tô"
299
+
300
+ "ナ": "na"
301
+ "ニ": "ni"
302
+ "ヌ": "nu"
303
+ "ネ": "ne"
304
+ "ノ": "no"
305
+ "ニャ": "nya"
306
+ "ニュ": "nyu"
307
+ "ニョ": "nyo"
308
+ "ニョウ": "nyô"
309
+ "ノウ": "nô"
310
+
311
+ "ハ": "ha"
312
+ "ヒ": "hi"
313
+ "フ": "hu"
314
+ "ヘ": "he"
315
+ "ホ": "ho"
316
+ "ヒャ": "hya"
317
+ "ヒュ": "hyu"
318
+ "ヒョ": "hyo"
319
+ "ヒョウ": "hyô"
320
+ "ホウ": "hô"
321
+
322
+ "マ": "ma"
323
+ "ミ": "mi"
324
+ "ム": "mu"
325
+ "メ": "me"
326
+ "モ": "mo"
327
+ "ミャ": "mya"
328
+ "ミュ": "myu"
329
+ "ミョ": "myo"
330
+ "ミョウ": "myô"
331
+ "モウ": "mô"
332
+
333
+ "ヤ": "ya"
334
+ "ユ": "yu"
335
+ "ヨ": "yo"
336
+ "ヨウ": "yô"
337
+
338
+ "ラ": "ra"
339
+ "リ": "ri"
340
+ "ル": "ru"
341
+ "レ": "re"
342
+ "ロ": "ro"
343
+ "リャ": "rya"
344
+ "リュ": "ryu"
345
+ "リョ": "ryo"
346
+ "リョウ": "ryô"
347
+ "ロウ": "rô"
348
+
349
+ "ワ": "wa"
350
+ "ヲ": "o"
351
+
352
+ "ガ": "ga"
353
+ "ギ": "gi"
354
+ "グ": "gu"
355
+ "ゲ": "ge"
356
+ "ゴ": "go"
357
+ "ギャ": "gya"
358
+ "ギュ": "gyu"
359
+ "ギョ": "gyo"
360
+ "ギョウ": "gyô"
361
+ "ゴウ": "gô"
362
+
363
+ "ザ": "za"
364
+ "ジ": "zi"
365
+ "ズ": "zu"
366
+ "ゼ": "ze"
367
+ "ゾ": "zo"
368
+ "ジャ": "zya"
369
+ "ジュ": "zyu"
370
+ "ジョ": "zyo"
371
+ "ジョウ": "zyô"
372
+ "ゾウ": "zô"
373
+
374
+ "ダ": "da"
375
+ "ヂ": "zi"
376
+ "ヅ": "zu"
377
+ "デ": "de"
378
+ "ド": "do"
379
+ "ヂャ": "zya"
380
+ "ヂュ": "zyu"
381
+ "ヂョ": "zyo"
382
+ "ヂョウ": "zyô"
383
+ "ドウ": "dô"
384
+
385
+ "バ": "ba"
386
+ "ビ": "bi"
387
+ "ブ": "bu"
388
+ "ベ": "be"
389
+ "ボ": "bo"
390
+ "ビャ": "bya"
391
+ "ビュ": "byu"
392
+ "ビョ": "byo"
393
+ "ビョウ": "byô"
394
+ "ボウ": "bô"
395
+
396
+ "パ": "pa"
397
+ "ピ": "pi"
398
+ "プ": "pu"
399
+ "ペ": "pe"
400
+ "ポ": "po"
401
+ "ピャ": "pya"
402
+ "ピュ": "pyu"
403
+ "ピョ": "pyo"
404
+ "ピョウ": "pyô"
405
+ "ポウ": "pô"
406
+
407
+ "ン": "n" # See note 1
408
+
409
+
410
+ # Note 3. つまる音は、最初の子音字を重ねて表わす。
411
+ # Handled by postrules
@@ -0,0 +1,803 @@
1
+ ---
2
+ authority_id: moct
3
+ id: 2000-viajamo
4
+ language: kor
5
+ source_script: Hang
6
+ destination_script: Latn
7
+ name: Korean Ministry of Culture and Tourism 2000 System
8
+ url: https://www.korean.go.kr/front_eng/roman/roman_01.do
9
+ creation_date: 2000
10
+ adoption_date: 2002
11
+ description: |
12
+ Generation of Jamo from Hangul
13
+
14
+ This is how the Hangul-to-Jamo maps are generated. Please refer to this page
15
+ for details about Korean text handling in Unicode.
16
+ http://gernot-katzers-spice-pages.com/var/korean_hangul_unicode.html
17
+
18
+ This formula copied from the page above is used:
19
+ [stem]
20
+ ====
21
+ tail = mod (Hangul codepoint − 44032, 28)
22
+ vowel = 1 + mod (Hangul codepoint − 44032 − tail, 588) / 28
23
+ lead = 1 + int [ (Hangul codepoint − 44032)/588 ]
24
+ ====
25
+
26
+ [source,python]
27
+ ----
28
+ import pandas as pd
29
+ import re
30
+ import math
31
+
32
+ leadjamo = [chr(0x1100+i) for i in range(0,19)]
33
+ # ᄀᄁᄂᄃᄄᄅᄆᄇᄈᄉᄊᄋᄌᄍᄎᄏᄐᄑᄒ
34
+ voweljamo = [chr(0x1161+i) for i in range(0,21)]
35
+ # ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ
36
+ tailjamo = ['']+[chr(0x11A8+i) for i in range(0,27)]
37
+ # ᆨᆩᆪᆫᆬᆭᆮᆯᆰᆱᆲᆳᆴᆵᆶᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁᇂ
38
+
39
+ hanguls = [chr(i) for i in range(44032,55204)]
40
+ tails = [tailjamo[(i-44032) % 28] for i in range(44032,55204)]
41
+ vowels = [voweljamo[((i-44032-((i-44032) % 28)) % 588) // 28] for i in range(44032,55204)]
42
+ leads = [leadjamo[math.floor((i-44032)// 588)] for i in range(44032,55204)]
43
+
44
+ kr_df = pd.DataFrame({'Hangul':hanguls, 'Lead':leads,'Vowel':vowels, 'Tail':tails})
45
+ ----
46
+
47
+ Hangul Lead Vowel Tail
48
+ 0 가 ᄀ ᅡ
49
+ 1 각 ᄀ ᅡ ᆨ
50
+ 2 갂 ᄀ ᅡ ᆩ
51
+ 3 갃 ᄀ ᅡ ᆪ
52
+ 4 간 ᄀ ᅡ ᆫ
53
+ 5 갅 ᄀ ᅡ ᆬ
54
+ 6 갆 ᄀ ᅡ ᆭ
55
+ 7 갇 ᄀ ᅡ ᆮ
56
+ 8 갈 ᄀ ᅡ ᆯ
57
+ 9 갉 ᄀ ᅡ ᆰ
58
+
59
+
60
+ notes:
61
+
62
+ tests:
63
+ - source: 불국사
64
+ expected: "Bulguksa"
65
+ - source: 묵호
66
+ expected: "Mukho"
67
+ - source: 울산
68
+ expected: "Ulsan"
69
+ - source: 독립문
70
+ expected: "Dongnimmun"
71
+ - source: 강남역
72
+ expected: "Gangnamyeok"
73
+ - source: 남산리
74
+ expected: "Namsan-ri" #Note: no assimilation for -ri even after nasals
75
+ - source: 내월리
76
+ expected: "Naewol-ri"
77
+ - source: 울릉군
78
+ expected: "Ulleung-gun"
79
+ - source: 설악산
80
+ expected: "Seoraksan"
81
+ - source: 삼죽면
82
+ expected: "Samjuk-myeon"
83
+ - source: 평리1동
84
+ expected: "Pyeongni Il-dong"
85
+ - source: 평리2동
86
+ expected: "Pyeongni I-dong"
87
+ - source: 탑안이
88
+ expected: "Tabani"
89
+
90
+ map:
91
+ character_separator: ""
92
+ word_separator: " "
93
+ title_case: True
94
+ inherit: "nil-kor-Hang-Hang-jamo"
95
+
96
+ rules:
97
+ # convert numbers to space + Hangul
98
+ - pattern: "([^0-9 ])(?=[0-9])"
99
+ result: "\\1 "
100
+ - pattern: "1"
101
+ result: "일"
102
+ - pattern: "2"
103
+ result: "이"
104
+ - pattern: "3"
105
+ result: "삼"
106
+ - pattern: "4"
107
+ result: "사"
108
+ - pattern: "5"
109
+ result: "오"
110
+ - pattern: "6"
111
+ result: "육"
112
+ - pattern: "7"
113
+ result: "칠"
114
+ - pattern: "8"
115
+ result: "팔"
116
+ - pattern: "9"
117
+ result: "구"
118
+
119
+ # add hyphen in front of generics
120
+ - pattern: "(?<=.)(도|시|군|구|읍|면|리|동|가)$"
121
+ result: "-\\1"
122
+
123
+ postrules:
124
+
125
+ # Add space to the two ends of the string for easier word boundary handling
126
+ - pattern: "^"
127
+ result: " "
128
+ - pattern: "$"
129
+ result: " "
130
+
131
+ # HANGUL JONGSEONG SSANGKIYEOK
132
+ - pattern: "ᆩᄋ"
133
+ result: "ᆨᄁ"
134
+ - pattern: "ᆩ"
135
+ result: "ᆨ"
136
+
137
+ # HANGUL JONGSEONG SSANGKIYEOK
138
+ - pattern: "ᆪᄋ"
139
+ result: "ᆨᄉ"
140
+ - pattern: "ᆪ"
141
+ result: "ᆨ"
142
+
143
+ # HANGUL JONGSEONG NIEUN-CIEUC
144
+ - pattern: "ᆬᄋ"
145
+ result: "ᆫᄌ"
146
+ - pattern: "ᆬ"
147
+ result: "ᆫ"
148
+
149
+ # HANGUL JONGSEONG NIEUN-CIEUC
150
+ - pattern: "ᆭᄀ"
151
+ result: "ᆫᄏ"
152
+ - pattern: "ᆭᄃ"
153
+ result: "ᆫᄐ"
154
+ - pattern: "ᆭᄇ"
155
+ result: "ᆫᄑ"
156
+ - pattern: "ᆭᄌ"
157
+ result: "ᆫᄎ"
158
+ - pattern: "ᆭ"
159
+ result: "ᆫ"
160
+
161
+ # HANGUL JONGSEONG TIEUT
162
+ - pattern: "ᆮ(?=[ᄀᄁᄂᄃᄄᄅᄆᄇᄈᄉᄊᄌᄍᄎᄏᄐᄑᄒ])"
163
+ result: "ᆺ"
164
+
165
+ # HANGUL JONGSEONG RIEUL-SIOS
166
+ - pattern: "ᆳᄋ"
167
+ result: "ᆯᄉ"
168
+ - pattern: "ᆳ"
169
+ result: "ᆯ"
170
+
171
+ # HANGUL JONGSEONG RIEUL-THIEUTH
172
+ - pattern: "ᆴᄋ"
173
+ result: "ᆯᄐ"
174
+ - pattern: "ᆴ"
175
+ result: "ᆯ"
176
+
177
+ # HANGUL JONGSEONG RIEUL-PHIEUPH
178
+ - pattern: "ᆵᄋ"
179
+ result: "ᆯᄑ"
180
+ - pattern: "ᆵ(?=[ᄃᄄᄐ])"
181
+ result: "ᆯ"
182
+ - pattern: "ᆵ"
183
+ result: "ᄇ"
184
+
185
+ # HANGUL JONGSEONG RIEUL-HIEUH
186
+ - pattern: "ᆶᄀ"
187
+ result: "ᆯᄏ"
188
+ - pattern: "ᆶᄃ"
189
+ result: "ᆯᄐ"
190
+ - pattern: "ᆶᄇ"
191
+ result: "ᆯᄑ"
192
+ - pattern: "ᆶᄌ"
193
+ result: "ᆯᄎ"
194
+ - pattern: "ᆶ"
195
+ result: "ᆯ"
196
+
197
+ # HANGUL JONGSEONG PIEUP-SIOS
198
+ - pattern: "ᆹᄋ"
199
+ result: "ᄇᄉ"
200
+ - pattern: "ᆹ"
201
+ result: "ᄇ"
202
+
203
+ # HANGUL JONGSEONG SSANG-SIOS
204
+ - pattern: "ᆻᄋ"
205
+ result: "ᆺᄊ"
206
+ - pattern: "ᆻ"
207
+ result: "ᆺ"
208
+
209
+ # HANGUL JONGSEONG CIEUC
210
+ - pattern: "ᆽᄋ"
211
+ result: "ᆺᄌ"
212
+ - pattern: "ᆽ"
213
+ result: "ᆺ"
214
+
215
+ # HANGUL JONGSEONG CHIEUCH
216
+ - pattern: "ᆾᄋ"
217
+ result: "ᆺᄎ"
218
+ - pattern: "ᆾ"
219
+ result: "ᆺ"
220
+
221
+ # HANGUL JONGSEONG KHIEUKH
222
+ - pattern: "ᆿᄋ"
223
+ result: "ᆨᄏ"
224
+ - pattern: "ᆿ"
225
+ result: "ᆨ"
226
+
227
+ # HANGUL JONGSEONG THIEUTH
228
+ - pattern: "ᇀᄋ"
229
+ result: "ᆺᄐ"
230
+ - pattern: "ᇀ"
231
+ result: "ᆺ"
232
+
233
+ # HANGUL JONGSEONG PHIEUPH
234
+ - pattern: "ᇁᄋ"
235
+ result: "ᆸᄑ"
236
+ - pattern: "ᇁ"
237
+ result: "ᆸ"
238
+
239
+ # HANGUL JONGSEONG HIEUH
240
+ - pattern: "ᇂᄀ"
241
+ result: "ᄏ"
242
+ - pattern: "ᇂᄃ"
243
+ result: "ᄐ"
244
+ - pattern: "ᇂᄇ"
245
+ result: "ᄑ"
246
+ - pattern: "ᇂᄌ"
247
+ result: "ᄎ"
248
+ - pattern: "ᇂ"
249
+ result: ""
250
+
251
+ # From Unicode Chart
252
+ # https://github.com/unicode-org/cldr/blob/master/common/transforms/Korean-Latin-BGN.xml
253
+
254
+ - pattern: "ᆮᄋ" # HANGUL JONGSEONG TIEUT + CHOSEONG IEUNG
255
+ result: "d"
256
+
257
+ - pattern: "ᆨᄀ"
258
+ result: "kg" # HANGUL JONGSEONG KIYEOK + CHOSEONG KIYEOK
259
+ - pattern: "ᆨᄂ"
260
+ result: "ngn" # HANGUL JONGSEONG KIYEOK + CHOSEONG NIEUN
261
+ - pattern: "ᆨᄃ"
262
+ result: "kd" # HANGUL JONGSEONG KIYEOK + CHOSEONG TIEUT
263
+ - pattern: "ᆨᄅ"
264
+ result: "ngn" # HANGUL JONGSEONG KIYEOK + CHOSEONG RIEUL
265
+ - pattern: "ᆨᄆ"
266
+ result: "ngm" # HANGUL JONGSEONG KIYEOK + CHOSEONG MIEUM
267
+ - pattern: "ᆨᄇ"
268
+ result: "kb" # HANGUL JONGSEONG KIYEOK + CHOSEONG PIEUP
269
+ - pattern: "ᆨᄉ"
270
+ result: "ks" # HANGUL JONGSEONG KIYEOK + CHOSEONG SIOS
271
+ - pattern: "ᆨᄋ"
272
+ result: "g" # HANGUL JONGSEONG KIYEOK + CHOSEONG IEUNG
273
+ - pattern: "ᆨᄌ"
274
+ result: "kj" # HANGUL JONGSEONG KIYEOK + CHOSEONG CIEUC
275
+ - pattern: "ᆨᄎ"
276
+ result: "kch" # HANGUL JONGSEONG KIYEOK + CHOSEONG CHIEUCH
277
+ - pattern: "ᆨᄏ"
278
+ result: "kk" # HANGUL JONGSEONG KIYEOK + CHOSEONG KHIEUKH # NOTE: the dash is always skipped
279
+ - pattern: "ᆨᄐ"
280
+ result: "kt" # HANGUL JONGSEONG KIYEOK + CHOSEONG THIEUTH
281
+ - pattern: "ᆨᄑ"
282
+ result: "kp" # HANGUL JONGSEONG KIYEOK + CHOSEONG PHIEUPH
283
+ - pattern: "ᆨᄒ"
284
+ result: "kh" # HANGUL JONGSEONG KIYEOK + CHOSEONG HIEUH
285
+ - pattern: "ᆨᄁ"
286
+ result: "kkk" # HANGUL JONGSEONG KIYEOK + CHOSEONG SSANGKIYEOK
287
+ - pattern: "ᆨᄄ"
288
+ result: "ktt" # HANGUL JONGSEONG KIYEOK + CHOSEONG SSANGTIEUT
289
+ - pattern: "ᆨᄈ"
290
+ result: "kpp" # HANGUL JONGSEONG KIYEOK + CHOSEONG SSANGPIEUP
291
+ - pattern: "ᆨᄊ"
292
+ result: "kss" # HANGUL JONGSEONG KIYEOK + CHOSEONG SSANGSIOS
293
+ - pattern: "ᆨᄍ"
294
+ result: "kjj" # HANGUL JONGSEONG KIYEOK + CHOSEONG SSANGCIEUC
295
+ - pattern: "ᆫᄀ"
296
+ result: "ng" # HANGUL JONGSEONG NIEUN + CHOSEONG KIEUK
297
+ - pattern: "ᆫᄂ"
298
+ result: "nn" # HANGUL JONGSEONG NIEUN + CHOSEONG NIEUN
299
+ - pattern: "ᆫᄃ"
300
+ result: "nd" # HANGUL JONGSEONG NIEUN + CHOSEONG TIEUT
301
+ - pattern: "ᆫᄅ"
302
+ result: "ll" # HANGUL JONGSEONG NIEUN + CHOSEONG RIEUL
303
+ - pattern: "ᆫᄆ"
304
+ result: "nm" # HANGUL JONGSEONG NIEUN + CHOSEONG MIEUM
305
+ - pattern: "ᆫᄇ"
306
+ result: "nb" # HANGUL JONGSEONG NIEUN + CHOSEONG PIEUP
307
+ - pattern: "ᆫᄉ"
308
+ result: "ns" # HANGUL JONGSEONG NIEUN + CHOSEONG SIOS
309
+ - pattern: "ᆫᄋ"
310
+ result: "n" # HANGUL JONGSEONG NIEUN + CHOSEONG IEUNG
311
+ - pattern: "ᆫᄌ"
312
+ result: "nj" # HANGUL JONGSEONG NIEUN + CHOSEONG CIEUC
313
+ - pattern: "ᆫᄎ"
314
+ result: "nch" # HANGUL JONGSEONG NIEUN + CHOSEONG CHIEUCH
315
+ - pattern: "ᆫᄏ"
316
+ result: "nk" # HANGUL JONGSEONG NIEUN + CHOSEONG KHIEUKH
317
+ - pattern: "ᆫᄐ"
318
+ result: "nt" # HANGUL JONGSEONG NIEUN + CHOSEONG THIEUTH
319
+ - pattern: "ᆫᄑ"
320
+ result: "np" # HANGUL JONGSEONG NIEUN + CHOSEONG PHIEUPH
321
+ - pattern: "ᆫᄒ"
322
+ result: "nh" # HANGUL JONGSEONG NIEUN + CHOSEONG HIEUH
323
+ - pattern: "ᆫᄁ"
324
+ result: "nkk" # HANGUL JONGSEONG NIEUN + CHOSEONG SSANGKIYEOK
325
+ - pattern: "ᆫᄄ"
326
+ result: "ntt" # HANGUL JONGSEONG NIEUN + CHOSEONG SSANGTIEUT
327
+ - pattern: "ᆫᄈ"
328
+ result: "npp" # HANGUL JONGSEONG NIEUN + CHOSEONG SSANGPIEUP
329
+ - pattern: "ᆫᄊ"
330
+ result: "nss" # HANGUL JONGSEONG NIEUN + CHOSEONG SSANGSIOS
331
+ - pattern: "ᆫᄍ"
332
+ result: "njj" # HANGUL JONGSEONG NIEUN + CHOSEONG SSANGCIEUC
333
+ - pattern: "ᆯᄀ"
334
+ result: "lg" # HANGUL JONGSEONG RIEUL + CHOSEONG KIYEOK
335
+ - pattern: "ᆯᄂ"
336
+ result: "ll" # HANGUL JONGSEONG RIEUL + CHOSEONG NIEUN
337
+ - pattern: "ᆯᄃ"
338
+ result: "ld" # HANGUL JONGSEONG RIEUL + CHOSEONG TIEUT
339
+ - pattern: "ᆯᄅ"
340
+ result: "ll" # HANGUL JONGSEONG RIEUL + CHOSEONG RIEUL
341
+ - pattern: "ᆯᄆ"
342
+ result: "lm" # HANGUL JONGSEONG RIEUL + CHOSEONG MIEUM
343
+ - pattern: "ᆯᄇ"
344
+ result: "lb" # HANGUL JONGSEONG RIEUL + CHOSEONG PIEUP
345
+ - pattern: "ᆯᄉ"
346
+ result: "ls" # HANGUL JONGSEONG RIEUL + CHOSEONG SIOS
347
+ - pattern: "ᆯᄋ"
348
+ result: "r" # HANGUL JONGSEONG RIEUL + CHOSEONG IEUNG
349
+ - pattern: "ᆯᄌ"
350
+ result: "lj" # HANGUL JONGSEONG RIEUL + CHOSEONG CIEUC
351
+ - pattern: "ᆯᄎ"
352
+ result: "lch" # HANGUL JONGSEONG RIEUL + CHOSEONG CHIEUCH
353
+ - pattern: "ᆯᄏ"
354
+ result: "lk" # HANGUL JONGSEONG RIEUL + CHOSEONG KHIEUKH
355
+ - pattern: "ᆯᄐ"
356
+ result: "lt" # HANGUL JONGSEONG RIEUL + CHOSEONG THIEUTH
357
+ - pattern: "ᆯᄑ"
358
+ result: "lp" # HANGUL JONGSEONG RIEUL + CHOSEONG PHIEUPH
359
+ - pattern: "ᆯᄒ"
360
+ result: "rh" # HANGUL JONGSEONG RIEUL + CHOSEONG HIEUH
361
+ - pattern: "ᆯᄁ"
362
+ result: "lkk" # HANGUL JONGSEONG RIEUL + CHOSEONG SSANGKIYEOK
363
+ - pattern: "ᆯᄄ"
364
+ result: "ltt" # HANGUL JONGSEONG RIEUL + CHOSEONG SSANGTIEUT
365
+ - pattern: "ᆯᄈ"
366
+ result: "lpp" # HANGUL JONGSEONG RIEUL + CHOSEONG SSANGPIEUP
367
+ - pattern: "ᆯᄊ"
368
+ result: "lss" # HANGUL JONGSEONG RIEUL + CHOSEONG SSANGSIOS
369
+ - pattern: "ᆯᄍ"
370
+ result: "ljj" # HANGUL JONGSEONG RIEUL + CHOSEONG SSANGCIEUC
371
+ - pattern: "ᆷᄀ"
372
+ result: "mg" # HANGUL JONGSEONG MIEUM + CHOSEONG KIYEOK
373
+ - pattern: "ᆷᄂ"
374
+ result: "mn" # HANGUL JONGSEONG MIEUM + CHOSEONG NIEUN
375
+ - pattern: "ᆷᄃ"
376
+ result: "md" # HANGUL JONGSEONG MIEUM + CHOSEONG TIEUT
377
+ - pattern: "ᆷᄅ"
378
+ result: "mn" # HANGUL JONGSEONG MIEUM + CHOSEONG RIEUL
379
+ - pattern: "ᆷᄆ"
380
+ result: "mm" # HANGUL JONGSEONG MIEUM + CHOSEONG MIEUM
381
+ - pattern: "ᆷᄇ"
382
+ result: "mb" # HANGUL JONGSEONG MIEUM + CHOSEONG PIEUP
383
+ - pattern: "ᆷᄉ"
384
+ result: "ms" # HANGUL JONGSEONG MIEUM + CHOSEONG SIOS
385
+ - pattern: "ᆷᄋ"
386
+ result: "m" # HANGUL JONGSEONG MIEUM + CHOSEONG IEUNG
387
+ - pattern: "ᆷᄌ"
388
+ result: "mj" # HANGUL JONGSEONG MIEUM + CHOSEONG CIEUC
389
+ - pattern: "ᆷᄎ"
390
+ result: "mch" # HANGUL JONGSEONG MIEUM + CHOSEONG CHIEUCH
391
+ - pattern: "ᆷᄏ"
392
+ result: "mk" # HANGUL JONGSEONG MIEUM + CHOSEONG KHIEUKH
393
+ - pattern: "ᆷᄐ"
394
+ result: "mt" # HANGUL JONGSEONG MIEUM + CHOSEONG THIEUTH
395
+ - pattern: "ᆷᄑ"
396
+ result: "mp" # HANGUL JONGSEONG MIEUM + CHOSEONG PHIEUPH
397
+ - pattern: "ᆷᄒ"
398
+ result: "mh" # HANGUL JONGSEONG MIEUM + CHOSEONG HIEUH
399
+ - pattern: "ᆷᄁ"
400
+ result: "mkk" # HANGUL JONGSEONG MIEUM + CHOSEONG SSANGKIYEOK
401
+ - pattern: "ᆷᄄ"
402
+ result: "mtt" # HANGUL JONGSEONG MIEUM + CHOSEONG SSANGTIEUT
403
+ - pattern: "ᆷᄈ"
404
+ result: "mpp" # HANGUL JONGSEONG MIEUM + CHOSEONG SSANGPIEUP
405
+ - pattern: "ᆷᄊ"
406
+ result: "mss" # HANGUL JONGSEONG MIEUM + CHOSEONG SSANGSIOS
407
+ - pattern: "ᆷᄍ"
408
+ result: "mjj" # HANGUL JONGSEONG MIEUM + CHOSEONG SSANGCIEUC
409
+ - pattern: "ᆸᄀ"
410
+ result: "pg" # HANGUL JONGSEONG PIEUP + CHOSEONG KIYEOK
411
+ - pattern: "ᆸᄂ"
412
+ result: "mn" # HANGUL JONGSEONG PIEUP + CHOSEONG NIEUN
413
+ - pattern: "ᆸᄃ"
414
+ result: "pd" # HANGUL JONGSEONG PIEUP + CHOSEONG TIEUT
415
+ - pattern: "ᆸᄅ"
416
+ result: "mn" # HANGUL JONGSEONG PIEUP + CHOSEONG RIEUL
417
+ - pattern: "ᆸᄆ"
418
+ result: "mm" # HANGUL JONGSEONG PIEUP + CHOSEONG MIEUM
419
+ - pattern: "ᆸᄇ"
420
+ result: "pb" # HANGUL JONGSEONG PIEUP + CHOSEONG PIEUP
421
+ - pattern: "ᆸᄉ"
422
+ result: "ps" # HANGUL JONGSEONG PIEUP + CHOSEONG SIOS
423
+ - pattern: "ᆸᄋ"
424
+ result: "b" # HANGUL JONGSEONG PIEUP + CHOSEONG IEUNG
425
+ - pattern: "ᆸᄌ"
426
+ result: "pj" # HANGUL JONGSEONG PIEUP + CHOSEONG CIEUC
427
+ - pattern: "ᆸᄎ"
428
+ result: "pch" # HANGUL JONGSEONG PIEUP + CHOSEONG CHIEUCH
429
+ - pattern: "ᆸᄏ"
430
+ result: "pk" # HANGUL JONGSEONG PIEUP + CHOSEONG KHIEUKH
431
+ - pattern: "ᆸᄐ"
432
+ result: "pt" # HANGUL JONGSEONG PIEUP + CHOSEONG THIEUTH
433
+ - pattern: "ᆸᄑ"
434
+ result: "pp" # HANGUL JONGSEONG PIEUP + CHOSEONG PHIEUPH
435
+ - pattern: "ᆸᄒ"
436
+ result: "ph" # HANGUL JONGSEONG PIEUP + CHOSEONG HIEUH
437
+ - pattern: "ᆸᄁ"
438
+ result: "pkk" # HANGUL JONGSEONG PIEUP + CHOSEONG SSANGKIYEOK
439
+ - pattern: "ᆸᄄ"
440
+ result: "ptt" # HANGUL JONGSEONG PIEUP + CHOSEONG SSANGTIEUT
441
+ - pattern: "ᆸᄈ"
442
+ result: "ppp" # HANGUL JONGSEONG PIEUP + CHOSEONG SSANGPIEUP
443
+ - pattern: "ᆸᄊ"
444
+ result: "pss" # HANGUL JONGSEONG PIEUP + CHOSEONG SSANGSIOS
445
+ - pattern: "ᆸᄍ"
446
+ result: "pjj" # HANGUL JONGSEONG PIEUP + CHOSEONG SSANGCIEUC
447
+ - pattern: "ᆺᄀ"
448
+ result: "tg" # HANGUL JONGSEONG SIOS + CHOSEONG KIYEOK
449
+ - pattern: "ᆺᄂ"
450
+ result: "nn" # HANGUL JONGSEONG SIOS + CHOSEONG NIEUN
451
+ - pattern: "ᆺᄃ"
452
+ result: "td" # HANGUL JONGSEONG SIOS + CHOSEONG TIEUT
453
+ - pattern: "ᆺᄅ"
454
+ result: "nn" # HANGUL JONGSEONG SIOS + CHOSEONG RIEUL
455
+ - pattern: "ᆺᄆ"
456
+ result: "nm" # HANGUL JONGSEONG SIOS + CHOSEONG MIEUM
457
+ - pattern: "ᆺᄇ"
458
+ result: "tb" # HANGUL JONGSEONG SIOS + CHOSEONG PIEUP
459
+ - pattern: "ᆺᄉ"
460
+ result: "ts" # HANGUL JONGSEONG SIOS + CHOSEONG SIOS
461
+ - pattern: "ᆺᄋ"
462
+ result: "s" # HANGUL JONGSEONG SIOS + CHOSEONG IEUNG
463
+ - pattern: "ᆺᄌ"
464
+ result: "tj" # HANGUL JONGSEONG SIOS + CHOSEONG CIEUC
465
+ - pattern: "ᆺᄎ"
466
+ result: "tch" # HANGUL JONGSEONG SIOS + CHOSEONG CHIEUCH
467
+ - pattern: "ᆺᄏ"
468
+ result: "tk" # HANGUL JONGSEONG SIOS + CHOSEONG KHIEUKH
469
+ - pattern: "ᆺᄐ"
470
+ result: "tt" # HANGUL JONGSEONG SIOS + CHOSEONG THIEUTH
471
+ - pattern: "ᆺᄑ"
472
+ result: "tp" # HANGUL JONGSEONG SIOS + CHOSEONG PHIEUPH
473
+ - pattern: "ᆺᄒ"
474
+ result: "th" # HANGUL JONGSEONG SIOS + CHOSEONG HIEUH
475
+ - pattern: "ᆺᄁ"
476
+ result: "tkk" # HANGUL JONGSEONG SIOS + CHOSEONG SSANGKIYEOK
477
+ - pattern: "ᆺᄄ"
478
+ result: "ttt" # HANGUL JONGSEONG SIOS + CHOSEONG SSANGTIEUT
479
+ - pattern: "ᆺᄈ"
480
+ result: "tpp" # HANGUL JONGSEONG SIOS + CHOSEONG SSANGPIEUP
481
+ - pattern: "ᆺᄊ"
482
+ result: "tss" # HANGUL JONGSEONG SIOS + CHOSEONG SSANGSIOS
483
+ - pattern: "ᆺᄍ"
484
+ result: "tjj" # HANGUL JONGSEONG SIOS + CHOSEONG SSANGCIEUC
485
+ - pattern: "ᆼᄀ"
486
+ result: "ngg" # HANGUL JONGSEONG IEUNG + CHOSEONG KIYEOK
487
+ - pattern: "ᆼᄂ"
488
+ result: "ngn" # HANGUL JONGSEONG IEUNG + CHOSEONG NIEUN
489
+ - pattern: "ᆼᄃ"
490
+ result: "ngd" # HANGUL JONGSEONG IEUNG + CHOSEONG TIEUT
491
+ - pattern: "ᆼᄅ"
492
+ result: "ngn" # HANGUL JONGSEONG IEUNG + CHOSEONG RIEUL
493
+ - pattern: "ᆼᄆ"
494
+ result: "ngm" # HANGUL JONGSEONG IEUNG + CHOSEONG MIEUM
495
+ - pattern: "ᆼᄇ"
496
+ result: "ngb" # HANGUL JONGSEONG IEUNG + CHOSEONG PIEUP
497
+ - pattern: "ᆼᄉ"
498
+ result: "ngs" # HANGUL JONGSEONG IEUNG + CHOSEONG SIOS
499
+ - pattern: "ᆼᄋ"
500
+ result: "ng" # HANGUL JONGSEONG IEUNG + CHOSEONG IEUNG
501
+ - pattern: "ᆼᄌ"
502
+ result: "ngj" # HANGUL JONGSEONG IEUNG + CHOSEONG CIEUC
503
+ - pattern: "ᆼᄎ"
504
+ result: "ngch" # HANGUL JONGSEONG IEUNG + CHOSEONG CHIEUCH
505
+ - pattern: "ᆼᄏ"
506
+ result: "ngk" # HANGUL JONGSEONG IEUNG + CHOSEONG KHIEUKH
507
+ - pattern: "ᆼᄐ"
508
+ result: "ngt" # HANGUL JONGSEONG IEUNG + CHOSEONG THIEUTH
509
+ - pattern: "ᆼᄑ"
510
+ result: "ngp" # HANGUL JONGSEONG IEUNG + CHOSEONG PHIEUPH
511
+ - pattern: "ᆼᄒ"
512
+ result: "ngh" # HANGUL JONGSEONG IEUNG + CHOSEONG HIEUH
513
+ - pattern: "ᆼᄁ"
514
+ result: "ngkk" # HANGUL JONGSEONG IEUNG + CHOSEONG SSANGKIYEOK
515
+ - pattern: "ᆼᄄ"
516
+ result: "ngtt" # HANGUL JONGSEONG IEUNG + CHOSEONG SSANGTIEUT
517
+ - pattern: "ᆼᄈ"
518
+ result: "ngpp" # HANGUL JONGSEONG IEUNG + CHOSEONG SSANGPIEUP
519
+ - pattern: "ᆼᄊ"
520
+ result: "ngss" # HANGUL JONGSEONG IEUNG + CHOSEONG SSANGSIOS
521
+ - pattern: "ᆼᄍ"
522
+ result: "ngjj" # HANGUL JONGSEONG IEUNG + CHOSEONG SSANGCIEUC
523
+ - pattern: "(?<=[-A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄀ"
524
+ result: "g" # VOWEL + CHOSEONG KIYEOK
525
+ - pattern: "(?<=[-A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄂ"
526
+ result: "n" # VOWEL + CHOSEONG NIEUN
527
+ - pattern: "(?<=[-A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄃ"
528
+ result: "d" # VOWEL + CHOSEONG TIEUT
529
+ - pattern: "(?<=[-A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄅ"
530
+ result: "r" # VOWEL + CHOSEONG RIEUL
531
+ - pattern: "(?<=[-A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄆ"
532
+ result: "m" # VOWEL + CHOSEONG MIEUM
533
+ - pattern: "(?<=[-A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄇ"
534
+ result: "b" # VOWEL + CHOSEONG PIEUP
535
+ - pattern: "(?<=[-A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄉ"
536
+ result: "s" # VOWEL + CHOSEONG SIOS
537
+ - pattern: "(?<=[-A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄋ"
538
+ result: "" # VOWEL + CHOSEONG IEUNG
539
+ - pattern: "(?<=[-A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄌ"
540
+ result: "j" # VOWEL + CHOSEONG CIEUC
541
+ - pattern: "(?<=[-A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄎ"
542
+ result: "ch" # VOWEL + CHOSEONG CHIEUCH
543
+ - pattern: "(?<=[-A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄏ"
544
+ result: "k" # VOWEL + CHOSEONG KHIEUKH
545
+ - pattern: "(?<=[-A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄐ"
546
+ result: "t" # VOWEL + CHOSEONG THIEUTH
547
+ - pattern: "(?<=[-A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄑ"
548
+ result: "p" # VOWEL + CHOSEONG PHIEUPH
549
+ - pattern: "(?<=[-A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄒ"
550
+ result: "h" # VOWEL + CHOSEONG HIEUH
551
+ - pattern: "(?<=[-A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄁ"
552
+ result: "kk" # VOWEL + CHOSEONG SSANGKIYEOK
553
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄄ"
554
+ result: "tt" # VOWEL + CHOSEONG SSANGTIEUT
555
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄈ"
556
+ result: "pp" # VOWEL + CHOSEONG SSANGPIEUP
557
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄊ"
558
+ result: "ss" # VOWEL + CHOSEONG SSANGSIOS
559
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])ᄍ"
560
+ result: "jj" # VOWEL + CHOSEONG SSANGCIEUC
561
+ - pattern: "ᆰᄀ"
562
+ result: "lg" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG KIYEOK
563
+ - pattern: "ᆰᄂ"
564
+ result: "ngn" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG NIEUN
565
+ - pattern: "ᆰᄃ"
566
+ result: "kd" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG TIEUT
567
+ - pattern: "ᆰᄅ"
568
+ result: "ngn" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG RIEUL
569
+ - pattern: "ᆰᄆ"
570
+ result: "ngm" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG MIEUM
571
+ - pattern: "ᆰᄇ"
572
+ result: "kb" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG PIEUP
573
+ - pattern: "ᆰᄉ"
574
+ result: "ks" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG SIOS
575
+ - pattern: "ᆰᄋ"
576
+ result: "lg" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG IEUNG
577
+ - pattern: "ᆰᄌ"
578
+ result: "kj" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG CIEUC
579
+ - pattern: "ᆰᄎ"
580
+ result: "kch" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG CHIEUCH
581
+ - pattern: "ᆰᄏ"
582
+ result: "lk" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG KHIEUKH
583
+ - pattern: "ᆰᄐ"
584
+ result: "kt" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG THIEUTH
585
+ - pattern: "ᆰᄑ"
586
+ result: "kp" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG PHIEUPH
587
+ - pattern: "ᆰᄒ"
588
+ result: "lk" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG HIEUH
589
+ - pattern: "ᆰᄁ"
590
+ result: "lkk" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG SSANGKIYEOK
591
+ - pattern: "ᆰᄄ"
592
+ result: "ktt" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG SSANGTIEUT
593
+ - pattern: "ᆰᄈ"
594
+ result: "kpp" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG SSANGPIEUP
595
+ - pattern: "ᆰᄊ"
596
+ result: "kss" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG SSANGSIOS
597
+ - pattern: "ᆰᄍ"
598
+ result: "kjj" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG SSANGCIEUC
599
+ - pattern: "ᆱᄀ"
600
+ result: "mg" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG KIYEOK
601
+ - pattern: "ᆱᄂ"
602
+ result: "mn" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG NIEUN
603
+ - pattern: "ᆱᄃ"
604
+ result: "md" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG TIEUT
605
+ - pattern: "ᆱᄅ"
606
+ result: "mn" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG RIEUL
607
+ - pattern: "ᆱᄆ"
608
+ result: "lm" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG MIEUM
609
+ - pattern: "ᆱᄇ"
610
+ result: "mb" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG PIEUP
611
+ - pattern: "ᆱᄉ"
612
+ result: "ms" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG SIOS
613
+ - pattern: "ᆱᄋ"
614
+ result: "lm" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG IEUNG
615
+ - pattern: "ᆱᄌ"
616
+ result: "mj" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG CIEUC
617
+ - pattern: "ᆱᄎ"
618
+ result: "mch" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG CHIEUCH
619
+ - pattern: "ᆱᄏ"
620
+ result: "mk" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG KHIEUKH
621
+ - pattern: "ᆱᄐ"
622
+ result: "mt" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG THIEUTH
623
+ - pattern: "ᆱᄑ"
624
+ result: "mp" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG PHIEUPH
625
+ - pattern: "ᆱᄒ"
626
+ result: "mh" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG HIEUH
627
+ - pattern: "ᆱᄁ"
628
+ result: "mkk" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG SSANGKIYEOK
629
+ - pattern: "ᆱᄄ"
630
+ result: "mtt" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG SSANGTIEUT
631
+ - pattern: "ᆱᄈ"
632
+ result: "mpp" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG SSANGPIEUP
633
+ - pattern: "ᆱᄊ"
634
+ result: "mss" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG SSANGSIOS
635
+ - pattern: "ᆱᄍ"
636
+ result: "mjj" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG SSANGCIEUC
637
+ - pattern: "ᆲᄀ"
638
+ result: "pg" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG KIYEOK
639
+ - pattern: "ᆲᄂ"
640
+ result: "mn" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG NIEUN
641
+ - pattern: "ᆲᄃ"
642
+ result: "pd" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG TIEUT
643
+ - pattern: "ᆲᄅ"
644
+ result: "mn" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG RIEUL
645
+ - pattern: "ᆲᄆ"
646
+ result: "mm" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG MIEUM
647
+ - pattern: "ᆲᄇ"
648
+ result: "lb" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG PIEUP
649
+ - pattern: "ᆲᄉ"
650
+ result: "ps" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG SIOS
651
+ - pattern: "ᆲᄋ"
652
+ result: "lb" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG IEUNG
653
+ - pattern: "ᆲᄌ"
654
+ result: "pj" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG CIEUC
655
+ - pattern: "ᆲᄎ"
656
+ result: "pch" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG CHIEUCH
657
+ - pattern: "ᆲᄏ"
658
+ result: "pk" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG KHIEUKH
659
+ - pattern: "ᆲᄐ"
660
+ result: "pt" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG THIEUTH
661
+ - pattern: "ᆲᄑ"
662
+ result: "lp" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG PHIEUPH
663
+ - pattern: "ᆲᄒ"
664
+ result: "lp" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG HIEUH
665
+ - pattern: "ᆲᄁ"
666
+ result: "pkk" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG SSANGKIYEOK
667
+ - pattern: "ᆲᄄ"
668
+ result: "ptt" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG SSANGTIEUT
669
+ - pattern: "ᆲᄈ"
670
+ result: "lpp" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG SSANGPIEUP
671
+ - pattern: "ᆲᄊ"
672
+ result: "pss" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG SSANGSIOS
673
+ - pattern: "ᆲᄍ"
674
+ result: "pjj" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG SSANGCIEUC
675
+ - pattern: "(?<= )ᄀ"
676
+ result: "g" # HANGUL CHOSEONG KIYEOK
677
+ - pattern: "(?<= )ᄂ"
678
+ result: "n" # HANGUL CHOSEONG NIEUN
679
+ - pattern: "(?<= )ᄃ"
680
+ result: "d" # HANGUL CHOSEONG TIEUT
681
+ - pattern: "(?<= )ᄅ(?=[ᅣᅤᅧᅨᅭᅲ])"
682
+ result: "" # HANGUL CHOSEONG RIEUL # R-onset rule
683
+ - pattern: "(?<= )ᄅ"
684
+ result: "n" # HANGUL CHOSEONG RIEUL
685
+ - pattern: "(?<= )ᄆ"
686
+ result: "m" # HANGUL CHOSEONG MIEUM
687
+ - pattern: "(?<= )ᄇ"
688
+ result: "b" # HANGUL CHOSEONG PIEUP
689
+ - pattern: "(?<= )ᄉ"
690
+ result: "s" # HANGUL CHOSEONG SIOS
691
+ - pattern: "(?<= )ᄋ"
692
+ result: "" # HANGUL CHOSEONG IEUNG
693
+ - pattern: "(?<= )ᄌ"
694
+ result: "j" # HANGUL CHOSEONG CIEUC
695
+ - pattern: "(?<= )ᄎ"
696
+ result: "ch" # HANGUL CHOSEONG CHIEUCH
697
+ - pattern: "(?<= )ᄏ"
698
+ result: "k" # HANGUL CHOSEONG KHIEUKH
699
+ - pattern: "(?<= )ᄐ"
700
+ result: "t" # HANGUL CHOSEONG THIEUTH
701
+ - pattern: "(?<= )ᄑ"
702
+ result: "p" # HANGUL CHOSEONG PHIEUPH
703
+ - pattern: "(?<= )ᄒ"
704
+ result: "h" # HANGUL CHOSEONG HIEUH
705
+ - pattern: "(?<= )ᄁ"
706
+ result: "kk" # HANGUL CHOSEONG SSANGKIYEOK
707
+ - pattern: "(?<= )ᄭ"
708
+ result: "kk" # HANGUL CHOSEONG SIOS-KIYEOK
709
+ - pattern: "(?<= )ᄄ"
710
+ result: "tt" # HANGUL CHOSEONG SSANGTIEUT
711
+ - pattern: "(?<= )ᄯ"
712
+ result: "tt" # HANGUL CHOSEONG SIOS-TIEUT
713
+ - pattern: "(?<= )ᄈ"
714
+ result: "pp" # HANGUL CHOSEONG SSANGPIEUP
715
+ - pattern: "(?<= )ᄲ"
716
+ result: "pp" # HANGUL CHOSEONG SIOS-PIEUP
717
+ - pattern: "(?<= )ᄊ"
718
+ result: "ss" # HANGUL CHOSEONG SSANGSIOS
719
+ - pattern: "(?<= )ᄍ"
720
+ result: "jj" # HANGUL CHOSEONG SSANGCIEUC
721
+ - pattern: "(?<= )ᄶ"
722
+ result: "jj" # HANGUL CHOSEONG SIOS-CIEUC
723
+ - pattern: "ᅡ"
724
+ result: "a" # HANGUL JUNGSEONG A
725
+ - pattern: "ᅣ"
726
+ result: "ya" # HANGUL JUNGSEONG YA
727
+ - pattern: "ᅥ"
728
+ result: "eo" # HANGUL JUNGSEONG EO
729
+ - pattern: "ᅧ"
730
+ result: "yeo" # HANGUL JUNGSEONG YEO
731
+ - pattern: "ᅩ"
732
+ result: "o" # HANGUL JUNGSEONG O
733
+ - pattern: "ᅭ"
734
+ result: "yo" # HANGUL JUNGSEONG YO
735
+ - pattern: "ᅮ"
736
+ result: "u" # HANGUL JUNGSEONG U
737
+ - pattern: "ᅲ"
738
+ result: "yu" # HANGUL JUNGSEONG YU
739
+ - pattern: "ᅳ"
740
+ result: "eu" # HANGUL JUNGSEONG EU
741
+ - pattern: "ᅵ"
742
+ result: "i" # HANGUL JUNGSEONG I
743
+ - pattern: "ᅢ"
744
+ result: "ae" # HANGUL JUNGSEONG AE
745
+ - pattern: "ᅤ"
746
+ result: "yae" # HANGUL JUNGSEONG YAE
747
+ - pattern: "ᅦ"
748
+ result: "e" # HANGUL JUNGSEONG E
749
+ - pattern: "ᅨ"
750
+ result: "ye" # HANGUL JUNGSEONG YE
751
+ - pattern: "ᅬ"
752
+ result: "oe" # HANGUL JUNGSEONG OE
753
+ - pattern: "ᅱ"
754
+ result: "wi" # HANGUL JUNGSEONG WI
755
+ - pattern: "ᅴ"
756
+ result: "ui" # HANGUL JUNGSEONG YI
757
+ - pattern: "ᅪ"
758
+ result: "wa" # HANGUL JUNGSEONG WA
759
+ - pattern: "ᅯ"
760
+ result: "wo" # HANGUL JUNGSEONG WEO
761
+ - pattern: "ᅫ"
762
+ result: "wae" # HANGUL JUNGSEONG WAE
763
+ - pattern: "ᅰ"
764
+ result: "we" # HANGUL JUNGSEONG WE
765
+ - pattern: "ᆨ(?=[ -])"
766
+ result: "k" # HANGUL JONGSEONG KIYEOK
767
+ - pattern: "ᆫ(?=[ -])"
768
+ result: "n" # HANGUL JONGSEONG NIEUN
769
+ - pattern: "ᆮ(?=[ -])"
770
+ result: "t" # HANGUL JONGSEONG TIEUT
771
+ - pattern: "ᆯ(?=[ -])"
772
+ result: "l" # HANGUL JONGSEONG RIEUL
773
+ - pattern: "ᆷ(?=[ -])"
774
+ result: "m" # HANGUL JONGSEONG MIEUM
775
+ - pattern: "ᆸ(?=[ -])"
776
+ result: "p" # HANGUL JONGSEONG PIEUP
777
+ - pattern: "ᆺ(?=[ -])"
778
+ result: "t" # HANGUL JONGSEONG SIOS
779
+ - pattern: "ᆼ(?=[ -])"
780
+ result: "ng" # HANGUL JONGSEONG IEUNG
781
+ - pattern: "ᆽ(?=[ -])"
782
+ result: "t" # HANGUL JONGSEONG CIEUC
783
+ - pattern: "ᆾ(?=[ -])"
784
+ result: "t" # HANGUL JONGSEONG CHIEUCH
785
+ - pattern: "ᆿ(?=[ -])"
786
+ result: "k" # HANGUL JONGSEONG KHIEUKH
787
+ - pattern: "ᇀ(?=[ -])"
788
+ result: "t" # HANGUL JONGSEONG THIEUTH
789
+ - pattern: "ᇁ(?=[ -])"
790
+ result: "p" # HANGUL JONGSEONG PHIEUPH
791
+ - pattern: "ᆰ(?=[ -])"
792
+ result: "k" # HANGUL JONGSEONG RIEUL-KIYEOK
793
+ - pattern: "ᆲ(?=[ -])"
794
+ result: "p" # HANGUL JONGSEONG RIEUL-PIEUP
795
+
796
+ # Remove space added
797
+ - pattern: "^ "
798
+ result: ""
799
+ - pattern: " $"
800
+ result: ""
801
+
802
+ characters:
803
+ # This is based on Jamo