interscript 0.1.2 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (261) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +250 -17
  3. data/lib/g2pwrapper.py +34 -0
  4. data/lib/interscript.rb +142 -20
  5. data/lib/interscript/command.rb +28 -0
  6. data/lib/interscript/fs.rb +69 -0
  7. data/lib/interscript/mapping.rb +142 -0
  8. data/lib/interscript/opal.rb +57 -0
  9. data/lib/interscript/opal/entrypoint.rb +12 -0
  10. data/lib/interscript/opal/map_translate.rb +7 -0
  11. data/lib/interscript/opal/maps.js.erb +10 -0
  12. data/lib/interscript/version.rb +1 -1
  13. data/lib/model-7 +0 -0
  14. data/lib/tha-pt-b-7 +0 -0
  15. data/maps/acadsin-zho-Hani-Latn-2002.yaml +38916 -0
  16. data/maps/alalc-amh-Ethi-Latn-1997.yaml +513 -0
  17. data/maps/alalc-amh-Ethi-Latn-2011.yaml +138 -0
  18. data/maps/alalc-ara-Arab-Latn-1997.yaml +1287 -0
  19. data/maps/alalc-asm-Deva-Latn-1997.yaml +165 -0
  20. data/maps/alalc-asm-Deva-Latn-2012.yaml +40 -0
  21. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +145 -0
  22. data/maps/alalc-bel-Cyrl-Latn-1997.yaml +129 -0
  23. data/maps/alalc-ben-Beng-Latn-2017.yaml +130 -0
  24. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +98 -0
  25. data/maps/alalc-ell-Grek-Latn-1997.yaml +628 -0
  26. data/maps/alalc-ell-Grek-Latn-2010.yaml +626 -0
  27. data/maps/alalc-guj-Gujr-Latn-1997.yaml +266 -0
  28. data/maps/alalc-guj-Gujr-Latn-2011.yaml +64 -0
  29. data/maps/alalc-hin-Deva-Latn-1997.yaml +211 -0
  30. data/maps/alalc-hin-Deva-Latn-2011.yaml +47 -0
  31. data/maps/alalc-kat-Geok-Latn-1997.yaml +111 -0
  32. data/maps/alalc-kat-Geor-Latn-1997.yaml +150 -0
  33. data/maps/alalc-kor-Hang-Latn-1997.yaml +98 -0
  34. data/maps/alalc-mal-Mlym-Latn-1997.yaml +303 -0
  35. data/maps/alalc-mal-Mlym-Latn-2012.yaml +73 -0
  36. data/maps/alalc-mar-Deva-Latn-1997.yaml +189 -0
  37. data/maps/alalc-mar-Deva-Latn-2011.yaml +45 -0
  38. data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +114 -0
  39. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +103 -0
  40. data/maps/alalc-mon-Cyrl-Latn-1997.yaml +220 -0
  41. data/maps/alalc-pan-Guru-Latn-1997.yaml +256 -0
  42. data/maps/alalc-pan-Guru-Latn-2011.yaml +78 -0
  43. data/maps/alalc-per-Arab-Latn-1997.yaml +375 -0
  44. data/maps/alalc-pli-Deva-Latn-2012.yaml +144 -0
  45. data/maps/alalc-pra-Deva-Latn-2012.yaml +47 -0
  46. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +225 -0
  47. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +162 -0
  48. data/maps/alalc-san-Deva-Latn-2012.yaml +172 -0
  49. data/maps/alalc-sin-Sinh-Latn-1997.yaml +292 -0
  50. data/maps/alalc-sin-Sinh-Latn-2011.yaml +71 -0
  51. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +118 -0
  52. data/maps/alalc-srp-Cyrl-Latn-2013.yaml +135 -0
  53. data/maps/alalc-tam-Taml-Latn-1997.yaml +62 -0
  54. data/maps/alalc-tam-Taml-Latn-2011.yaml +58 -0
  55. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +145 -0
  56. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +16 -0
  57. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +283 -0
  58. data/maps/{bas-rus-Cyrl-Latn-bss.yaml → bas-rus-Cyrl-Latn-2017-bss.yaml} +58 -33
  59. data/maps/{bas-rus-Cyrl-Latn-oss.yaml → bas-rus-Cyrl-Latn-2017-oss.yaml} +55 -35
  60. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +292 -0
  61. data/maps/bgn-kor-Hang-Latn-1943.yaml +35 -0
  62. data/maps/bgn-kor-Kore-Latn-1943.yaml +31 -0
  63. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +208 -0
  64. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +208 -0
  65. data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +532 -0
  66. data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +596 -0
  67. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +2 -3
  68. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +104 -0
  69. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +188 -0
  70. data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +289 -0
  71. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +119 -0
  72. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +15 -65
  73. data/maps/bgnpcgn-che-Cyrl-Latn-2008.yaml +184 -0
  74. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +705 -0
  75. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +23 -0
  76. data/maps/{bgnpcgn-per-Arab-Latn-1956.yaml → bgnpcgn-fas-Arab-Latn-1956.yaml} +5 -2
  77. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +257 -0
  78. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +131 -0
  79. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +42 -0
  80. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +253 -0
  81. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +48 -0
  82. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +48 -0
  83. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +163 -0
  84. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +190 -0
  85. data/maps/bgnpcgn-mon-Cyrl-Latn-1964.yaml +223 -0
  86. data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +230 -0
  87. data/maps/bgnpcgn-per-Arab-Latn-1958.yaml +336 -0
  88. data/maps/bgnpcgn-prs-Arab-Latn-2007.yaml +639 -0
  89. data/maps/bgnpcgn-prs-Arab-Latn-yaghoubi.yaml +459 -0
  90. data/maps/bgnpcgn-rue-Cyrl-Latn-2016.yaml +168 -0
  91. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +150 -65
  92. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +170 -0
  93. data/maps/bgnpcgn-tat-Cyrl-Latn-2007.yaml +220 -0
  94. data/maps/bgnpcgn-tgk-Cyrl-Latn-1994.yaml +240 -0
  95. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +80 -4
  96. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +119 -0
  97. data/maps/bgnpcgn-uzb-Cyrl-Latn-1979.yaml +127 -0
  98. data/maps/bgnpcgn-uzb-Cyrl-Latn-2000.yaml +82 -0
  99. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +7456 -0
  100. data/maps/bis-asm-Beng-Latn-13194-1991.yaml +159 -0
  101. data/maps/bis-ben-Beng-Latn-13194-1991.yaml +156 -0
  102. data/maps/bis-dev-Deva-Latn-13194-1991.yaml +184 -0
  103. data/maps/bis-guj-Gujr-Latn-13194-1991.yaml +181 -0
  104. data/maps/bis-knd-Knda-Latn-13194-1991.yaml +173 -0
  105. data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +176 -0
  106. data/maps/bis-ori-Orya-Latn-13194-1991.yaml +160 -0
  107. data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +175 -0
  108. data/maps/bis-tel-Telu-Latn-13194-1991.yaml +170 -0
  109. data/maps/bis-tml-Taml-Latn-13194-1991.yaml +155 -0
  110. data/maps/by-bel-Cyrl-Latn-1998.yaml +172 -0
  111. data/maps/by-bel-Cyrl-Latn-2007.yaml +115 -0
  112. data/maps/din-grc-Grek-Latn-31634-2011-t1.yaml +899 -0
  113. data/maps/din-hin-Deva-Latn-33904-2018.yaml +100 -0
  114. data/maps/din-kat-Geor-Latn-32707-2010.yaml +145 -0
  115. data/maps/din-mar-Deva-Latn-33904-2018.yaml +84 -0
  116. data/maps/din-nep-Deva-Latn-33904-2018.yaml +119 -0
  117. data/maps/din-pli-Deva-Latn-33904-2018.yaml +75 -0
  118. data/maps/din-pra-Deva-Latn-33904-2018.yaml +63 -0
  119. data/maps/din-san-Deva-Latn-33904-2018.yaml +338 -0
  120. data/maps/din-tam-Taml-Latn-33903-2016.yaml +213 -0
  121. data/maps/dos-nep-Deva-Latn-1997.yaml +47 -0
  122. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +684 -0
  123. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +680 -0
  124. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +19 -0
  125. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +31 -0
  126. data/maps/ggg-kat-Geor-Latn-2002.yaml +92 -0
  127. data/maps/gki-bel-Cyrl-Latn-1992.yaml +33 -0
  128. data/maps/gki-bel-Cyrl-Latn-2000.yaml +201 -0
  129. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +190 -0
  130. data/maps/gost-rus-Cyrl-Latn-7.79-2000-2002.yaml +157 -0
  131. data/maps/hk-yue-Hani-Latn-1888.yaml +38497 -0
  132. data/maps/icao-bel-Cyrl-Latn-9303.yaml +109 -98
  133. data/maps/icao-bul-Cyrl-Latn-9303.yaml +2 -7
  134. data/maps/{icao-per-Arab-Latn-9303.yaml → icao-fas-Arab-Latn-9303.yaml} +6 -8
  135. data/maps/icao-heb-Hebr-Latn-9303.yaml +119 -125
  136. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +2 -3
  137. data/maps/icao-rus-Cyrl-Latn-9303.yaml +2 -4
  138. data/maps/icao-srp-Cyrl-Latn-9303.yaml +2 -3
  139. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +2 -4
  140. data/maps/iso-ara-Arab-Latn-233-1984.yaml +323 -0
  141. data/maps/iso-asm-Beng-Latn-15919-2001.yaml +75 -0
  142. data/maps/iso-ben-Beng-Latn-15919-2001.yaml +175 -0
  143. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +613 -0
  144. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +44 -0
  145. data/maps/iso-guj-Gujr-Latn-15919-2001.yaml +220 -0
  146. data/maps/iso-hin-Deva-Latn-15919-2001.yaml +87 -0
  147. data/maps/iso-inc-Deva-Latn-15919-2001.yaml +61 -0
  148. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +66 -0
  149. data/maps/iso-kan-Knda-Latn-15919-2001.yaml +220 -0
  150. data/maps/iso-kat-Geor-Latn-9984-1996.yaml +145 -0
  151. data/maps/iso-kor-Hang-Latn-1996-method1.yaml +240 -0
  152. data/maps/iso-kor-Hang-Latn-1996-method2.yaml +226 -0
  153. data/maps/iso-mal-Mlym-Latn-15919-2001.yaml +281 -0
  154. data/maps/iso-mar-Deva-Latn-15919-2001.yaml +75 -0
  155. data/maps/iso-nep-Deva-Latn-15919-2001.yaml +87 -0
  156. data/maps/iso-ori-Orya-Latn-15919-2001.yaml +193 -0
  157. data/maps/iso-pan-Guru-Latn-15919-2001.yaml +222 -0
  158. data/maps/iso-pli-Beng-Latn-15919-2001.yaml +73 -0
  159. data/maps/iso-pli-Deva-Latn-15919-2001.yaml +74 -0
  160. data/maps/iso-pli-Sinh-Latn-15919-2001.yaml +219 -0
  161. data/maps/iso-pli-Thai-Latn-15919-2001.yaml +55 -0
  162. data/maps/iso-pra-Deva-Latn-15919-2001.yaml +59 -0
  163. data/maps/iso-prs-Arab-Latn-233-3-1999.yaml +366 -0
  164. data/maps/{iso-rus-Cyrl-Latn-iso9.yaml → iso-rus-Cyrl-Latn-9-1995.yaml} +4 -6
  165. data/maps/iso-san-Deva-Latn-15919-2001.yaml +220 -0
  166. data/maps/iso-tam-Taml-Latn-15919-2001.yaml +159 -0
  167. data/maps/iso-tel-Telu-Latn-15919-2001.yaml +220 -0
  168. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +109 -0
  169. data/maps/kp-kor-Hang-Latn-2002.yaml +909 -0
  170. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +44820 -0
  171. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +411 -0
  172. data/maps/mns-mon-Cyrl-Latn-5217-2012.yaml +163 -0
  173. data/maps/mns-mon-Latn-Cyrl-5217-2012.yaml +200 -0
  174. data/maps/moct-kor-Hang-Latn-2000.yaml +807 -0
  175. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +541 -0
  176. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +225 -0
  177. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +63 -0
  178. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +109 -0
  179. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +37 -0
  180. data/maps/odni-ara-Arab-Latn-2015.yaml +425 -0
  181. data/maps/odni-aze-Cyrl-Latn-2015.yaml +144 -0
  182. data/maps/odni-bel-Cyrl-Latn-2015.yaml +148 -0
  183. data/maps/odni-bul-Cyrl-Latn-2015.yaml +96 -0
  184. data/maps/odni-che-Cyrl-Latn-2015.yaml +169 -0
  185. data/maps/odni-fas-Arab-Latn-2015.yaml +406 -0
  186. data/maps/odni-hin-Deva-Latn-2015.yaml +258 -0
  187. data/maps/odni-kat-Geor-Latn-2015.yaml +87 -0
  188. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +148 -0
  189. data/maps/odni-kir-Cyrl-Latn-2015.yaml +136 -0
  190. data/maps/odni-kor-Hang-Latn-2015.yaml +375 -0
  191. data/maps/odni-mkd-Cyrl-Latn-2015.yaml +122 -0
  192. data/maps/odni-per-Arab-Latn-2015.yaml +228 -0
  193. data/maps/odni-rus-Cyrl-Latn-2015.yaml +77 -0
  194. data/maps/odni-srp-Cyrl-Latn-2015.yaml +129 -0
  195. data/maps/odni-tat-Cyrl-Latn-2015.yaml +142 -0
  196. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +148 -0
  197. data/maps/odni-uig-Cyrl-Latn-2015.yaml +138 -0
  198. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +157 -0
  199. data/maps/odni-urd-Arab-Latn-2015.yaml +221 -0
  200. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +166 -0
  201. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +90 -0
  202. data/maps/royin-tha-Thai-Latn-1968.yaml +183 -0
  203. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +180 -0
  204. data/maps/royin-tha-Thai-Latn-1999.yaml +80 -0
  205. data/maps/{cn-chn-Hans-Latn-pinyin.yaml → sac-zho-Hans-Latn-1979.yaml} +11 -8
  206. data/maps/sasm-mon-Mong-Latn-general-1978.yaml +389 -0
  207. data/maps/sasm-mon-Mong-Latn-phonetic-1978.yaml +354 -0
  208. data/maps/ses-ara-Arab-Latn-1930.yaml +283 -0
  209. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +222 -0
  210. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +197 -0
  211. data/maps/ua-ukr-Cyrl-Latn-2007.yaml +75 -0
  212. data/maps/ua-ukr-Cyrl-Latn-2010.yaml +192 -0
  213. data/maps/un-amh-Ethi-Latn-2016.yaml +602 -0
  214. data/maps/un-ara-Arab-Latn-1971.yaml +139 -0
  215. data/maps/un-ara-Arab-Latn-1972.yaml +159 -0
  216. data/maps/un-ara-Arab-Latn-2017.yaml +420 -0
  217. data/maps/un-bel-Cyrl-Latn-2007.yaml +114 -0
  218. data/maps/un-ben-Beng-Latn-2016.yaml +534 -0
  219. data/maps/un-ell-Grek-Latn-1987-phonetic.yaml +780 -0
  220. data/maps/un-ell-Grek-Latn-1987-tl.yaml +31 -0
  221. data/maps/un-ell-Grek-Latn-1987-ts.yaml +19 -0
  222. data/maps/un-hin-Deva-Latn-2016.yaml +222 -0
  223. data/maps/un-mar-Deva-Latn-2016.yaml +91 -0
  224. data/maps/un-mon-Mong-Latn-general-2013.yaml +264 -0
  225. data/maps/un-mon-Mong-Latn-phonetic-2013.yaml +264 -0
  226. data/maps/un-nep-Deva-Latn-1972.yaml +350 -0
  227. data/maps/un-nep-Deva-Latn-2013.yaml +74 -0
  228. data/maps/un-rus-Cyrl-Latn-1987.yaml +166 -0
  229. data/maps/un-ukr-Cyrl-Latn-1998.yaml +53 -0
  230. data/maps/un-ukr-Cyrl-Latn-2012.yaml +162 -0
  231. data/maps/var-hin-Deva-Latn-hunterian-1872.yaml +221 -0
  232. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +406 -0
  233. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +386 -0
  234. data/maps/var-kor-Hang-Hang-jamo.yaml +11193 -0
  235. data/maps/var-kor-Hang-Latn-mr-1939.yaml +1054 -0
  236. data/maps/var-kor-Kore-Hang-2013.yaml +59754 -0
  237. data/maps/var-kor-Kore-Latn-mr-1939.yaml +36 -0
  238. data/maps/var-mar-Deva-Latn-hunterian-1872.yaml +43 -0
  239. data/maps/var-mon-Mong-Latn-1930.yaml +102 -0
  240. data/maps/var-mon-Mong-Latn-lessing.yaml +272 -0
  241. data/maps/var-mon-Mong-Latn-vpmc.yaml +274 -0
  242. data/maps/var-pra-Deva-Latn-iast-1912.yaml +30 -0
  243. data/maps/var-san-Deva-Latn-iast-1912.yaml +149 -0
  244. data/maps/var-tha-Thai-Thai-phonemic.yaml +59 -0
  245. data/maps/var-tha-Thai-Zsym-ipa.yaml +301 -0
  246. data/maps/var-zho-Hani-Latn-wd-1979.yaml +38912 -0
  247. data/spec/interscript/filenames_spec.rb +384 -0
  248. data/spec/interscript/mapping_spec.rb +42 -0
  249. data/spec/interscript_spec.rb +23 -5
  250. data/spec/spec_helper.rb +3 -1
  251. metadata +364 -34
  252. data/bin/interscript +0 -20
  253. data/bin/rspec +0 -29
  254. data/maps/bgnpcgn-chn-Hans-Latn-pinyin.yaml +0 -7503
  255. data/maps/historic-jpn-Hrkt-Latn-hepburn.yaml +0 -336
  256. data/maps/icao-gre-Grek-Latn-9303.yaml +0 -101
  257. data/maps/mext-jpn-Hrkt-Latn-hepburn.yaml +0 -330
  258. data/maps/mext-jpn-Hrkt-Latn-kunrei.yaml +0 -308
  259. data/maps/un-jpn-Hrkt-Latn-hepburn.yaml +0 -313
  260. data/maps/un-jpn-Hrkt-Latn-kunrei.yaml +0 -354
  261. data/maps/un-mon-Mong-Latn-2013.yaml +0 -80
@@ -0,0 +1,1054 @@
1
+ ---
2
+ authority_id: bgn
3
+ id: mr-1939
4
+ language: iso-639-2: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: var-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
+ #