interscript 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +246 -14
  3. data/bin/interscript +38 -17
  4. data/bin/setup +8 -0
  5. data/lib/g2pwrapper.py +34 -0
  6. data/lib/interscript.rb +140 -16
  7. data/lib/interscript/command.rb +27 -0
  8. data/lib/interscript/mapping.rb +125 -0
  9. data/lib/interscript/version.rb +1 -1
  10. data/lib/model-7 +0 -0
  11. data/lib/tha-pt-b-7 +0 -0
  12. data/maps/acadsin-zho-Hani-Latn-2002.yaml +38912 -0
  13. data/maps/alalc-bel-cyrl-latn-1997.yaml +125 -0
  14. data/maps/alalc-ben-Beng-Latn-2017.yaml +130 -0
  15. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +94 -0
  16. data/maps/alalc-ell-Grek-Latn-1997.yaml +625 -0
  17. data/maps/alalc-ell-Grek-Latn-2010.yaml +628 -0
  18. data/maps/alalc-kat-Geok-Latn-1997.yaml +112 -0
  19. data/maps/alalc-kat-Geor-Latn-1997.yaml +146 -0
  20. data/maps/alalc-kor-Hang-Latn-1997.yaml +94 -0
  21. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +103 -0
  22. data/maps/alalc-mkd-cyrl-latn-1997.yaml +114 -0
  23. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +114 -0
  24. data/maps/alalc-srp-cyrl-latn-2013.yaml +135 -0
  25. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +141 -0
  26. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +16 -0
  27. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +283 -0
  28. data/maps/{bas-rus-Cyrl-Latn-bss.yaml → bas-rus-Cyrl-Latn-2017-bss.yaml} +57 -31
  29. data/maps/{bas-rus-Cyrl-Latn-oss.yaml → bas-rus-Cyrl-Latn-2017-oss.yaml} +54 -34
  30. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +294 -0
  31. data/maps/bgn-kor-Hang-Latn-1943.yaml +31 -0
  32. data/maps/bgn-kor-Kore-Latn-1943.yaml +31 -0
  33. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +208 -0
  34. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +208 -0
  35. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +1 -2
  36. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +104 -0
  37. data/maps/bgnpcgn-bel-cyrl-latn-1979.yaml +285 -0
  38. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +115 -0
  39. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +10 -64
  40. data/maps/bgnpcgn-chn-Hans-Latn-1979.yaml +7456 -0
  41. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +702 -0
  42. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +20 -0
  43. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +257 -0
  44. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +127 -0
  45. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +43 -0
  46. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +253 -0
  47. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +48 -0
  48. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +48 -0
  49. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +159 -0
  50. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +190 -0
  51. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +145 -64
  52. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +166 -0
  53. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +75 -2
  54. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +208 -0
  55. data/maps/by-bel-Cyrl-Latn-1998.yaml +168 -0
  56. data/maps/by-bel-Cyrl-Latn-2007.yaml +115 -0
  57. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +685 -0
  58. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +681 -0
  59. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +20 -0
  60. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +32 -0
  61. data/maps/ggg-kat-Geor-Latn-2002.yaml +89 -0
  62. data/maps/gki-bel-cyrl-latn-1992.yaml +33 -0
  63. data/maps/gki-bel-cyrl-latn-2000.yaml +201 -0
  64. data/maps/gost-rus-cyrl-latn-16876-71-1983.yaml +186 -0
  65. data/maps/hk-yue-Hani-Latn-1888.yaml +38497 -0
  66. data/maps/icao-bel-Cyrl-Latn-9303.yaml +108 -92
  67. data/maps/icao-bul-Cyrl-Latn-9303.yaml +1 -2
  68. data/maps/icao-heb-Hebr-Latn-9303.yaml +118 -124
  69. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +1 -2
  70. data/maps/icao-per-Arab-Latn-9303.yaml +5 -6
  71. data/maps/icao-rus-Cyrl-Latn-9303.yaml +1 -2
  72. data/maps/icao-srp-Cyrl-Latn-9303.yaml +1 -2
  73. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +1 -2
  74. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +610 -0
  75. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +41 -0
  76. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +62 -0
  77. data/maps/{iso-rus-Cyrl-Latn-iso9.yaml → iso-rus-Cyrl-Latn-9-1995.yaml} +2 -3
  78. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +109 -0
  79. data/maps/kp-kor-Hang-Latn-2002.yaml +901 -0
  80. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +44820 -0
  81. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +411 -0
  82. data/maps/moct-kor-Hang-Latn-2000.yaml +803 -0
  83. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +541 -0
  84. data/maps/nil-kor-Hang-Hang-jamo.yaml +11193 -0
  85. data/maps/odni-kat-Geor-Latn-2015.yaml +88 -0
  86. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +157 -0
  87. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +90 -0
  88. data/maps/royin-tha-Thai-Latn-1968.yaml +179 -0
  89. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +180 -0
  90. data/maps/royin-tha-Thai-Latn-1999.yaml +76 -0
  91. data/maps/{cn-chn-Hans-Latn-pinyin.yaml → sac-zho-Hans-Latn-1979.yaml} +6 -7
  92. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +222 -0
  93. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +193 -0
  94. data/maps/un-bel-Cyrl-Latn-2007.yaml +114 -0
  95. data/maps/un-ben-Beng-Latn-2016.yaml +534 -0
  96. data/maps/un-ell-Grek-Latn-1987-tl.yaml +32 -0
  97. data/maps/un-ell-Grek-Latn-1987-ts.yaml +20 -0
  98. data/maps/un-ell-Grek-Latn-phonetic-1987.yaml +780 -0
  99. data/maps/un-mon-Mong-Latn-2013.yaml +19 -6
  100. data/maps/un-rus-Cyrl-Latn-1987.yaml +166 -0
  101. data/maps/un-ukr-cyrl-latn-1998.yaml +30 -0
  102. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +406 -0
  103. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +386 -0
  104. data/maps/var-kor-Hang-Latn-mr-1939.yaml +1054 -0
  105. data/maps/var-kor-Kore-Hang-2013.yaml +59754 -0
  106. data/maps/var-kor-Kore-Latn-mr-1939.yaml +37 -0
  107. data/maps/var-tha-Thai-Thai-phonemic.yaml +59 -0
  108. data/maps/var-tha-Thai-Zsym-ipa.yaml +301 -0
  109. data/maps/var-zho-Hani-Latn-1979.yaml +38908 -0
  110. data/spec/interscript/mapping_spec.rb +42 -0
  111. data/spec/interscript_spec.rb +20 -5
  112. data/spec/spec_helper.rb +3 -1
  113. metadata +149 -24
  114. data/maps/bgnpcgn-chn-Hans-Latn-pinyin.yaml +0 -7503
  115. data/maps/historic-jpn-Hrkt-Latn-hepburn.yaml +0 -336
  116. data/maps/icao-gre-Grek-Latn-9303.yaml +0 -101
  117. data/maps/mext-jpn-Hrkt-Latn-hepburn.yaml +0 -330
  118. data/maps/mext-jpn-Hrkt-Latn-kunrei.yaml +0 -308
  119. data/maps/un-jpn-Hrkt-Latn-hepburn.yaml +0 -313
  120. data/maps/un-jpn-Hrkt-Latn-kunrei.yaml +0 -354
@@ -0,0 +1,386 @@
1
+ ---
2
+ authority_id: var
3
+ id: hepburn-1954
4
+ language: jpn
5
+ source_script: Hrkt
6
+ destination_script: Latn
7
+ name: Modified Hepburn
8
+ url:
9
+ creation_date: 1954
10
+ adoption_date:
11
+ description:
12
+ This is a modified version of Hepburn romanization, which was
13
+ adopted by Kenkyusha's New Japanese-English Dictionary (3rd edition)
14
+ One crucial difference between Modified and Tranditional Hepburn is
15
+ that the ん/ン sound is always transliterated as n, even before the
16
+ letters b,m,p.
17
+
18
+ notes:
19
+
20
+ tests:
21
+ # - source: かんおう
22
+ # expected: kan'ō
23
+ # - source: かのう
24
+ # expected: kanō
25
+ # - source: きんゆう
26
+ # expected: kin'yū
27
+ # - source: とうきょう
28
+ # expected: tōkyō
29
+ # - source: がっこう
30
+ # expected: gakkō
31
+ - source: かごっま
32
+ expected: kagomma
33
+ # - source: ぽっぽっや
34
+ # expected: poppoyya
35
+ # - source: てっら
36
+ # expected: terra
37
+ # - source: にゃっほー
38
+ # expected: nyahhō
39
+
40
+ map:
41
+
42
+ rules:
43
+ - pattern: "([んン])(?=[あいうえおやゆよアイウエオヤユヨ])"
44
+ result: "\\1’"
45
+
46
+ postrules:
47
+ # Handling of っ/ッ
48
+ #
49
+ # The kana っ/ッ is a geminate marker.
50
+ # When followed by a consonant, repeat the first letter of
51
+ # the following syllable. Exception: the combination -cch-
52
+ # should be transliterated as -tch-
53
+ #
54
+ # If っ/ッ is not followed by a consonant, then it is usually
55
+ # phonetically realised as an abrupt stop or shorterning of
56
+ # the previous syllable. There is no documented or commonly
57
+ # accepted way to transliterate this sound.
58
+
59
+ - pattern: "[っッ]([BbDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvWwXxYyZz])" # っ or ッ folloved by consonant
60
+ result: "\\1\\1"
61
+ - pattern: "[っッ]([Cc])" # ッ followed by ch-
62
+ result: "t\\1"
63
+ - pattern: "[っッ]" # drop all other っッ.
64
+ result: ""
65
+
66
+ # In Modified Hepburn, long vowels within the same morpheme are
67
+ # transliterated using a macron, i.e. ā, ī, ū, ē, ō.
68
+ #
69
+ # If two repeating letters are split across a morpheme boundary
70
+ # then they should not be changed into macron.
71
+ #
72
+ # Long vowels in loanwords are indicated with a macron instead
73
+ # of letter doubling.
74
+
75
+ - pattern: "a[ーa]"
76
+ result: "ā"
77
+ - pattern: "i[ーi]"
78
+ result: "ī"
79
+ - pattern: "u[ーu]"
80
+ result: "ū"
81
+ - pattern: "e[ーe]"
82
+ result: "ē"
83
+ - pattern: "o[ーo]"
84
+ result: "ō"
85
+
86
+ characters:
87
+
88
+ # Hiragana
89
+
90
+ "あ": "a"
91
+ "い": "i"
92
+ "う": "u"
93
+ "え": "e"
94
+ "お": "o"
95
+ "おう": "ō"
96
+
97
+ "か": "ka"
98
+ "き": "ki"
99
+ "く": "ku"
100
+ "け": "ke"
101
+ "こ": "ko"
102
+ "きゃ": "kya"
103
+ "きゅ": "kyu"
104
+ "きょ": "kyo"
105
+ "きょう": "kyō"
106
+ "こう": "kō"
107
+
108
+ "さ": "sa"
109
+ "し": "shi"
110
+ "す": "su"
111
+ "せ": "se"
112
+ "そ": "so"
113
+ "しゃ": "sha"
114
+ "しゅ": "shu"
115
+ "しょ": "sho"
116
+ "しょう": "shō"
117
+ "そう": "sō"
118
+
119
+ "た": "ta"
120
+ "ち": "chi"
121
+ "つ": "tsu"
122
+ "て": "te"
123
+ "と": "to"
124
+ "ちゃ": "cha"
125
+ "ちゅ": "chu"
126
+ "ちょ": "cho"
127
+ "とう": "tō"
128
+ "ちょう": "chō"
129
+
130
+ "な": "na"
131
+ "に": "ni"
132
+ "ぬ": "nu"
133
+ "ね": "ne"
134
+ "の": "no"
135
+ "にゃ": "nya"
136
+ "にゅ": "nyu"
137
+ "にょ": "nyo"
138
+ "にょう": "nyō"
139
+ "のう": "nō"
140
+
141
+ "は": "ha"
142
+ "ひ": "hi"
143
+ "ふ": "fu"
144
+ "へ": "he"
145
+ "ほ": "ho"
146
+ "ひゃ": "hya"
147
+ "ひゅ": "hyu"
148
+ "ひょ": "hyo"
149
+ "ひょう": "hyō"
150
+ "ほう": "hō"
151
+
152
+ "ま": "ma"
153
+ "み": "mi"
154
+ "む": "mu"
155
+ "め": "me"
156
+ "も": "mo"
157
+ "みゃ": "mya"
158
+ "みゅ": "myu"
159
+ "みょ": "myo"
160
+ "みょう": "myō"
161
+ "もう": "mō"
162
+
163
+ "や": "ya"
164
+ "ゆ": "yu"
165
+ "よ": "yo"
166
+ "よう": "yō"
167
+
168
+ "ら": "ra"
169
+ "り": "ri"
170
+ "る": "ru"
171
+ "れ": "re"
172
+ "ろ": "ro"
173
+ "りゃ": "rya"
174
+ "りゅ": "ryu"
175
+ "りょ": "ryo"
176
+ "りょう": "ryō"
177
+ "ろう": "rō"
178
+
179
+ "わ": "wa"
180
+ "を": "o"
181
+
182
+ "が": "ga"
183
+ "ぎ": "gi"
184
+ "ぐ": "gu"
185
+ "げ": "ge"
186
+ "ご": "go"
187
+ "ぎゃ": "gya"
188
+ "ぎゅ": "gyu"
189
+ "ぎょ": "gyo"
190
+ "ぎょう": "gyō"
191
+ "ごう": "gō"
192
+
193
+ "ざ": "za"
194
+ "じ": "ji"
195
+ "ず": "zu"
196
+ "ぜ": "ze"
197
+ "ぞ": "zo"
198
+ "じゃ": "ja"
199
+ "じゅ": "ju"
200
+ "じょ": "jo"
201
+ "じょう": "jō"
202
+ "ぞう": "zō"
203
+
204
+ "だ": "da"
205
+ "ぢ": "ji"
206
+ "づ": "zu"
207
+ "で": "de"
208
+ "ど": "do"
209
+ "ぢゃ": "ja"
210
+ "ぢゅ": "ju"
211
+ "ぢょ": "jo"
212
+ "どう": "dō"
213
+
214
+ "ば": "ba"
215
+ "び": "bi"
216
+ "ぶ": "bu"
217
+ "べ": "be"
218
+ "ぼ": "bo"
219
+ "びゃ": "bya"
220
+ "びゅ": "byu"
221
+ "びょ": "byo"
222
+ "びょう": "byō"
223
+ "ぼう": "bō"
224
+
225
+ "ぱ": "pa"
226
+ "ぴ": "pi"
227
+ "ぷ": "pu"
228
+ "ぺ": "pe"
229
+ "ぽ": "po"
230
+ "ぴゃ": "pya"
231
+ "ぴゅ": "pyu"
232
+ "ぴょ": "pyo"
233
+ "ぴょう": "pyō"
234
+ "ぽう": "pō"
235
+
236
+ "ん": "n"
237
+
238
+ # Katakana
239
+
240
+ "ア": "a"
241
+ "イ": "i"
242
+ "ウ": "u"
243
+ "エ": "e"
244
+ "オ": "o"
245
+ "オウ": "ō"
246
+
247
+ "カ": "ka"
248
+ "キ": "ki"
249
+ "ク": "ku"
250
+ "ケ": "ke"
251
+ "コ": "ko"
252
+ "キャ": "kya"
253
+ "キュ": "kyu"
254
+ "キョ": "kyo"
255
+ "キョウ": "kyō"
256
+ "コウ": "kō"
257
+
258
+ "サ": "sa"
259
+ "シ": "shi"
260
+ "ス": "su"
261
+ "セ": "se"
262
+ "ソ": "so"
263
+ "シャ": "sha"
264
+ "シュ": "shu"
265
+ "ショ": "sho"
266
+ "ショウ": "shō"
267
+ "ソウ": "sō"
268
+
269
+ "タ": "ta"
270
+ "チ": "chi"
271
+ "ツ": "tsu"
272
+ "テ": "te"
273
+ "ト": "to"
274
+ "チャ": "cha"
275
+ "チュ": "chu"
276
+ "チョ": "cho"
277
+ "チョウ": "chō"
278
+ "トウ": "tō"
279
+
280
+ "ナ": "na"
281
+ "ニ": "ni"
282
+ "ヌ": "nu"
283
+ "ネ": "ne"
284
+ "ノ": "no"
285
+ "ニャ": "nya"
286
+ "ニュ": "nyu"
287
+ "ニョ": "nyo"
288
+ "ニョウ": "nyō"
289
+ "ノウ": "nō"
290
+
291
+ "ハ": "ha"
292
+ "ヒ": "hi"
293
+ "フ": "fu"
294
+ "ヘ": "he"
295
+ "ホ": "ho"
296
+ "ヒャ": "hya"
297
+ "ヒュ": "hyu"
298
+ "ヒョ": "hyo"
299
+ "ヒョウ": "hyō"
300
+ "ホウ": "hō"
301
+
302
+ "マ": "ma"
303
+ "ミ": "mi"
304
+ "ム": "mu"
305
+ "メ": "me"
306
+ "モ": "mo"
307
+ "ミャ": "mya"
308
+ "ミュ": "myu"
309
+ "ミョ": "myo"
310
+ "ミョウ": "myō"
311
+ "モウ": "mō"
312
+
313
+ "ヤ": "ya"
314
+ "ユ": "yu"
315
+ "ヨ": "yo"
316
+ "ヨウ": "yō"
317
+
318
+ "ラ": "ra"
319
+ "リ": "ri"
320
+ "ル": "ru"
321
+ "レ": "re"
322
+ "ロ": "ro"
323
+ "リャ": "rya"
324
+ "リュ": "ryu"
325
+ "リョ": "ryo"
326
+ "リョウ": "ryō"
327
+ "ロウ": "rō"
328
+
329
+ "ワ": "wa"
330
+ "ヲ": "o"
331
+
332
+ "ガ": "ga"
333
+ "ギ": "gi"
334
+ "グ": "gu"
335
+ "ゲ": "ge"
336
+ "ゴ": "go"
337
+ "ギャ": "gya"
338
+ "ギュ": "gyu"
339
+ "ギョ": "gyo"
340
+ "ギョウ": "gyō"
341
+ "ゴウ": "gō"
342
+
343
+ "ザ": "za"
344
+ "ジ": "ji"
345
+ "ズ": "zu"
346
+ "ゼ": "ze"
347
+ "ゾ": "zo"
348
+ "ジャ": "ja"
349
+ "ジュ": "ju"
350
+ "ジョ": "jo"
351
+ "ジョウ": "jō"
352
+ "ゾウ": "zō"
353
+
354
+ "ダ": "da"
355
+ "ヂ": "ji"
356
+ "ヅ": "zu"
357
+ "デ": "de"
358
+ "ド": "do"
359
+ "ヂャ": "ja"
360
+ "ヂュ": "ju"
361
+ "ヂョ": "jo"
362
+ "ドウ": "dō"
363
+
364
+ "バ": "ba"
365
+ "ビ": "bi"
366
+ "ブ": "bu"
367
+ "ベ": "be"
368
+ "ボ": "bo"
369
+ "ビャ": "bya"
370
+ "ビュ": "byu"
371
+ "ビョ": "byo"
372
+ "ビョウ": "byō"
373
+ "ボウ": "bō"
374
+
375
+ "パ": "pa"
376
+ "ピ": "pi"
377
+ "プ": "pu"
378
+ "ペ": "pe"
379
+ "ポ": "po"
380
+ "ピャ": "pya"
381
+ "ピュ": "pyu"
382
+ "ピョ": "pyo"
383
+ "ピョウ": "pyō"
384
+ "ポウ": "pō"
385
+
386
+ "ン": "n"
@@ -0,0 +1,1054 @@
1
+ ---
2
+ authority_id: bgn
3
+ id: mr-1939
4
+ language: kor
5
+ source_script: Hang
6
+ destination_script: Latn
7
+ name: McCune-Reischauer System
8
+ url:
9
+ creation_date: 1939
10
+ adoption_date:
11
+ description:
12
+ E. O. Reischauer and G. M. McCune
13
+ The Romanization of the Korean Language Based on Its Phonetic Structure. XXIX:1-55.
14
+ Korea Branch of the Royal Asiatic Society. Volume XXIX (PDF)
15
+ notes:
16
+ This file only handles Hangul to Latin.
17
+
18
+ tests:
19
+ - source: "구경"
20
+ expected: "kugyŏng"
21
+ - source: "금광"
22
+ expected: "kŭmgwang"
23
+ - source: "뎐기"
24
+ expected: "chŏn’gi"
25
+ - source: "양국"
26
+ expected: "yangguk"
27
+ - source: "물건"
28
+ expected: "mulgŏn"
29
+ - source: "국민"
30
+ expected: "kungmin"
31
+ - source: "막내"
32
+ expected: "mangnae"
33
+ - source: "작란"
34
+ expected: "changnan"
35
+ - source: "락심"
36
+ expected: "naksim"
37
+ - source: "합계"
38
+ expected: "hapkye"
39
+ - source: "각각"
40
+ expected: "kakkak"
41
+ - source: "속히"
42
+ expected: "sokhi"
43
+ - source: "독"
44
+ expected: "tok"
45
+ - source: "니"
46
+ expected: "i"
47
+ - source: "녀인"
48
+ expected: "yŏin"
49
+ - source: "녯적"
50
+ expected: "yetchŏk"
51
+ - source: "날"
52
+ expected: "nal"
53
+ - source: "농민"
54
+ expected: "nongmin"
55
+ - source: "얼는"
56
+ expected: "ŏllŭn"
57
+ - source: "련락"
58
+ expected: "yŏllak"
59
+ - source: "하나님"
60
+ expected: "hananim"
61
+ - source: "한문"
62
+ expected: "hanmun"
63
+ - source: "산"
64
+ expected: "san"
65
+ - source: "디방"
66
+ expected: "chibang"
67
+ - source: "다섯"
68
+ expected: "tasŏt"
69
+ - source: "뎐디"
70
+ expected: "chŏnji"
71
+ - source: "슈뎐"
72
+ expected: "sujŏn"
73
+ - source: "감뎡"
74
+ expected: "kamjŏng"
75
+ - source: "당됴"
76
+ expected: "tangjo"
77
+ - source: "무당"
78
+ expected: "mudang"
79
+ - source: "어드메"
80
+ expected: "ŏdŭme"
81
+ - source: "삼등"
82
+ expected: "samdŭng"
83
+ - source: "만두"
84
+ expected: "mandu"
85
+ - source: "앵도"
86
+ expected: "aengdo"
87
+ - source: "약됴"
88
+ expected: "yakcho"
89
+ - source: "박디"
90
+ expected: "pakchi"
91
+ - source: "협뎡"
92
+ expected: "hyŏpchŏng"
93
+ - source: "일뎡"
94
+ expected: "ilchŏng"
95
+ - source: "놋뎜"
96
+ expected: "notchŏm"
97
+ - source: "벽돌"
98
+ expected: "pyŏktol"
99
+ - source: "합동"
100
+ expected: "haptong"
101
+ - source: "열도"
102
+ expected: "yŏlto"
103
+ - source: "잇다가"
104
+ expected: "ittaga"
105
+ - source: "린근"
106
+ expected: "in’gŭn"
107
+ - source: "력사"
108
+ expected: "yŏksa"
109
+ - source: "령반"
110
+ expected: "yŏngban"
111
+ - source: "락뎨"
112
+ expected: "nakche"
113
+ - source: "마루"
114
+ expected: "maru"
115
+ - source: "일홈"
116
+ expected: "irhom"
117
+ - source: "할머니"
118
+ expected: "halmŏni"
119
+ - source: "신라"
120
+ expected: "silla"
121
+ - source: "물리학"
122
+ expected: "mullihak"
123
+ - source: "죵로"
124
+ expected: "chongno"
125
+ - source: "독립"
126
+ expected: "tongnip"
127
+ - source: "십리"
128
+ expected: "simni"
129
+ - source: "발"
130
+ expected: "pal"
131
+ - source: "말"
132
+ expected: "mal"
133
+ - source: "나무"
134
+ expected: "namu"
135
+ - source: "음식"
136
+ expected: "ŭmsik"
137
+ - source: "밤"
138
+ expected: "pam"
139
+ - source: "사발"
140
+ expected: "sabal"
141
+ - source: "담배"
142
+ expected: "tambae"
143
+ - source: "준비"
144
+ expected: "chunbi"
145
+ - source: "갈비"
146
+ expected: "kalbi"
147
+ - source: "십명"
148
+ expected: "simmyŏng"
149
+ - source: "입내"
150
+ expected: "imnae"
151
+ - source: "셥리"
152
+ expected: "sŏmni"
153
+ - source: "답장"
154
+ expected: "tapchang"
155
+ - source: "약방"
156
+ expected: "yakpang"
157
+ - source: "뎝시"
158
+ expected: "chŏpsi"
159
+ - source: "밥"
160
+ expected: "pap"
161
+ - source: "쉽다"
162
+ expected: "shwipta"
163
+ - source: "손쉽다"
164
+ expected: "sonshwipta"
165
+ - source: "목사"
166
+ expected: "moksa"
167
+ - source: "랭슈"
168
+ expected: "naengsu"
169
+ - source: "무식"
170
+ expected: "musik"
171
+ - source: "겻슌"
172
+ expected: "kyŏssun"
173
+ - source: "갓사기"
174
+ expected: "kassagi"
175
+ - source: "갓모"
176
+ expected: "kanmo"
177
+ - source: "잣나비"
178
+ expected: "channabi"
179
+ - source: "닷량"
180
+ expected: "tannyang"
181
+ - source: "잇해"
182
+ expected: "ithae"
183
+ - source: "졋통"
184
+ expected: "chŏtt’ong"
185
+ - source: "낫잠"
186
+ expected: "natcham"
187
+ - source: "붓채"
188
+ expected: "putch’ae"
189
+ - source: "갓방"
190
+ expected: "katpang"
191
+ - source: "엿가락"
192
+ expected: "yŏtkarak"
193
+ # - source: "밋음" # Obsolete
194
+ # expected: "midŭm"
195
+ # - source: "깃브다" # Obsolete
196
+ # expected: "kippŭda"
197
+ # - source: "엇개" # Obsolete
198
+ # expected: "ŏkkae"
199
+ - source: "갓"
200
+ expected: "kat"
201
+ - source: "알"
202
+ expected: "al"
203
+ - source: "독일"
204
+ expected: "togil"
205
+ - source: "농민"
206
+ expected: "nongmin"
207
+ - source: "방"
208
+ expected: "pang"
209
+ - source: "장"
210
+ expected: "chang"
211
+ - source: "도쟝"
212
+ expected: "tojang"
213
+ - source: "감자"
214
+ expected: "kamja"
215
+ - source: "민족"
216
+ expected: "minjok"
217
+ - source: "명지"
218
+ expected: "myŏngji"
219
+ - source: "목쟝"
220
+ expected: "mokchang"
221
+ - source: "압집"
222
+ expected: "apchip"
223
+ - source: "물질"
224
+ expected: "mulchil"
225
+ - source: "차"
226
+ expected: "ch’a"
227
+ - source: "김치"
228
+ expected: "kimch’i"
229
+ - source: "코"
230
+ expected: "k’o"
231
+ - source: "왜콩"
232
+ expected: "waek’ong"
233
+ - source: "텬당"
234
+ expected: "ch’ŏndang"
235
+ - source: "타산"
236
+ expected: "t’asan"
237
+ - source: "토끼"
238
+ expected: "t’okki"
239
+ - source: "동텰"
240
+ expected: "tongch’ŏl"
241
+ - source: "조타"
242
+ expected: "chot’a"
243
+ - source: "팔"
244
+ expected: "p’al"
245
+ - source: "셔판"
246
+ expected: "sŏp’an"
247
+ - source: "하나"
248
+ expected: "hana"
249
+ - source: "만히"
250
+ expected: "manhi"
251
+ - source: "학회"
252
+ expected: "hakhoe"
253
+ - source: "깍지"
254
+ expected: "kkakchi"
255
+ - source: "박꼿"
256
+ expected: "pakkot"
257
+ - source: "땅"
258
+ expected: "ttang"
259
+ - source: "허리띠"
260
+ expected: "hŏritti"
261
+ - source: "엿때"
262
+ expected: "yŏttae"
263
+ - source: "뿌리"
264
+ expected: "ppuri"
265
+ - source: "쇠뿔"
266
+ expected: "soeppul"
267
+ - source: "쓰다"
268
+ expected: "ssŭda"
269
+ - source: "콩씨"
270
+ expected: "k’ongssi"
271
+ - source: "좁쌀"
272
+ expected: "chopssal"
273
+ - source: "갓싸기"
274
+ expected: "kassagi"
275
+ - source: "짜르다"
276
+ expected: "tcharŭda"
277
+ - source: "꼼짝"
278
+ expected: "kkomtchak"
279
+ - source: "밋짝"
280
+ expected: "mitchak"
281
+ - source: "갉이"
282
+ expected: "kalgi"
283
+ - source: "멁금하다"
284
+ expected: "mŏlgŭmhada" # Example gives mŏlk-, but spec requires mŏlg-
285
+ - source: "얽매다"
286
+ expected: "ŏngmaeda"
287
+ - source: "붉히다"
288
+ expected: "pulkhida"
289
+ - source: "긁적대다"
290
+ expected: "kŭkchŏktaeda"
291
+ - source: "닭"
292
+ expected: "tak"
293
+ - source: "넓이"
294
+ expected: "nŏlbi"
295
+ - source: "얇판하다"
296
+ expected: "yalp’anhada"
297
+ - source: "넓나물"
298
+ expected: "nŏmnamul"
299
+ - source: "슯흠"
300
+ expected: "sŭlphŭm"
301
+ - source: "넓치"
302
+ expected: "nŏpch’i"
303
+ - source: "얾마가다"
304
+ expected: "ŏlmagada"
305
+ - source: "긂기다"
306
+ expected: "kŭmgida"
307
+
308
+
309
+ map:
310
+ character_separator: ""
311
+ word_separator: " "
312
+ title_case: False
313
+ inherit: nil-kor-Hang-Hang-jamo
314
+
315
+ rules:
316
+
317
+ postrules:
318
+
319
+ # Add space to the two ends of the string for easier word boundary handling
320
+ - pattern: "^"
321
+ result: " "
322
+ - pattern: "$"
323
+ result: " "
324
+
325
+ # HANGUL JONGSEONG SSANGKIYEOK
326
+ - pattern: "ᆩ(-?)ᄋ"
327
+ result: "ᆨ\\1ᄁ"
328
+ - pattern: "ᆩ(-?)"
329
+ result: "ᆨ\\1"
330
+
331
+ # HANGUL JONGSEONG SSANGKIYEOK
332
+ - pattern: "ᆪ(-?)ᄋ"
333
+ result: "ᆨ\\1ᄉ"
334
+ - pattern: "ᆪ(-?)"
335
+ result: "ᆨ\\1"
336
+
337
+ # HANGUL JONGSEONG NIEUN-CIEUC
338
+ - pattern: "ᆬ(-?)ᄋ"
339
+ result: "ᆫ\\1ᄌ"
340
+ - pattern: "ᆬ(-?)"
341
+ result: "ᆫ\\1"
342
+
343
+ # HANGUL JONGSEONG NIEUN-CIEUC
344
+ - pattern: "ᆭ(-?)ᄀ"
345
+ result: "ᆫ\\1ᄏ"
346
+ - pattern: "ᆭ(-?)ᄃ"
347
+ result: "ᆫ\\1ᄐ"
348
+ - pattern: "ᆭ(-?)ᄇ"
349
+ result: "ᆫ\\1ᄑ"
350
+ - pattern: "ᆭ(-?)ᄌ"
351
+ result: "ᆫ\\1ᄎ"
352
+ - pattern: "ᆭ(-?)"
353
+ result: "ᆫ\\1"
354
+
355
+ # HANGUL JONGSEONG TIEUT
356
+ - pattern: "ᆮ(-?)(?=[ᄀᄁᄂᄃᄄᄅᄆᄇᄈᄉᄊᄌᄍᄎᄏᄐᄑᄒ])"
357
+ result: "ᆺ\\1"
358
+
359
+ # HANGUL JONGSEONG RIEUL-SIOS
360
+ - pattern: "ᆳ(-?)ᄋ"
361
+ result: "ᆯ\\1ᄉ"
362
+ - pattern: "ᆳ(-?)"
363
+ result: "ᆯ\\1"
364
+
365
+ # HANGUL JONGSEONG RIEUL-THIEUTH
366
+ - pattern: "ᆴ(-?)ᄋ"
367
+ result: "ᆯ\\1ᄐ"
368
+ - pattern: "ᆴ(-?)"
369
+ result: "ᆯ\\1"
370
+
371
+ # HANGUL JONGSEONG RIEUL-PHIEUPH
372
+ - pattern: "ᆵ(-?)ᄋ"
373
+ result: "ᆯ\\1ᄑ"
374
+ - pattern: "ᆵ(-?)(?=[ᄃᄄᄐ])"
375
+ result: "ᆯ\\1"
376
+ - pattern: "ᆵ(-?)"
377
+ result: "ᄇ\\1"
378
+
379
+ # HANGUL JONGSEONG RIEUL-HIEUH
380
+ - pattern: "ᆶ(-?)ᄀ"
381
+ result: "ᆯ\\1ᄏ"
382
+ - pattern: "ᆶ(-?)ᄃ"
383
+ result: "ᆯ\\1ᄐ"
384
+ - pattern: "ᆶ(-?)ᄇ"
385
+ result: "ᆯ\\1ᄑ"
386
+ - pattern: "ᆶ(-?)ᄌ"
387
+ result: "ᆯ\\1ᄎ"
388
+ - pattern: "ᆶ(-?)"
389
+ result: "ᆯ\\1"
390
+
391
+ # HANGUL JONGSEONG PIEUP-SIOS
392
+ - pattern: "ᆹ(-?)ᄋ"
393
+ result: "ᄇ\\1ᄉ"
394
+ - pattern: "ᆹ(-?)"
395
+ result: "ᄇ\\1"
396
+
397
+ # HANGUL JONGSEONG SSANG-SIOS
398
+ - pattern: "ᆻ(-?)ᄋ"
399
+ result: "ᆺ\\1ᄊ"
400
+ - pattern: "ᆻ(-?)"
401
+ result: "ᆺ\\1"
402
+
403
+ # HANGUL JONGSEONG CIEUC
404
+ - pattern: "ᆽ(-?)ᄋ"
405
+ result: "ᆺ\\1ᄌ"
406
+ - pattern: "ᆽ(-?)"
407
+ result: "ᆺ\\1"
408
+
409
+ # HANGUL JONGSEONG CHIEUCH
410
+ - pattern: "ᆾ(-?)ᄋ"
411
+ result: "ᆺ\\1ᄎ"
412
+ - pattern: "ᆾ(-?)"
413
+ result: "ᆺ\\1"
414
+
415
+ # HANGUL JONGSEONG KHIEUKH
416
+ - pattern: "ᆿ(-?)ᄋ"
417
+ result: "ᆨ\\1ᄏ"
418
+ - pattern: "ᆿ(-?)"
419
+ result: "ᆨ\\1"
420
+
421
+ # HANGUL JONGSEONG THIEUTH
422
+ - pattern: "ᇀ(-?)ᄋ"
423
+ result: "ᆺ\\1ᄐ"
424
+ - pattern: "ᇀ(-?)"
425
+ result: "ᆺ\\1"
426
+
427
+ # HANGUL JONGSEONG PHIEUPH
428
+ - pattern: "ᇁ(-?)ᄋ"
429
+ result: "ᆸ\\1ᄑ"
430
+ - pattern: "ᇁ(-?)"
431
+ result: "ᆸ\\1"
432
+
433
+ # HANGUL JONGSEONG HIEUH
434
+ - pattern: "ᇂ(-?)ᄀ"
435
+ result: "\\1ᄏ"
436
+ - pattern: "ᇂ(-?)ᄃ"
437
+ result: "\\1ᄐ"
438
+ - pattern: "ᇂ(-?)ᄇ"
439
+ result: "\\1ᄑ"
440
+ - pattern: "ᇂ(-?)ᄌ"
441
+ result: "\\1ᄎ"
442
+ - pattern: "ᇂ(-?)"
443
+ result: "\\1"
444
+
445
+ # From Unicode Chart
446
+ # https://github.com/unicode-org/cldr/blob/master/common/transforms/Korean-Latin-BGN.xml
447
+
448
+ - pattern: "ᆮ(-?)ᄋ" # HANGUL JONGSEONG TIEUT + CHOSEONG IEUNG
449
+ result: "\\1d"
450
+
451
+ - pattern: "ᆨ(-?)ᄀ"
452
+ result: "k\\1k" # HANGUL JONGSEONG KIYEOK + CHOSEONG KIYEOK
453
+ - pattern: "ᆨ(-?)ᄂ"
454
+ result: "ng\\1n" # HANGUL JONGSEONG KIYEOK + CHOSEONG NIEUN
455
+ - pattern: "ᆨ(-?)ᄃ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
456
+ result: "k\\1ch" # HANGUL JONGSEONG KIYEOK + CHOSEONG TIEUT + YOTIZED VOWELS
457
+ - pattern: "ᆨ(-?)ᄃ"
458
+ result: "k\\1t" # HANGUL JONGSEONG KIYEOK + CHOSEONG TIEUT
459
+ - pattern: "ᆨ(-?)ᄅ"
460
+ result: "ng\\1n" # HANGUL JONGSEONG KIYEOK + CHOSEONG RIEUL
461
+ - pattern: "ᆨ(-?)ᄆ"
462
+ result: "ng\\1m" # HANGUL JONGSEONG KIYEOK + CHOSEONG MIEUM
463
+ - pattern: "ᆨ(-?)ᄇ"
464
+ result: "k\\1p" # HANGUL JONGSEONG KIYEOK + CHOSEONG PIEUP
465
+ - pattern: "ᆨ(-?)ᄉ"
466
+ result: "k\\1s" # HANGUL JONGSEONG KIYEOK + CHOSEONG SIOS
467
+ - pattern: "ᆨ(-?)ᄋ"
468
+ result: "\\1g" # HANGUL JONGSEONG KIYEOK + CHOSEONG IEUNG
469
+ - pattern: "ᆨ(-?)ᄌ"
470
+ result: "k\\1ch" # HANGUL JONGSEONG KIYEOK + CHOSEONG CIEUC
471
+ - pattern: "ᆨ(-?)ᄎ"
472
+ result: "k\\1ch’" # HANGUL JONGSEONG KIYEOK + CHOSEONG CHIEUCH
473
+ - pattern: "ᆨ(-?)ᄏ"
474
+ result: "k\\1k’" # HANGUL JONGSEONG KIYEOK + CHOSEONG KHIEUKH
475
+ - pattern: "ᆨ(-?)ᄐ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
476
+ result: "k\\1ch’" # HANGUL JONGSEONG KIYEOK + CHOSEONG THIEUTH + YOTIZED VOWELS
477
+ - pattern: "ᆨ(-?)ᄐ"
478
+ result: "k\\1t’" # HANGUL JONGSEONG KIYEOK + CHOSEONG THIEUTH
479
+ - pattern: "ᆨ(-?)ᄑ"
480
+ result: "k\\1p’" # HANGUL JONGSEONG KIYEOK + CHOSEONG PHIEUPH
481
+ - pattern: "ᆨ(-?)ᄒ"
482
+ result: "k\\1h" # HANGUL JONGSEONG KIYEOK + CHOSEONG HIEUH
483
+ - pattern: "ᆨ(-?)ᄁ"
484
+ result: "k\\1k" # HANGUL JONGSEONG KIYEOK + CHOSEONG SSANGKIYEOK
485
+ - pattern: "ᆨ(-?)ᄄ"
486
+ result: "k\\1tt" # HANGUL JONGSEONG KIYEOK + CHOSEONG SSANGTIEUT
487
+ - pattern: "ᆨ(-?)ᄈ"
488
+ result: "k\\1pp" # HANGUL JONGSEONG KIYEOK + CHOSEONG SSANGPIEUP
489
+ - pattern: "ᆨ(-?)ᄊ"
490
+ result: "k\\1ss" # HANGUL JONGSEONG KIYEOK + CHOSEONG SSANGSIOS
491
+ - pattern: "ᆨ(-?)ᄍ"
492
+ result: "k\\1tch" # HANGUL JONGSEONG KIYEOK + CHOSEONG SSANGCIEUC
493
+ - pattern: "ᆫᄀ"
494
+ result: "n’g" # HANGUL JONGSEONG NIEUN + CHOSEONG KIYEOK
495
+ - pattern: "ᆫ(-)ᄀ"
496
+ result: "n\\1g" # HANGUL JONGSEONG NIEUN + CHOSEONG KIYEOK
497
+ - pattern: "ᆫ(-?)ᄂ"
498
+ result: "n\\1n" # HANGUL JONGSEONG NIEUN + CHOSEONG NIEUN
499
+ - pattern: "ᆫ(-?)ᄃ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
500
+ result: "n\\1j" # HANGUL JONGSEONG NIEUN + CHOSEONG TIEUT + YOTIZED VOWELS
501
+ - pattern: "ᆫ(-?)ᄃ"
502
+ result: "n\\1d" # HANGUL JONGSEONG NIEUN + CHOSEONG TIEUT
503
+ - pattern: "ᆫ(-?)ᄅ"
504
+ result: "l\\1l" # HANGUL JONGSEONG NIEUN + CHOSEONG RIEUL
505
+ - pattern: "ᆫ(-?)ᄆ"
506
+ result: "n\\1m" # HANGUL JONGSEONG NIEUN + CHOSEONG MIEUM
507
+ - pattern: "ᆫ(-?)ᄇ"
508
+ result: "n\\1b" # HANGUL JONGSEONG NIEUN + CHOSEONG PIEUP
509
+ - pattern: "ᆫ(-?)ᄉ"
510
+ result: "n\\1s" # HANGUL JONGSEONG NIEUN + CHOSEONG SIOS
511
+ - pattern: "ᆫ(-?)ᄋ"
512
+ result: "n\\1" # HANGUL JONGSEONG NIEUN + CHOSEONG IEUNG
513
+ - pattern: "ᆫ(-?)ᄌ"
514
+ result: "n\\1j" # HANGUL JONGSEONG NIEUN + CHOSEONG CIEUC
515
+ - pattern: "ᆫ(-?)ᄎ"
516
+ result: "n\\1ch’" # HANGUL JONGSEONG NIEUN + CHOSEONG CHIEUCH
517
+ - pattern: "ᆫ(-?)ᄏ"
518
+ result: "n\\1k’" # HANGUL JONGSEONG NIEUN + CHOSEONG KHIEUKH
519
+ - pattern: "ᆫ(-?)ᄐ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
520
+ result: "n\\1ch’" # HANGUL JONGSEONG NIEUN + CHOSEONG THIEUTH + YOTIZED VOWELS
521
+ - pattern: "ᆫ(-?)ᄐ"
522
+ result: "n\\1t’" # HANGUL JONGSEONG NIEUN + CHOSEONG THIEUTH
523
+ - pattern: "ᆫ(-?)ᄑ"
524
+ result: "n\\1p’" # HANGUL JONGSEONG NIEUN + CHOSEONG PHIEUPH
525
+ - pattern: "ᆫ(-?)ᄒ"
526
+ result: "n\\1h" # HANGUL JONGSEONG NIEUN + CHOSEONG HIEUH
527
+ - pattern: "ᆫ(-?)ᄁ"
528
+ result: "n\\1kk" # HANGUL JONGSEONG NIEUN + CHOSEONG SSANGKIYEOK
529
+ - pattern: "ᆫ(-?)ᄄ"
530
+ result: "n\\1tt" # HANGUL JONGSEONG NIEUN + CHOSEONG SSANGTIEUT
531
+ - pattern: "ᆫ(-?)ᄈ"
532
+ result: "n\\1pp" # HANGUL JONGSEONG NIEUN + CHOSEONG SSANGPIEUP
533
+ - pattern: "ᆫ(-?)ᄊ"
534
+ result: "n\\1ss" # HANGUL JONGSEONG NIEUN + CHOSEONG SSANGSIOS
535
+ - pattern: "ᆫ(-?)ᄍ"
536
+ result: "n\\1tch" # HANGUL JONGSEONG NIEUN + CHOSEONG SSANGCIEUC
537
+ - pattern: "ᆯ(-?)ᄀ"
538
+ result: "l\\1g" # HANGUL JONGSEONG RIEUL + CHOSEONG KIYEOK
539
+ - pattern: "ᆯ(-?)ᄂ"
540
+ result: "l\\1l" # HANGUL JONGSEONG RIEUL + CHOSEONG NIEUN
541
+ - pattern: "ᆯ(-?)ᄃ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
542
+ result: "l\\1ch" # HANGUL JONGSEONG RIEUL + CHOSEONG TIEUT + YOTIZED VOWELS
543
+ - pattern: "ᆯ(-?)ᄃ"
544
+ result: "l\\1t" # HANGUL JONGSEONG RIEUL + CHOSEONG TIEUT
545
+ - pattern: "ᆯ(-?)ᄅ"
546
+ result: "l\\1l" # HANGUL JONGSEONG RIEUL + CHOSEONG RIEUL
547
+ - pattern: "ᆯ(-?)ᄆ"
548
+ result: "l\\1m" # HANGUL JONGSEONG RIEUL + CHOSEONG MIEUM
549
+ - pattern: "ᆯ(-?)ᄇ"
550
+ result: "l\\1b" # HANGUL JONGSEONG RIEUL + CHOSEONG PIEUP
551
+ - pattern: "ᆯ(-?)ᄉ"
552
+ result: "l\\1s" # HANGUL JONGSEONG RIEUL + CHOSEONG SIOS
553
+ - pattern: "ᆯ(-?)ᄋ"
554
+ result: "\\1r" # HANGUL JONGSEONG RIEUL + CHOSEONG IEUNG
555
+ - pattern: "ᆯ(-?)ᄌ"
556
+ result: "l\\1ch" # HANGUL JONGSEONG RIEUL + CHOSEONG CIEUC
557
+ - pattern: "ᆯ(-?)ᄎ"
558
+ result: "l\\1ch’" # HANGUL JONGSEONG RIEUL + CHOSEONG CHIEUCH
559
+ - pattern: "ᆯ(-?)ᄏ"
560
+ result: "l\\1k’" # HANGUL JONGSEONG RIEUL + CHOSEONG KHIEUKH
561
+ - pattern: "ᆯ(-?)ᄐ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
562
+ result: "l\\1ch’" # HANGUL JONGSEONG RIEUL + CHOSEONG THIEUTH + YOTIZED VOWELS
563
+ - pattern: "ᆯ(-?)ᄐ"
564
+ result: "l\\1t’" # HANGUL JONGSEONG RIEUL + CHOSEONG THIEUTH
565
+ - pattern: "ᆯ(-?)ᄑ"
566
+ result: "l\\1p’" # HANGUL JONGSEONG RIEUL + CHOSEONG PHIEUPH
567
+ - pattern: "ᆯ(-?)ᄒ"
568
+ result: "r\\1h" # HANGUL JONGSEONG RIEUL + CHOSEONG HIEUH
569
+ - pattern: "ᆯ(-?)ᄁ"
570
+ result: "l\\1kk" # HANGUL JONGSEONG RIEUL + CHOSEONG SSANGKIYEOK
571
+ - pattern: "ᆯ(-?)ᄄ"
572
+ result: "l\\1tt" # HANGUL JONGSEONG RIEUL + CHOSEONG SSANGTIEUT
573
+ - pattern: "ᆯ(-?)ᄈ"
574
+ result: "l\\1pp" # HANGUL JONGSEONG RIEUL + CHOSEONG SSANGPIEUP
575
+ - pattern: "ᆯ(-?)ᄊ"
576
+ result: "l\\1ss" # HANGUL JONGSEONG RIEUL + CHOSEONG SSANGSIOS
577
+ - pattern: "ᆯ(-?)ᄍ"
578
+ result: "l\\1tch" # HANGUL JONGSEONG RIEUL + CHOSEONG SSANGCIEUC
579
+ - pattern: "ᆷ(-?)ᄀ"
580
+ result: "m\\1g" # HANGUL JONGSEONG MIEUM + CHOSEONG KIYEOK
581
+ - pattern: "ᆷ(-?)ᄂ"
582
+ result: "m\\1n" # HANGUL JONGSEONG MIEUM + CHOSEONG NIEUN
583
+ - pattern: "ᆷ(-?)ᄃ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
584
+ result: "m\\1j" # HANGUL JONGSEONG MIEUM + CHOSEONG TIEUT + YOTIZED VOWELS
585
+ - pattern: "ᆷ(-?)ᄃ"
586
+ result: "m\\1d" # HANGUL JONGSEONG MIEUM + CHOSEONG TIEUT
587
+ - pattern: "ᆷ(-?)ᄅ"
588
+ result: "m\\1n" # HANGUL JONGSEONG MIEUM + CHOSEONG RIEUL
589
+ - pattern: "ᆷ(-?)ᄆ"
590
+ result: "m\\1m" # HANGUL JONGSEONG MIEUM + CHOSEONG MIEUM
591
+ - pattern: "ᆷ(-?)ᄇ"
592
+ result: "m\\1b" # HANGUL JONGSEONG MIEUM + CHOSEONG PIEUP
593
+ - pattern: "ᆷ(-?)ᄉ"
594
+ result: "m\\1s" # HANGUL JONGSEONG MIEUM + CHOSEONG SIOS
595
+ - pattern: "ᆷ(-?)ᄋ"
596
+ result: "m\\1" # HANGUL JONGSEONG MIEUM + CHOSEONG IEUNG
597
+ - pattern: "ᆷ(-?)ᄌ"
598
+ result: "m\\1j" # HANGUL JONGSEONG MIEUM + CHOSEONG CIEUC
599
+ - pattern: "ᆷ(-?)ᄎ"
600
+ result: "m\\1ch’" # HANGUL JONGSEONG MIEUM + CHOSEONG CHIEUCH
601
+ - pattern: "ᆷ(-?)ᄏ"
602
+ result: "m\\1k’" # HANGUL JONGSEONG MIEUM + CHOSEONG KHIEUKH
603
+ - pattern: "ᆷ(-?)ᄐ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
604
+ result: "m\\1ch’" # HANGUL JONGSEONG MIEUM + CHOSEONG THIEUTH + YOTIZED VOWELS
605
+ - pattern: "ᆷ(-?)ᄐ"
606
+ result: "m\\1t’" # HANGUL JONGSEONG MIEUM + CHOSEONG THIEUTH
607
+ - pattern: "ᆷ(-?)ᄑ"
608
+ result: "m\\1p’" # HANGUL JONGSEONG MIEUM + CHOSEONG PHIEUPH
609
+ - pattern: "ᆷ(-?)ᄒ"
610
+ result: "m\\1h" # HANGUL JONGSEONG MIEUM + CHOSEONG HIEUH
611
+ - pattern: "ᆷ(-?)ᄁ"
612
+ result: "m\\1kk" # HANGUL JONGSEONG MIEUM + CHOSEONG SSANGKIYEOK
613
+ - pattern: "ᆷ(-?)ᄄ"
614
+ result: "m\\1tt" # HANGUL JONGSEONG MIEUM + CHOSEONG SSANGTIEUT
615
+ - pattern: "ᆷ(-?)ᄈ"
616
+ result: "m\\1pp" # HANGUL JONGSEONG MIEUM + CHOSEONG SSANGPIEUP
617
+ - pattern: "ᆷ(-?)ᄊ"
618
+ result: "m\\1ss" # HANGUL JONGSEONG MIEUM + CHOSEONG SSANGSIOS
619
+ - pattern: "ᆷ(-?)ᄍ"
620
+ result: "m\\1tch" # HANGUL JONGSEONG MIEUM + CHOSEONG SSANGCIEUC
621
+ - pattern: "ᆸ(-?)ᄀ"
622
+ result: "p\\1k" # HANGUL JONGSEONG PIEUP + CHOSEONG KIYEOK
623
+ - pattern: "ᆸ(-?)ᄂ"
624
+ result: "m\\1n" # HANGUL JONGSEONG PIEUP + CHOSEONG NIEUN
625
+ - pattern: "ᆸ(-?)ᄃ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
626
+ result: "p\\1ch" # HANGUL JONGSEONG PIEUP + CHOSEONG TIEUT + YOTIZED VOWELS
627
+ - pattern: "ᆸ(-?)ᄃ"
628
+ result: "p\\1t" # HANGUL JONGSEONG PIEUP + CHOSEONG TIEUT
629
+ - pattern: "ᆸ(-?)ᄅ"
630
+ result: "m\\1n" # HANGUL JONGSEONG PIEUP + CHOSEONG RIEUL
631
+ - pattern: "ᆸ(-?)ᄆ"
632
+ result: "m\\1m" # HANGUL JONGSEONG PIEUP + CHOSEONG MIEUM
633
+ - pattern: "ᆸ(-?)ᄇ"
634
+ result: "p\\1p" # HANGUL JONGSEONG PIEUP + CHOSEONG PIEUP
635
+ - pattern: "ᆸ(-?)ᄉ"
636
+ result: "p\\1s" # HANGUL JONGSEONG PIEUP + CHOSEONG SIOS
637
+ - pattern: "ᆸ(-?)ᄋ"
638
+ result: "p\\1" # HANGUL JONGSEONG PIEUP + CHOSEONG IEUNG
639
+ - pattern: "ᆸ(-?)ᄌ"
640
+ result: "p\\1ch" # HANGUL JONGSEONG PIEUP + CHOSEONG CIEUC
641
+ - pattern: "ᆸ(-?)ᄎ"
642
+ result: "p\\1ch’" # HANGUL JONGSEONG PIEUP + CHOSEONG CHIEUCH
643
+ - pattern: "ᆸ(-?)ᄏ"
644
+ result: "p\\1k’" # HANGUL JONGSEONG PIEUP + CHOSEONG KHIEUKH
645
+ - pattern: "ᆸ(-?)ᄐ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
646
+ result: "p\\1ch’" # HANGUL JONGSEONG PIEUP + CHOSEONG THIEUTH + YOTIZED VOWELS
647
+ - pattern: "ᆸ(-?)ᄐ"
648
+ result: "p\\1t’" # HANGUL JONGSEONG PIEUP + CHOSEONG THIEUTH
649
+ - pattern: "ᆸ(-?)ᄑ"
650
+ result: "p\\1p’" # HANGUL JONGSEONG PIEUP + CHOSEONG PHIEUPH
651
+ - pattern: "ᆸ(-?)ᄒ"
652
+ result: "p\\1h" # HANGUL JONGSEONG PIEUP + CHOSEONG HIEUH
653
+ - pattern: "ᆸ(-?)ᄁ"
654
+ result: "p\\1kk" # HANGUL JONGSEONG PIEUP + CHOSEONG SSANGKIYEOK
655
+ - pattern: "ᆸ(-?)ᄄ"
656
+ result: "p\\1tt" # HANGUL JONGSEONG PIEUP + CHOSEONG SSANGTIEUT
657
+ - pattern: "ᆸ(-?)ᄈ"
658
+ result: "p\\1p" # HANGUL JONGSEONG PIEUP + CHOSEONG SSANGPIEUP
659
+ - pattern: "ᆸ(-?)ᄊ"
660
+ result: "p\\1ss" # HANGUL JONGSEONG PIEUP + CHOSEONG SSANGSIOS
661
+ - pattern: "ᆸ(-?)ᄍ"
662
+ result: "p\\1tch" # HANGUL JONGSEONG PIEUP + CHOSEONG SSANGCIEUC
663
+ - pattern: "ᆺ(-?)ᄀ"
664
+ result: "t\\1k" # HANGUL JONGSEONG SIOS + CHOSEONG KIYEOK
665
+ - pattern: "ᆺ(-?)ᄂ"
666
+ result: "n\\1n" # HANGUL JONGSEONG SIOS + CHOSEONG NIEUN
667
+ - pattern: "ᆺ(-?)ᄃ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
668
+ result: "t\\1ch" # HANGUL JONGSEONG SIOS + CHOSEONG TIEUT + YOTIZED VOWELS
669
+ - pattern: "ᆺ(-?)ᄃ"
670
+ result: "t\\1t" # HANGUL JONGSEONG SIOS + CHOSEONG TIEUT
671
+ - pattern: "ᆺ(-?)ᄅ"
672
+ result: "n\\1n" # HANGUL JONGSEONG SIOS + CHOSEONG RIEUL
673
+ - pattern: "ᆺ(-?)ᄆ"
674
+ result: "n\\1m" # HANGUL JONGSEONG SIOS + CHOSEONG MIEUM
675
+ - pattern: "ᆺ(-?)ᄇ"
676
+ result: "t\\1p" # HANGUL JONGSEONG SIOS + CHOSEONG PIEUP
677
+ - pattern: "ᆺ(-?)ᄉ"
678
+ result: "s\\1s" # HANGUL JONGSEONG SIOS + CHOSEONG SIOS
679
+ - pattern: "ᆺ(-?)ᄋ"
680
+ result: "s\\1" # HANGUL JONGSEONG SIOS + CHOSEONG IEUNG
681
+ - pattern: "ᆺ(-?)ᄌ"
682
+ result: "t\\1ch" # HANGUL JONGSEONG SIOS + CHOSEONG CIEUC
683
+ - pattern: "ᆺ(-?)ᄎ"
684
+ result: "t\\1ch’" # HANGUL JONGSEONG SIOS + CHOSEONG CHIEUCH
685
+ - pattern: "ᆺ(-?)ᄏ"
686
+ result: "t\\1k’" # HANGUL JONGSEONG SIOS + CHOSEONG KHIEUKH
687
+ - pattern: "ᆺ(-?)ᄐ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
688
+ result: "t\\1ch’" # HANGUL JONGSEONG SIOS + CHOSEONG THIEUTH + YOTIZED VOWELS
689
+ - pattern: "ᆺ(-?)ᄐ"
690
+ result: "t\\1t’" # HANGUL JONGSEONG SIOS + CHOSEONG THIEUTH
691
+ - pattern: "ᆺ(-?)ᄑ"
692
+ result: "t\\1p’" # HANGUL JONGSEONG SIOS + CHOSEONG PHIEUPH
693
+ - pattern: "ᆺ(-?)ᄒ"
694
+ result: "t\\1h" # HANGUL JONGSEONG SIOS + CHOSEONG HIEUH
695
+ - pattern: "ᆺ(-?)ᄁ"
696
+ result: "t\\1kk" # HANGUL JONGSEONG SIOS + CHOSEONG SSANGKIYEOK
697
+ - pattern: "ᆺ(-?)ᄄ"
698
+ result: "t\\1t" # HANGUL JONGSEONG SIOS + CHOSEONG SSANGTIEUT
699
+ - pattern: "ᆺ(-?)ᄈ"
700
+ result: "t\\1pp" # HANGUL JONGSEONG SIOS + CHOSEONG SSANGPIEUP
701
+ - pattern: "ᆺ(-?)ᄊ"
702
+ result: "s\\1s" # HANGUL JONGSEONG SIOS + CHOSEONG SSANGSIOS
703
+ - pattern: "ᆺ(-?)ᄍ"
704
+ result: "t\\1ch" # HANGUL JONGSEONG SIOS + CHOSEONG SSANGCIEUC
705
+ - pattern: "ᆼ(-?)ᄀ"
706
+ result: "ng\\1g" # HANGUL JONGSEONG IEUNG + CHOSEONG KIYEOK
707
+ - pattern: "ᆼ(-?)ᄂ"
708
+ result: "ng\\1n" # HANGUL JONGSEONG IEUNG + CHOSEONG NIEUN
709
+ - pattern: "ᆼ(-?)ᄃ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
710
+ result: "ng\\1j" # HANGUL JONGSEONG IEUNG + CHOSEONG TIEUT + YOTIZED VOWELS
711
+ - pattern: "ᆼ(-?)ᄃ"
712
+ result: "ng\\1d" # HANGUL JONGSEONG IEUNG + CHOSEONG TIEUT
713
+ - pattern: "ᆼ(-?)ᄅ"
714
+ result: "ng\\1n" # HANGUL JONGSEONG IEUNG + CHOSEONG RIEUL
715
+ - pattern: "ᆼ(-?)ᄆ"
716
+ result: "ng\\1m" # HANGUL JONGSEONG IEUNG + CHOSEONG MIEUM
717
+ - pattern: "ᆼ(-?)ᄇ"
718
+ result: "ng\\1b" # HANGUL JONGSEONG IEUNG + CHOSEONG PIEUP
719
+ - pattern: "ᆼ(-?)ᄉ"
720
+ result: "ng\\1s" # HANGUL JONGSEONG IEUNG + CHOSEONG SIOS
721
+ - pattern: "ᆼ(-?)ᄋ"
722
+ result: "ng\\1" # HANGUL JONGSEONG IEUNG + CHOSEONG IEUNG
723
+ - pattern: "ᆼ(-?)ᄌ"
724
+ result: "ng\\1j" # HANGUL JONGSEONG IEUNG + CHOSEONG CIEUC
725
+ - pattern: "ᆼ(-?)ᄎ"
726
+ result: "ng\\1ch’" # HANGUL JONGSEONG IEUNG + CHOSEONG CHIEUCH
727
+ - pattern: "ᆼ(-?)ᄏ"
728
+ result: "ng\\1k’" # HANGUL JONGSEONG IEUNG + CHOSEONG KHIEUKH
729
+ - pattern: "ᆼ(-?)ᄐ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
730
+ result: "ng\\1ch’" # HANGUL JONGSEONG IEUNG + CHOSEONG THIEUTH + YOTIZED VOWELS
731
+ - pattern: "ᆼ(-?)ᄐ"
732
+ result: "ng\\1t’" # HANGUL JONGSEONG IEUNG + CHOSEONG THIEUTH
733
+ - pattern: "ᆼ(-?)ᄑ"
734
+ result: "ng\\1p’" # HANGUL JONGSEONG IEUNG + CHOSEONG PHIEUPH
735
+ - pattern: "ᆼ(-?)ᄒ"
736
+ result: "ng\\1h" # HANGUL JONGSEONG IEUNG + CHOSEONG HIEUH
737
+ - pattern: "ᆼ(-?)ᄁ"
738
+ result: "ng\\1kk" # HANGUL JONGSEONG IEUNG + CHOSEONG SSANGKIYEOK
739
+ - pattern: "ᆼ(-?)ᄄ"
740
+ result: "ng\\1tt" # HANGUL JONGSEONG IEUNG + CHOSEONG SSANGTIEUT
741
+ - pattern: "ᆼ(-?)ᄈ"
742
+ result: "ng\\1pp" # HANGUL JONGSEONG IEUNG + CHOSEONG SSANGPIEUP
743
+ - pattern: "ᆼ(-?)ᄊ"
744
+ result: "ng\\1ss" # HANGUL JONGSEONG IEUNG + CHOSEONG SSANGSIOS
745
+ - pattern: "ᆼ(-?)ᄍ"
746
+ result: "ng\\1tch" # HANGUL JONGSEONG IEUNG + CHOSEONG SSANGCIEUC
747
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄀ"
748
+ result: "\\1g" # VOWEL + CHOSEONG KIYEOK
749
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄂ"
750
+ result: "\\1n" # VOWEL + CHOSEONG NIEUN
751
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄃ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
752
+ result: "\\1j" # VOWEL + CHOSEONG TIEUT + YOTIZED VOWELS
753
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄃ"
754
+ result: "\\1d" # VOWEL + CHOSEONG TIEUT
755
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄅ"
756
+ result: "\\1r" # VOWEL + CHOSEONG RIEUL
757
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄆ"
758
+ result: "\\1m" # VOWEL + CHOSEONG MIEUM
759
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄇ"
760
+ result: "\\1b" # VOWEL + CHOSEONG PIEUP
761
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄉ"
762
+ result: "\\1s" # VOWEL + CHOSEONG SIOS
763
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄋ"
764
+ result: "\\1" # VOWEL + CHOSEONG IEUNG
765
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄌ"
766
+ result: "\\1j" # VOWEL + CHOSEONG CIEUC
767
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄎ"
768
+ result: "\\1ch’" # VOWEL + CHOSEONG CHIEUCH
769
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄏ"
770
+ result: "\\1k’" # VOWEL + CHOSEONG KHIEUKH
771
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄐ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
772
+ result: "\\1ch’" # VOWEL + CHOSEONG THIEUTH + YOTIZED VOWELS
773
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄐ"
774
+ result: "\\1t’" # VOWEL + CHOSEONG THIEUTH
775
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄑ"
776
+ result: "\\1p’" # VOWEL + CHOSEONG PHIEUPH
777
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄒ"
778
+ result: "\\1h" # VOWEL + CHOSEONG HIEUH
779
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄁ"
780
+ result: "\\1kk" # VOWEL + CHOSEONG SSANGKIYEOK
781
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄄ"
782
+ result: "\\1tt" # VOWEL + CHOSEONG SSANGTIEUT
783
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄈ"
784
+ result: "\\1pp" # VOWEL + CHOSEONG SSANGPIEUP
785
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄊ"
786
+ result: "\\1ss" # VOWEL + CHOSEONG SSANGSIOS
787
+ - pattern: "(?<=[A-Za-z0-9ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ])(-?)ᄍ"
788
+ result: "\\1tch" # VOWEL + CHOSEONG SSANGCIEUC
789
+ - pattern: "ᆰ(-?)ᄀ"
790
+ result: "l\\1g" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG KIYEOK
791
+ - pattern: "ᆰ(-?)ᄂ"
792
+ result: "ng\\1n" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG NIEUN
793
+ - pattern: "ᆰ(-?)ᄃ"
794
+ result: "k\\1t" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG TIEUT
795
+ - pattern: "ᆰ(-?)ᄅ"
796
+ result: "ng\\1n" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG RIEUL
797
+ - pattern: "ᆰ(-?)ᄆ"
798
+ result: "ng\\1m" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG MIEUM
799
+ - pattern: "ᆰ(-?)ᄇ"
800
+ result: "k\\1p" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG PIEUP
801
+ - pattern: "ᆰ(-?)ᄉ"
802
+ result: "k\\1s" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG SIOS
803
+ - pattern: "ᆰ(-?)ᄋ"
804
+ result: "l\\1g" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG IEUNG
805
+ - pattern: "ᆰ(-?)ᄌ"
806
+ result: "k\\1ch" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG CIEUC
807
+ - pattern: "ᆰ(-?)ᄎ"
808
+ result: "k\\1ch’" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG CHIEUCH
809
+ - pattern: "ᆰ(-?)ᄏ"
810
+ result: "l\\1k’" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG KHIEUKH
811
+ - pattern: "ᆰ(-?)ᄐ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
812
+ result: "k\\1ch’" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG THIEUTH + YOTIZED VOWELS
813
+ - pattern: "ᆰ(-?)ᄐ"
814
+ result: "k\\1t’" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG THIEUTH
815
+ - pattern: "ᆰ(-?)ᄑ"
816
+ result: "k\\1p’" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG PHIEUPH
817
+ - pattern: "ᆰ(-?)ᄒ"
818
+ result: "lk\\1h" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG HIEUH
819
+ - pattern: "ᆰ(-?)ᄁ"
820
+ result: "l\\1kk" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG SSANGKIYEOK
821
+ - pattern: "ᆰ(-?)ᄄ"
822
+ result: "k\\1tt" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG SSANGTIEUT
823
+ - pattern: "ᆰ(-?)ᄈ"
824
+ result: "k\\1pp" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG SSANGPIEUP
825
+ - pattern: "ᆰ(-?)ᄊ"
826
+ result: "k\\1ss" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG SSANGSIOS
827
+ - pattern: "ᆰ(-?)ᄍ"
828
+ result: "k\\1tch" # HANGUL JONGSEONG RIEUL-KIYEOK + CHOSEONG SSANGCIEUC
829
+ - pattern: "ᆱ(-?)ᄀ"
830
+ result: "m\\1g" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG KIYEOK
831
+ - pattern: "ᆱ(-?)ᄂ"
832
+ result: "m\\1n" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG NIEUN
833
+ - pattern: "ᆱ(-?)ᄃ"
834
+ result: "m\\1d" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG TIEUT
835
+ - pattern: "ᆱ(-?)ᄅ"
836
+ result: "m\\1n" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG RIEUL
837
+ - pattern: "ᆱ(-?)ᄆ"
838
+ result: "l\\1m" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG MIEUM
839
+ - pattern: "ᆱ(-?)ᄇ"
840
+ result: "m\\1b" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG PIEUP
841
+ - pattern: "ᆱ(-?)ᄉ"
842
+ result: "m\\1s" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG SIOS
843
+ - pattern: "ᆱ(-?)ᄋ"
844
+ result: "l\\1m" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG IEUNG
845
+ - pattern: "ᆱ(-?)ᄌ"
846
+ result: "m\\1j" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG CIEUC
847
+ - pattern: "ᆱ(-?)ᄎ"
848
+ result: "m\\1ch’" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG CHIEUCH
849
+ - pattern: "ᆱ(-?)ᄏ"
850
+ result: "m\\1k’" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG KHIEUKH
851
+ - pattern: "ᆱ(-?)ᄐ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
852
+ result: "m\\1ch’" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG THIEUTH + YOTIZED VOWELS
853
+ - pattern: "ᆱ(-?)ᄐ"
854
+ result: "m\\1t’" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG THIEUTH
855
+ - pattern: "ᆱ(-?)ᄑ"
856
+ result: "m\\1p’" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG PHIEUPH
857
+ - pattern: "ᆱ(-?)ᄒ"
858
+ result: "m\\1h" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG HIEUH
859
+ - pattern: "ᆱ(-?)ᄁ"
860
+ result: "m\\1kk" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG SSANGKIYEOK
861
+ - pattern: "ᆱ(-?)ᄄ"
862
+ result: "m\\1tt" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG SSANGTIEUT
863
+ - pattern: "ᆱ(-?)ᄈ"
864
+ result: "m\\1pp" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG SSANGPIEUP
865
+ - pattern: "ᆱ(-?)ᄊ"
866
+ result: "m\\1ss" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG SSANGSIOS
867
+ - pattern: "ᆱ(-?)ᄍ"
868
+ result: "m\\1tch" # HANGUL JONGSEONG RIEUL-MIEUM + CHOSEONG SSANGCIEUC
869
+ - pattern: "ᆲ(-?)ᄀ"
870
+ result: "pk" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG KIYEOK
871
+ - pattern: "ᆲ(-?)ᄂ"
872
+ result: "mn" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG NIEUN
873
+ - pattern: "ᆲ(-?)ᄃ"
874
+ result: "p\\1t" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG TIEUT
875
+ - pattern: "ᆲ(-?)ᄅ"
876
+ result: "m\\1n" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG RIEUL
877
+ - pattern: "ᆲ(-?)ᄆ"
878
+ result: "m\\1m" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG MIEUM
879
+ - pattern: "ᆲ(-?)ᄇ"
880
+ result: "l\\1b" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG PIEUP
881
+ - pattern: "ᆲ(-?)ᄉ"
882
+ result: "p\\1s" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG SIOS
883
+ - pattern: "ᆲ(-?)ᄋ"
884
+ result: "l\\1b" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG IEUNG
885
+ - pattern: "ᆲ(-?)ᄌ"
886
+ result: "p\\1ch" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG CIEUC
887
+ - pattern: "ᆲ(-?)ᄎ"
888
+ result: "p\\1ch’" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG CHIEUCH
889
+ - pattern: "ᆲ(-?)ᄏ"
890
+ result: "p\\1k’" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG KHIEUKH
891
+ - pattern: "ᆲ(-?)ᄐ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
892
+ result: "p\\1ch’" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG THIEUTH + YOTIZED VOWELS
893
+ - pattern: "ᆲ(-?)ᄐ"
894
+ result: "p\\1t’" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG THIEUTH
895
+ - pattern: "ᆲ(-?)ᄑ"
896
+ result: "l\\1p’" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG PHIEUPH
897
+ - pattern: "ᆲ(-?)ᄒ"
898
+ result: "lp\\1h" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG HIEUH
899
+ - pattern: "ᆲ(-?)ᄁ"
900
+ result: "p\\1kk" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG SSANGKIYEOK
901
+ - pattern: "ᆲ(-?)ᄄ"
902
+ result: "p\\1tt" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG SSANGTIEUT
903
+ - pattern: "ᆲ(-?)ᄈ"
904
+ result: "l\\1pp" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG SSANGPIEUP
905
+ - pattern: "ᆲ(-?)ᄊ"
906
+ result: "p\\1ss" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG SSANGSIOS
907
+ - pattern: "ᆲ(-?)ᄍ"
908
+ result: "p\\1tch" # HANGUL JONGSEONG RIEUL-PIEUP + CHOSEONG SSANGCIEUC
909
+ - pattern: "(?<= )ᄀ"
910
+ result: "k" # HANGUL CHOSEONG KIYEOK
911
+ - pattern: "(?<= )ᄂ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
912
+ result: "" # HANGUL CHOSEONG NIEUN # N-onset rule
913
+ - pattern: "(?<= )ᄂ"
914
+ result: "n" # HANGUL CHOSEONG NIEUN
915
+ - pattern: "(?<= )ᄃ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
916
+ result: "ch" # HANGUL CHOSEONG TIEUT # T -> Ch before yotized vowels
917
+ - pattern: "(?<= )ᄃ"
918
+ result: "t" # HANGUL CHOSEONG TIEUT
919
+ - pattern: "(?<= )ᄅ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
920
+ result: "" # HANGUL CHOSEONG RIEUL # R-onset rule
921
+ - pattern: "(?<= )ᄅ"
922
+ result: "n" # HANGUL CHOSEONG RIEUL # R-onset rule
923
+ - pattern: "(?<= )ᄆ"
924
+ result: "m" # HANGUL CHOSEONG MIEUM
925
+ - pattern: "(?<= )ᄇ"
926
+ result: "p" # HANGUL CHOSEONG PIEUP
927
+ - pattern: "(?<= )ᄉ(?=ᅱ)"
928
+ result: "sh" # HANGUL CHOSEONG SIOS
929
+ - pattern: "(?<= )ᄉ"
930
+ result: "s" # HANGUL CHOSEONG SIOS
931
+ - pattern: "(?<= )ᄋ"
932
+ result: "" # HANGUL CHOSEONG IEUNG
933
+ - pattern: "(?<= )ᄌ"
934
+ result: "ch" # HANGUL CHOSEONG CIEUC
935
+ - pattern: "(?<= )ᄎ"
936
+ result: "ch’" # HANGUL CHOSEONG CHIEUCH
937
+ - pattern: "(?<= )ᄏ"
938
+ result: "k’" # HANGUL CHOSEONG KHIEUKH
939
+ - pattern: "(?<= )ᄐ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
940
+ result: "ch’" # HANGUL CHOSEONG THIEUTH + YOTIZED VOWELS
941
+ - pattern: "(?<= )ᄐ"
942
+ result: "t’" # HANGUL CHOSEONG THIEUTH
943
+ - pattern: "(?<= )ᄑ"
944
+ result: "p’" # HANGUL CHOSEONG PHIEUPH
945
+ - pattern: "(?<= )ᄒ"
946
+ result: "h" # HANGUL CHOSEONG HIEUH
947
+ - pattern: "(?<= )ᄁ"
948
+ result: "kk" # HANGUL CHOSEONG SSANGKIYEOK
949
+ - pattern: "(?<= )ᄭ"
950
+ result: "kk" # HANGUL CHOSEONG SIOS-KIYEOK
951
+ - pattern: "(?<= )ᄄ"
952
+ result: "tt" # HANGUL CHOSEONG SSANGTIEUT
953
+ - pattern: "(?<= )ᄯ"
954
+ result: "tt" # HANGUL CHOSEONG SIOS-TIEUT
955
+ - pattern: "(?<= )ᄈ"
956
+ result: "pp" # HANGUL CHOSEONG SSANGPIEUP
957
+ - pattern: "(?<= )ᄲ"
958
+ result: "pp" # HANGUL CHOSEONG SIOS-PIEUP
959
+ - pattern: "(?<= )ᄊ"
960
+ result: "ss" # HANGUL CHOSEONG SSANGSIOS
961
+ - pattern: "(?<= )ᄍ"
962
+ result: "tch" # HANGUL CHOSEONG SSANGCIEUC
963
+ - pattern: "(?<= )ᄶ"
964
+ result: "tch" # HANGUL CHOSEONG SIOS-CIEUC
965
+ - pattern: "ᅡ"
966
+ result: "a" # HANGUL JUNGSEONG A
967
+ - pattern: "ᅣ"
968
+ result: "ya" # HANGUL JUNGSEONG YA
969
+ - pattern: "ᅥ"
970
+ result: "ŏ" # HANGUL JUNGSEONG EO
971
+ - pattern: "ᅧ"
972
+ result: "yŏ" # HANGUL JUNGSEONG YEO
973
+ - pattern: "ᅩ"
974
+ result: "o" # HANGUL JUNGSEONG O
975
+ - pattern: "ᅭ"
976
+ result: "yo" # HANGUL JUNGSEONG YO
977
+ - pattern: "ᅮ"
978
+ result: "u" # HANGUL JUNGSEONG U
979
+ - pattern: "ᅲ"
980
+ result: "yu" # HANGUL JUNGSEONG YU
981
+ - pattern: "ᅳ"
982
+ result: "ŭ" # HANGUL JUNGSEONG EU
983
+ - pattern: "ᅵ"
984
+ result: "i" # HANGUL JUNGSEONG I
985
+ - pattern: "ᅢ"
986
+ result: "ae" # HANGUL JUNGSEONG AE
987
+ - pattern: "ᅤ"
988
+ result: "yae" # HANGUL JUNGSEONG YAE
989
+ - pattern: "ᅦ"
990
+ result: "e" # HANGUL JUNGSEONG E
991
+ - pattern: "ᅨ"
992
+ result: "ye" # HANGUL JUNGSEONG YE
993
+ - pattern: "ᅬ"
994
+ result: "oe" # HANGUL JUNGSEONG OE
995
+ - pattern: "ᅱ"
996
+ result: "wi" # HANGUL JUNGSEONG WI
997
+ - pattern: "ᅴ"
998
+ result: "ŭi" # HANGUL JUNGSEONG YI
999
+ - pattern: "ᅪ"
1000
+ result: "wa" # HANGUL JUNGSEONG WA
1001
+ - pattern: "ᅯ"
1002
+ result: "wŏ" # HANGUL JUNGSEONG WEO
1003
+ - pattern: "ᅫ"
1004
+ result: "wae" # HANGUL JUNGSEONG WAE
1005
+ - pattern: "ᅰ"
1006
+ result: "we" # HANGUL JUNGSEONG WE
1007
+ - pattern: "ᆨ(?=[ -])"
1008
+ result: "k" # HANGUL JONGSEONG KIYEOK
1009
+ - pattern: "ᆫ(?=[ -])"
1010
+ result: "n" # HANGUL JONGSEONG NIEUN
1011
+ - pattern: "ᆮ(?=[ -])"
1012
+ result: "t" # HANGUL JONGSEONG TIEUT
1013
+ - pattern: "ᆯ(?=[ -])"
1014
+ result: "l" # HANGUL JONGSEONG RIEUL
1015
+ - pattern: "ᆷ(?=[ -])"
1016
+ result: "m" # HANGUL JONGSEONG MIEUM
1017
+ - pattern: "ᆸ(?=[ -])"
1018
+ result: "p" # HANGUL JONGSEONG PIEUP
1019
+ - pattern: "ᆺ(?=[ -])"
1020
+ result: "t" # HANGUL JONGSEONG SIOS
1021
+ - pattern: "ᆼ(?=[ -])"
1022
+ result: "ng" # HANGUL JONGSEONG IEUNG
1023
+ - pattern: "ᆽ(?=[ -])"
1024
+ result: "t" # HANGUL JONGSEONG CIEUC
1025
+ - pattern: "ᆾ(?=[ -])"
1026
+ result: "t" # HANGUL JONGSEONG CHIEUCH
1027
+ - pattern: "ᆿ(?=[ -])"
1028
+ result: "k" # HANGUL JONGSEONG KHIEUKH
1029
+ - pattern: "ᇀ(?=[ -])"
1030
+ result: "t" # HANGUL JONGSEONG THIEUTH
1031
+ - pattern: "ᇁ(?=[ -])"
1032
+ result: "p" # HANGUL JONGSEONG PHIEUPH
1033
+ - pattern: "ᆰ(?=[ -])"
1034
+ result: "k" # HANGUL JONGSEONG RIEUL-KIYEOK
1035
+ - pattern: "ᆲ(?=[ -])"
1036
+ result: "p" # HANGUL JONGSEONG RIEUL-PIEUP
1037
+
1038
+ - pattern: "(ch|ch’|j|s|ss)y"
1039
+ result: "\\1"
1040
+
1041
+ - pattern: "swi"
1042
+ result: "shwi"
1043
+
1044
+ # Remove space added
1045
+ - pattern: "^ "
1046
+ result: ""
1047
+ - pattern: " $"
1048
+ result: ""
1049
+
1050
+ characters:
1051
+ # This is based on Jamo
1052
+
1053
+ dictionary:
1054
+ #