interscript 0.1.9 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +11 -0
  3. data/.rspec +3 -0
  4. data/Gemfile +29 -0
  5. data/LICENSE.adoc +31 -0
  6. data/README.md +3 -0
  7. data/Rakefile +53 -0
  8. data/bin/console +14 -0
  9. data/bin/interscript +5 -0
  10. data/bin/maps_analyze_staging +168 -0
  11. data/bin/maps_debug_compilers +58 -0
  12. data/bin/maps_debug_ordering +88 -0
  13. data/bin/maps_debug_ruby_compile +24 -0
  14. data/bin/maps_debug_step_by_step +44 -0
  15. data/bin/maps_optimize_order +112 -0
  16. data/bin/maps_v1_analyze_regexps +45 -0
  17. data/bin/maps_v1_to_v2 +426 -0
  18. data/bin/setup +8 -0
  19. data/exe/interscript +6 -0
  20. data/interscript.gemspec +31 -0
  21. data/lib/interscript.rb +80 -135
  22. data/lib/interscript/command.rb +5 -5
  23. data/lib/interscript/compiler.rb +22 -0
  24. data/lib/interscript/compiler/javascript.rb +292 -0
  25. data/lib/interscript/compiler/ruby.rb +262 -0
  26. data/lib/interscript/dsl.rb +67 -0
  27. data/lib/interscript/dsl/aliases.rb +23 -0
  28. data/lib/interscript/dsl/document.rb +46 -0
  29. data/lib/interscript/dsl/group.rb +45 -0
  30. data/lib/interscript/dsl/group/parallel.rb +6 -0
  31. data/lib/interscript/dsl/items.rb +89 -0
  32. data/lib/interscript/dsl/metadata.rb +26 -0
  33. data/lib/interscript/dsl/stage.rb +6 -0
  34. data/lib/interscript/dsl/symbol_mm.rb +11 -0
  35. data/lib/interscript/dsl/tests.rb +12 -0
  36. data/lib/interscript/interpreter.rb +251 -0
  37. data/lib/interscript/node.rb +25 -0
  38. data/lib/interscript/node/alias_def.rb +15 -0
  39. data/lib/interscript/node/dependency.rb +13 -0
  40. data/lib/interscript/node/document.rb +45 -0
  41. data/lib/interscript/node/group.rb +34 -0
  42. data/lib/interscript/node/group/parallel.rb +9 -0
  43. data/lib/interscript/node/group/sequential.rb +2 -0
  44. data/lib/interscript/node/item.rb +52 -0
  45. data/lib/interscript/node/item/alias.rb +42 -0
  46. data/lib/interscript/node/item/any.rb +61 -0
  47. data/lib/interscript/node/item/capture.rb +50 -0
  48. data/lib/interscript/node/item/group.rb +51 -0
  49. data/lib/interscript/node/item/repeat.rb +40 -0
  50. data/lib/interscript/node/item/stage.rb +23 -0
  51. data/lib/interscript/node/item/string.rb +51 -0
  52. data/lib/interscript/node/metadata.rb +18 -0
  53. data/lib/interscript/node/rule.rb +6 -0
  54. data/lib/interscript/node/rule/funcall.rb +18 -0
  55. data/lib/interscript/node/rule/run.rb +15 -0
  56. data/lib/interscript/node/rule/sub.rb +65 -0
  57. data/lib/interscript/node/stage.rb +19 -0
  58. data/lib/interscript/node/tests.rb +15 -0
  59. data/lib/interscript/stdlib.rb +211 -0
  60. data/lib/interscript/utils/regexp_converter.rb +283 -0
  61. data/lib/interscript/version.rb +1 -1
  62. data/requirements.txt +1 -0
  63. metadata +73 -458
  64. data/README.adoc +0 -296
  65. data/aliases.json +0 -1
  66. data/lib/g2pwrapper.py +0 -34
  67. data/lib/interscript/fs.rb +0 -96
  68. data/lib/interscript/mapping.rb +0 -144
  69. data/lib/interscript/opal.rb +0 -196
  70. data/lib/interscript/opal/entrypoint.rb +0 -20
  71. data/lib/interscript/opal/exports.rb +0 -11
  72. data/lib/interscript/opal/maps.js.erb +0 -8
  73. data/lib/model-7 +0 -0
  74. data/lib/tha-pt-b-7 +0 -0
  75. data/maps/acadsin-zho-Hani-Latn-2002.yaml +0 -38916
  76. data/maps/alalc-amh-Ethi-Latn-1997.yaml +0 -513
  77. data/maps/alalc-amh-Ethi-Latn-2011.yaml +0 -138
  78. data/maps/alalc-ara-Arab-Latn-1997.yaml +0 -1287
  79. data/maps/alalc-asm-Deva-Latn-1997.yaml +0 -259
  80. data/maps/alalc-asm-Deva-Latn-2012.yaml +0 -55
  81. data/maps/alalc-aze-Arab-Latn-1997.yaml +0 -376
  82. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +0 -145
  83. data/maps/alalc-bel-Cyrl-Latn-1997.yaml +0 -129
  84. data/maps/alalc-ben-Beng-Latn-1997.yaml +0 -291
  85. data/maps/alalc-ben-Beng-Latn-2017.yaml +0 -130
  86. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +0 -98
  87. data/maps/alalc-div-Thaa-Latn-1997.yaml +0 -211
  88. data/maps/alalc-ell-Grek-Latn-1997.yaml +0 -628
  89. data/maps/alalc-ell-Grek-Latn-2010.yaml +0 -626
  90. data/maps/alalc-guj-Gujr-Latn-1997.yaml +0 -266
  91. data/maps/alalc-guj-Gujr-Latn-2011.yaml +0 -64
  92. data/maps/alalc-hin-Deva-Latn-1997.yaml +0 -303
  93. data/maps/alalc-hin-Deva-Latn-2011.yaml +0 -65
  94. data/maps/alalc-kan-Kana-Latn-1997.yaml +0 -274
  95. data/maps/alalc-kan-Kana-Latn-2011.yaml +0 -63
  96. data/maps/alalc-kat-Geok-Latn-1997.yaml +0 -111
  97. data/maps/alalc-kat-Geor-Latn-1997.yaml +0 -150
  98. data/maps/alalc-kor-Hang-Latn-1997.yaml +0 -98
  99. data/maps/alalc-mal-Mlym-Latn-1997.yaml +0 -303
  100. data/maps/alalc-mal-Mlym-Latn-2012.yaml +0 -73
  101. data/maps/alalc-mar-Deva-Latn-1997.yaml +0 -189
  102. data/maps/alalc-mar-Deva-Latn-2011.yaml +0 -45
  103. data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +0 -114
  104. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +0 -103
  105. data/maps/alalc-mon-Cyrl-Latn-1997.yaml +0 -220
  106. data/maps/alalc-ori-Orya-Latn-1997.yaml +0 -284
  107. data/maps/alalc-ori-Orya-Latn-2011.yaml +0 -67
  108. data/maps/alalc-pan-Guru-Latn-1997.yaml +0 -256
  109. data/maps/alalc-pan-Guru-Latn-2011.yaml +0 -78
  110. data/maps/alalc-per-Arab-Latn-1997.yaml +0 -375
  111. data/maps/alalc-pli-Deva-Latn-2012.yaml +0 -144
  112. data/maps/alalc-pra-Deva-Latn-2012.yaml +0 -47
  113. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +0 -225
  114. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +0 -162
  115. data/maps/alalc-san-Deva-Latn-2012.yaml +0 -241
  116. data/maps/alalc-sin-Sinh-Latn-1997.yaml +0 -292
  117. data/maps/alalc-sin-Sinh-Latn-2011.yaml +0 -71
  118. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +0 -118
  119. data/maps/alalc-srp-Cyrl-Latn-2013.yaml +0 -135
  120. data/maps/alalc-tam-Taml-Latn-1997.yaml +0 -62
  121. data/maps/alalc-tam-Taml-Latn-2011.yaml +0 -58
  122. data/maps/alalc-tel-Telu-Latn-1997.yaml +0 -284
  123. data/maps/alalc-tel-Telu-Latn-2011.yaml +0 -64
  124. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +0 -145
  125. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +0 -16
  126. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +0 -283
  127. data/maps/az-aze-Cyrl-Latn-1939.yaml +0 -105
  128. data/maps/az-aze-Cyrl-Latn-1958.yaml +0 -45
  129. data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +0 -174
  130. data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +0 -169
  131. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +0 -292
  132. data/maps/bgn-kor-Hang-Latn-1943.yaml +0 -35
  133. data/maps/bgn-kor-Kore-Latn-1943.yaml +0 -31
  134. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +0 -208
  135. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +0 -208
  136. data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +0 -532
  137. data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +0 -598
  138. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +0 -108
  139. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +0 -111
  140. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +0 -188
  141. data/maps/bgnpcgn-bal-Arab-Latn-2008.yaml +0 -329
  142. data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +0 -289
  143. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +0 -119
  144. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +0 -42
  145. data/maps/bgnpcgn-che-Cyrl-Latn-2008.yaml +0 -184
  146. data/maps/bgnpcgn-div-Thaa-Latn-1988.yaml +0 -75
  147. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +0 -705
  148. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +0 -23
  149. data/maps/bgnpcgn-far-Latn-Latn-1964.yaml +0 -28
  150. data/maps/bgnpcgn-fas-Arab-Latn-1956.yaml +0 -96
  151. data/maps/bgnpcgn-isl-Latn-Latn-1964.yaml +0 -37
  152. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +0 -257
  153. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +0 -131
  154. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +0 -42
  155. data/maps/bgnpcgn-kaz-Cyrl-Latn-1979.yaml +0 -247
  156. data/maps/bgnpcgn-kir-Cyrl-Latn-1979.yaml +0 -218
  157. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +0 -253
  158. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +0 -48
  159. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +0 -48
  160. data/maps/bgnpcgn-kur-Arab-Latn-2007.yaml +0 -249
  161. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +0 -163
  162. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +0 -190
  163. data/maps/bgnpcgn-mon-Cyrl-Latn-1964.yaml +0 -223
  164. data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +0 -230
  165. data/maps/bgnpcgn-per-Arab-Latn-1958.yaml +0 -338
  166. data/maps/bgnpcgn-prs-Arab-Latn-2007.yaml +0 -673
  167. data/maps/bgnpcgn-prs-Arab-Latn-yaghoubi.yaml +0 -459
  168. data/maps/bgnpcgn-pus-Arab-Latn-1968.yaml +0 -377
  169. data/maps/bgnpcgn-rue-Cyrl-Latn-2016.yaml +0 -168
  170. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +0 -318
  171. data/maps/bgnpcgn-srp-Cyrl-Latn-1962.yaml +0 -73
  172. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +0 -170
  173. data/maps/bgnpcgn-tat-Cyrl-Latn-2007.yaml +0 -220
  174. data/maps/bgnpcgn-tgk-Cyrl-Latn-1994.yaml +0 -240
  175. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +0 -166
  176. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +0 -119
  177. data/maps/bgnpcgn-urd-Arab-Latn-2007.yaml +0 -459
  178. data/maps/bgnpcgn-uzb-Cyrl-Latn-1979.yaml +0 -127
  179. data/maps/bgnpcgn-uzb-Cyrl-Latn-2000.yaml +0 -82
  180. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +0 -7456
  181. data/maps/bis-asm-Beng-Latn-13194-1991.yaml +0 -159
  182. data/maps/bis-ben-Beng-Latn-13194-1991.yaml +0 -156
  183. data/maps/bis-dev-Deva-Latn-13194-1991.yaml +0 -184
  184. data/maps/bis-guj-Gujr-Latn-13194-1991.yaml +0 -181
  185. data/maps/bis-kan-Kana-Latn-13194-1991.yaml +0 -173
  186. data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +0 -176
  187. data/maps/bis-ori-Orya-Latn-13194-1991.yaml +0 -175
  188. data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +0 -175
  189. data/maps/bis-tel-Telu-Latn-13194-1991.yaml +0 -170
  190. data/maps/bis-tml-Taml-Latn-13194-1991.yaml +0 -155
  191. data/maps/by-bel-Cyrl-Latn-1998.yaml +0 -172
  192. data/maps/by-bel-Cyrl-Latn-2007.yaml +0 -115
  193. data/maps/din-grc-Grek-Latn-31634-2011-t1.yaml +0 -899
  194. data/maps/din-hin-Deva-Latn-33904-2018.yaml +0 -100
  195. data/maps/din-kat-Geor-Latn-32707-2010.yaml +0 -145
  196. data/maps/din-mar-Deva-Latn-33904-2018.yaml +0 -84
  197. data/maps/din-nep-Deva-Latn-33904-2018.yaml +0 -119
  198. data/maps/din-pli-Deva-Latn-33904-2018.yaml +0 -75
  199. data/maps/din-pra-Deva-Latn-33904-2018.yaml +0 -63
  200. data/maps/din-san-Deva-Latn-33904-2018.yaml +0 -338
  201. data/maps/din-tam-Taml-Latn-33903-2016.yaml +0 -213
  202. data/maps/dos-nep-Deva-Latn-1997.yaml +0 -47
  203. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +0 -684
  204. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +0 -680
  205. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +0 -19
  206. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +0 -31
  207. data/maps/ggg-kat-Geor-Latn-2002.yaml +0 -92
  208. data/maps/gki-bel-Cyrl-Latn-1992.yaml +0 -33
  209. data/maps/gki-bel-Cyrl-Latn-2000.yaml +0 -201
  210. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +0 -190
  211. data/maps/gost-rus-Cyrl-Latn-7.79-2000-2002.yaml +0 -157
  212. data/maps/hk-yue-Hani-Latn-1888.yaml +0 -38497
  213. data/maps/icao-bel-Cyrl-Latn-9303.yaml +0 -136
  214. data/maps/icao-bul-Cyrl-Latn-9303.yaml +0 -118
  215. data/maps/icao-fas-Arab-Latn-9303.yaml +0 -103
  216. data/maps/icao-heb-Hebr-Latn-9303.yaml +0 -151
  217. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +0 -117
  218. data/maps/icao-rus-Cyrl-Latn-9303.yaml +0 -117
  219. data/maps/icao-srp-Cyrl-Latn-9303.yaml +0 -117
  220. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +0 -119
  221. data/maps/iso-ara-Arab-Latn-233-1984.yaml +0 -323
  222. data/maps/iso-asm-Beng-Latn-15919-2001.yaml +0 -75
  223. data/maps/iso-ben-Beng-Latn-15919-2001.yaml +0 -175
  224. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +0 -613
  225. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +0 -44
  226. data/maps/iso-guj-Gujr-Latn-15919-2001.yaml +0 -220
  227. data/maps/iso-hin-Deva-Latn-15919-2001.yaml +0 -87
  228. data/maps/iso-inc-Deva-Latn-15919-2001.yaml +0 -61
  229. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +0 -66
  230. data/maps/iso-kan-Kana-Latn-15919-2001.yaml +0 -220
  231. data/maps/iso-kat-Geor-Latn-9984-1996.yaml +0 -145
  232. data/maps/iso-kor-Hang-Latn-1996-method1.yaml +0 -240
  233. data/maps/iso-kor-Hang-Latn-1996-method2.yaml +0 -226
  234. data/maps/iso-mal-Mlym-Latn-15919-2001.yaml +0 -281
  235. data/maps/iso-mar-Deva-Latn-15919-2001.yaml +0 -75
  236. data/maps/iso-nep-Deva-Latn-15919-2001.yaml +0 -87
  237. data/maps/iso-ori-Orya-Latn-15919-2001.yaml +0 -193
  238. data/maps/iso-pan-Guru-Latn-15919-2001.yaml +0 -222
  239. data/maps/iso-pli-Beng-Latn-15919-2001.yaml +0 -73
  240. data/maps/iso-pli-Deva-Latn-15919-2001.yaml +0 -74
  241. data/maps/iso-pli-Sinh-Latn-15919-2001.yaml +0 -219
  242. data/maps/iso-pli-Thai-Latn-15919-2001.yaml +0 -55
  243. data/maps/iso-pra-Deva-Latn-15919-2001.yaml +0 -59
  244. data/maps/iso-prs-Arab-Latn-233-3-1999.yaml +0 -366
  245. data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +0 -271
  246. data/maps/iso-san-Deva-Latn-15919-2001.yaml +0 -220
  247. data/maps/iso-tam-Taml-Latn-15919-2001.yaml +0 -159
  248. data/maps/iso-tel-Telu-Latn-15919-2001.yaml +0 -220
  249. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +0 -109
  250. data/maps/kp-kor-Hang-Latn-2002.yaml +0 -909
  251. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +0 -44820
  252. data/maps/masm-mon-Cyrl-Latn-5217-2012.yaml +0 -163
  253. data/maps/masm-mon-Latn-Cyrl-5217-2012.yaml +0 -200
  254. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +0 -411
  255. data/maps/moct-kor-Hang-Latn-2000.yaml +0 -807
  256. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +0 -541
  257. data/maps/mv-div-Thaa-Latn-1987.yaml +0 -200
  258. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +0 -225
  259. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +0 -63
  260. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +0 -109
  261. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +0 -37
  262. data/maps/odni-ara-Arab-Latn-2004.yaml +0 -137
  263. data/maps/odni-ara-Arab-Latn-2015.yaml +0 -315
  264. data/maps/odni-aze-Cyrl-Latn-2015.yaml +0 -144
  265. data/maps/odni-bel-Cyrl-Latn-2015.yaml +0 -148
  266. data/maps/odni-bul-Cyrl-Latn-2005.yaml +0 -90
  267. data/maps/odni-bul-Cyrl-Latn-2015.yaml +0 -96
  268. data/maps/odni-che-Cyrl-Latn-2015.yaml +0 -169
  269. data/maps/odni-fas-Arab-Latn-2004.yaml +0 -276
  270. data/maps/odni-fas-Arab-Latn-2015.yaml +0 -406
  271. data/maps/odni-hin-Deva-Latn-2004.yaml +0 -182
  272. data/maps/odni-hin-Deva-Latn-2015.yaml +0 -258
  273. data/maps/odni-kat-Geor-Latn-2015.yaml +0 -87
  274. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +0 -148
  275. data/maps/odni-kir-Cyrl-Latn-2015.yaml +0 -136
  276. data/maps/odni-kor-Hang-Latn-2015.yaml +0 -375
  277. data/maps/odni-mkd-Cyrl-Latn-2005.yaml +0 -21
  278. data/maps/odni-mkd-Cyrl-Latn-2015.yaml +0 -122
  279. data/maps/odni-prs-Arab-Latn-2004.yaml +0 -123
  280. data/maps/odni-prs-Arab-Latn-2015.yaml +0 -228
  281. data/maps/odni-rus-Cyrl-Latn-2015.yaml +0 -77
  282. data/maps/odni-srp-Cyrl-Latn-2005.yaml +0 -36
  283. data/maps/odni-srp-Cyrl-Latn-2015.yaml +0 -129
  284. data/maps/odni-tat-Cyrl-Latn-2015.yaml +0 -142
  285. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +0 -148
  286. data/maps/odni-tuk-Cyrl-Latn-2015.yaml +0 -170
  287. data/maps/odni-uig-Cyrl-Latn-2015.yaml +0 -138
  288. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +0 -161
  289. data/maps/odni-urd-Arab-Latn-2015.yaml +0 -221
  290. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +0 -166
  291. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +0 -90
  292. data/maps/royin-tha-Thai-Latn-1968.yaml +0 -183
  293. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +0 -180
  294. data/maps/royin-tha-Thai-Latn-1999.yaml +0 -80
  295. data/maps/sac-zho-Hans-Latn-1979.yaml +0 -24763
  296. data/maps/sasm-mon-Mong-Latn-general-1978.yaml +0 -389
  297. data/maps/sasm-mon-Mong-Latn-phonetic-1978.yaml +0 -354
  298. data/maps/ses-ara-Arab-Latn-1930.yaml +0 -283
  299. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +0 -222
  300. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +0 -197
  301. data/maps/ua-ukr-Cyrl-Latn-2007.yaml +0 -75
  302. data/maps/ua-ukr-Cyrl-Latn-2010.yaml +0 -192
  303. data/maps/un-amh-Ethi-Latn-2016.yaml +0 -602
  304. data/maps/un-ara-Arab-Latn-1971.yaml +0 -139
  305. data/maps/un-ara-Arab-Latn-1972.yaml +0 -159
  306. data/maps/un-ara-Arab-Latn-2017.yaml +0 -420
  307. data/maps/un-asm-Beng-Latn-1972.yaml +0 -223
  308. data/maps/un-bel-Cyrl-Latn-2007.yaml +0 -114
  309. data/maps/un-ben-Beng-Latn-2016.yaml +0 -534
  310. data/maps/un-ell-Grek-Latn-1987-phonetic.yaml +0 -780
  311. data/maps/un-ell-Grek-Latn-1987-tl.yaml +0 -31
  312. data/maps/un-ell-Grek-Latn-1987-ts.yaml +0 -19
  313. data/maps/un-guj-Gujr-Latn-1972.yaml +0 -229
  314. data/maps/un-hin-Deva-Latn-2016.yaml +0 -316
  315. data/maps/un-kan-Kana-Latn-2016.yaml +0 -254
  316. data/maps/un-mal-Mlym-Latn-1972.yaml +0 -251
  317. data/maps/un-mar-Deva-Latn-2016.yaml +0 -102
  318. data/maps/un-mon-Mong-Latn-general-2013.yaml +0 -264
  319. data/maps/un-mon-Mong-Latn-phonetic-2013.yaml +0 -264
  320. data/maps/un-nep-Deva-Latn-1972.yaml +0 -269
  321. data/maps/un-nep-Deva-Latn-2013.yaml +0 -74
  322. data/maps/un-ori-Orya-Latn-1972.yaml +0 -247
  323. data/maps/un-pan-Guru-Latn-1972.yaml +0 -402
  324. data/maps/un-prs-Arab-Latn-1967.yaml +0 -236
  325. data/maps/un-rus-Cyrl-Latn-1987.yaml +0 -166
  326. data/maps/un-tam-Taml-Latn-1972.yaml +0 -194
  327. data/maps/un-tel-Telu-Latn-1972.yaml +0 -270
  328. data/maps/un-ukr-Cyrl-Latn-1998.yaml +0 -53
  329. data/maps/un-ukr-Cyrl-Latn-2012.yaml +0 -162
  330. data/maps/un-urd-Arab-Latn-1972.yaml +0 -405
  331. data/maps/var-amh-Ethi-Latn-eae-2003.yaml +0 -466
  332. data/maps/var-gez-Ethi-Latn-eae-2003.yaml +0 -76
  333. data/maps/var-hin-Deva-Latn-hunterian-1872.yaml +0 -221
  334. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +0 -406
  335. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +0 -386
  336. data/maps/var-kor-Hang-Hang-jamo.yaml +0 -11193
  337. data/maps/var-kor-Hang-Latn-mr-1939.yaml +0 -1054
  338. data/maps/var-kor-Kore-Hang-2013.yaml +0 -59754
  339. data/maps/var-kor-Kore-Latn-mr-1939.yaml +0 -36
  340. data/maps/var-mar-Deva-Latn-hunterian-1872.yaml +0 -43
  341. data/maps/var-mon-Mong-Latn-1930.yaml +0 -102
  342. data/maps/var-mon-Mong-Latn-lessing.yaml +0 -272
  343. data/maps/var-mon-Mong-Latn-vpmc.yaml +0 -274
  344. data/maps/var-pra-Deva-Latn-iast-1912.yaml +0 -30
  345. data/maps/var-san-Deva-Latn-iast-1912.yaml +0 -149
  346. data/maps/var-tha-Thai-Thai-phonemic.yaml +0 -59
  347. data/maps/var-tha-Thai-Zsym-ipa.yaml +0 -301
  348. data/maps/var-zho-Hani-Latn-wd-1979.yaml +0 -38912
  349. data/spec/interscript/filenames_spec.rb +0 -21
  350. data/spec/interscript/mapping_spec.rb +0 -42
  351. data/spec/interscript_spec.rb +0 -37
  352. data/spec/spec_helper.rb +0 -3
@@ -1,148 +0,0 @@
1
- ---
2
- authority_id: odni
3
- id: 2015
4
- language: iso-639-2:kaz
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: Standards for the transliteration of kazakh personal names in written reports and products
8
- source: ICS-630-01 Annex Q
9
- creation_date: 2015
10
- confirmation_date: 2015
11
- description: |
12
- This system is the Intelligence Community standard for the transliteration of Kazakh person names
13
- that will be applied to all final written reports and products for IC consumers. It is not
14
- intended to eliminate variations of a name that can contribute forensic information. Rather, it is
15
- to provide an IC standard Romanized (English) transliteration from Kazakh that can then be linked
16
- to forensic information in ways that will help identify the referent of the name.
17
-
18
- In cases where an individual’s name has already been transliterated in a variant spelling, the IC
19
- Standard spelling should appear first, followed by the variant spelling(s) in parentheses at the
20
- first usage. In addition, if the original Cyrillic-script spelling is known, that spelling should
21
- also appear in parentheses following the name, if possible, following best practices of the
22
- issuing organization and taking into consideration information system capabilities. For example:
23
- Bekzat Sattarkhanov (also seen as Bekzat Sattarkanov, Бекзат Саттарханов). This convention is
24
- designed to ensure that vital forensic information is not lost.
25
-
26
- For names of persons who are known to not be part of the Kazakh-speaking community, use the
27
- relevant IC transliteration standard for names from that language (e.g., Yitzhak). A translator’s
28
- note may be used to clarify the known origin of the person. Spell names of individuals from
29
- languages that are written in Roman letters as they are spelled in those languages (e.g.,
30
- George Clooney, Jorge Garcia, Georges Pompidou).
31
-
32
- In the case of active senior government officials in the on-line CIA World Factbook and the on-
33
- line directory of Chiefs of State and Cabinet Members of Foreign Governments, the spellings given
34
- in these on-line reference works should be used in place of the IC Standard. For any individual
35
- who has at one time been listed in the Factbook or Chiefs of State directory but who no longer
36
- appears in those resources (i.e. is no longer a government official), the IC Standard spelling
37
- should appear first, with the spelling, if known, as it previously appeared in those resources
38
- listed within parentheses at the first usage.
39
-
40
- The primary goal is to produce a consistent Romanized transcription of names that is specifically
41
- readable to the English-speaking non-specialist. The system uses the 26 letters of the standard
42
- (English) Roman alphabet. Some ambiguities in the Romanized form will occur without the use of
43
- diacritics. However, within the context of a report, where additional information about the
44
- individual is provided, the referent will be clearly identified. This system will be used in
45
- conjunction with on-line tools, name dictionaries, and lists containing conventional spellings of
46
- names of well-known individuals.
47
-
48
- notes:
49
- - Transliterate double digraphs as a single digraph, i.e. шш -> sh, not shsh
50
- - In the Roman, no distinction is made between digraphs such as 'sh' and single contiguous letters,
51
- (e.g. 's' followed by 'h').
52
- - The Cyrillic ъ and ь are not transliterated, but instead are left out of the transliteration.
53
-
54
- tests:
55
- - source: Бекзат Саттарханов
56
- expected: Bekzat Sattarkhanov
57
-
58
- map:
59
- rules:
60
- # note[1]
61
- - pattern: "(?i)(\u0492|\u0401|\u0416|\u04A2|\u0425|\u0426|\u0427|\u0428|\u0429|\u042E|\u042F)\\1(?-i)"
62
- result: "\\1"
63
- # note[3]
64
- - pattern: \u044A|\u044C
65
- result: ""
66
-
67
- characters:
68
- '\u0410': 'A' # А
69
- '\u04D8': 'A' # Ә
70
- '\u0411': 'B' # Б
71
- '\u0412': 'V' # В
72
- '\u0413': 'G' # Г
73
- '\u0492': 'Gh' # Ғ
74
- '\u0414': 'D' # Д
75
- '\u0415': 'E' # Е
76
- '\u0401': 'Yo' # Ё
77
- '\u0416': 'Zh' # Ж
78
- '\u0417': 'Z' # З
79
- '\u0418': 'I' # И
80
- '\u0406': 'I' # І
81
- '\u0419': 'Y' # Й
82
- '\u041A': 'K' # К
83
- '\u049A': 'Q' # Қ
84
- '\u041B': 'L' # Л
85
- '\u041C': 'M' # М
86
- '\u041D': 'N' # Н
87
- '\u04A2': 'Ng' # Ң
88
- '\u041E': 'O' # О
89
- '\u04E8': 'O' # Ө
90
- '\u041F': 'P' # П
91
- '\u0420': 'R' # Р
92
- '\u0421': 'S' # С
93
- '\u0422': 'T' # Т
94
- '\u0423': 'U' # У
95
- '\u04AE': 'U' # Ү
96
- '\u04B0': 'U' # Ұ
97
- '\u0424': 'F' # Ф
98
- '\u0425': 'Kh' # Х
99
- '\u04BA': 'H' # Һ
100
- '\u0426': 'Ts' # Ц
101
- '\u0427': 'Ch' # Ч
102
- '\u0428': 'Sh' # Ш
103
- '\u0429': 'Shch' # Щ
104
- '\u042B': 'Y' # Ы
105
- '\u042D': 'E' # Э
106
- '\u042E': 'Yu' # Ю
107
- '\u042F': 'Ya' # Я
108
-
109
- '\u0430': 'a' # а
110
- '\u04D9': 'a' # ә
111
- '\u0431': 'b' # б
112
- '\u0432': 'v' # в
113
- '\u0433': 'g' # г
114
- '\u0493': 'gh' # ғ
115
- '\u0434': 'd' # д
116
- '\u0435': 'e' # e
117
- '\u0451': 'yo' # ё
118
- '\u0436': 'zh' # ж
119
- '\u0437': 'z' # з
120
- '\u0438': 'i' # и
121
- '\u0456': 'i' # і
122
- '\u0439': 'y' # й
123
- '\u043A': 'k' # к
124
- '\u049B': 'q' # қ
125
- '\u043B': 'l' # л
126
- '\u043C': 'm' # м
127
- '\u043D': 'n' # н
128
- '\u04A3': 'ng' # ң
129
- '\u043E': 'o' # о
130
- '\u04E9': 'o' # ө
131
- '\u043F': 'p' # п
132
- '\u0440': 'r' # р
133
- '\u0441': 's' # с
134
- '\u0442': 't' # т
135
- '\u0443': 'u' # у
136
- '\u04AF': 'u' # ү
137
- '\u04B1': 'u' # ұ
138
- '\u0444': 'f' # ф
139
- '\u0445': 'kh' # х
140
- '\u04BB': 'h' # һ
141
- '\u0446': 'ts' # ц
142
- '\u0447': 'ch' # ч
143
- '\u0448': 'sh' # ш
144
- '\u0449': 'shch' # щ
145
- '\u044B': 'y' # ы
146
- '\u044D': 'e' # э
147
- '\u044E': 'yu' # ю
148
- '\u044F': 'ya' # я
@@ -1,136 +0,0 @@
1
- ---
2
- authority_id: odni
3
- id: 2015
4
- language: iso-639-2:kir
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: Standards for the transliteration of kyrgyz personal names in written reports and products
8
- source: ICS-630-01 Annex R
9
- creation_date: 2015
10
- confirmation_date: 2015
11
- description: |
12
- This system is the Intelligence Community standard for the transliteration of Kyrgyz person names
13
- that will be applied to all final written reports and products for IC consumers. It is not
14
- intended to eliminate variations of a name that can contribute forensic information. Rather, it is
15
- to provide an IC standard Romanized (English) transliteration from Kyrgyz that can then be linked
16
- to forensic information in ways that will help identify the referent of the name.
17
-
18
- In cases where an individual’s name has already been transliterated in a variant spelling, the IC
19
- Standard spelling should appear first, followed by the variant spelling(s) in parentheses at the
20
- first usage. In addition, if the original Cyrillic-script spelling is known, that spelling should
21
- also appear in parentheses following the name, if possible, following best practices of the
22
- issuing organization and taking into consideration information system capabilities. For example:
23
- Guljigit Kalykov (also seen as Guljigit Kalikov, Гульжигит Калыков). This convention is designed
24
- to ensure that vital forensic information is not lost.
25
-
26
- For names of persons who are known to not be part of the Kyrgyz-speaking community, use the
27
- relevant IC transliteration standard for names from that language (e.g., Yitzhak). A translator’s
28
- note may be used to clarify the known origin of the person. Spell names of individuals from
29
- languages that are written in Roman letters as they are spelled in those languages (e.g.,
30
- George Clooney, Jorge Garcia, Georges Pompidou).
31
-
32
- In the case of active senior government officials in the on-line CIA World Factbook and the on-
33
- line directory of Chiefs of State and Cabinet Members of Foreign Governments, the spellings given
34
- in these on-line reference works should be used in place of the IC Standard. For any individual
35
- who has at one time been listed in the Factbook or Chiefs of State directory but who no longer
36
- appears in those resources (i.e. is no longer a government official), the IC Standard spelling
37
- should appear first, with the spelling, if known, as it previously appeared in those resources
38
- listed within parentheses at the first usage.
39
-
40
- The primary goal is to produce a consistent Romanized transcription of names that is specifically
41
- readable to the English-speaking non-specialist. The system uses the 26 letters of the standard
42
- (English) Roman alphabet. Some ambiguities in the Romanized form will occur without the use of
43
- diacritics. However, within the context of a report, where additional information about the
44
- individual is provided, the referent will be clearly identified. This system will be used in
45
- conjunction with on-line tools, name dictionaries, and lists containing conventional spellings
46
- of names of well-known individuals.
47
-
48
- notes:
49
- - Transliterate double digraphs as a single digraph, i.e. шш -> sh, not shsh
50
- - In the Roman, no distinction is made between digraphs such as 'sh' and single contiguous letters,
51
- (e.g. 's' followed by 'h').
52
- - The Cyrillic ъ and ь are not transliterated, but instead are left out of the transliteration.
53
-
54
- tests:
55
- - source: Гульжигит Калыков
56
- expected: Guljigit Kalykov
57
-
58
- map:
59
- rules:
60
- # note[1]
61
- - pattern: "(?i)(\u0401|\u04A2|\u0425|\u0426|\u0427|\u0428|\u0429|\u042E|\u042F)\\1(?-i)"
62
- result: "\\1"
63
- # note[3]
64
- - pattern: \u044A|\u044C
65
- result: ""
66
-
67
- characters:
68
- '\u0410': 'A' # А
69
- '\u0411': 'B' # Б
70
- '\u0412': 'V' # В
71
- '\u0413': 'G' # Г
72
- '\u0414': 'D' # Д
73
- '\u0415': 'E' # Е
74
- '\u0401': 'Yo' # Ё
75
- '\u0416': 'J' # Ж
76
- '\u0417': 'Z' # З
77
- '\u0418': 'I' # И
78
- '\u0419': 'Y' # Й
79
- '\u041A': 'K' # К
80
- '\u041B': 'L' # Л
81
- '\u041C': 'M' # М
82
- '\u041D': 'N' # Н
83
- '\u04A2': 'Ng' # Ң
84
- '\u041E': 'O' # О
85
- '\u04E8': 'O' # Ө
86
- '\u041F': 'P' # П
87
- '\u0420': 'R' # Р
88
- '\u0421': 'S' # С
89
- '\u0422': 'T' # Т
90
- '\u0423': 'U' # У
91
- '\u04AE': 'U' # Ү
92
- '\u0424': 'F' # Ф
93
- '\u0425': 'Kh' # Х
94
- '\u0426': 'Ts' # Ц
95
- '\u0427': 'Ch' # Ч
96
- '\u0428': 'Sh' # Ш
97
- '\u0429': 'Shch' # Щ
98
- '\u042B': 'Y' # Ы
99
- '\u042D': 'E' # Э
100
- '\u042E': 'Yu' # Ю
101
- '\u042F': 'Ya' # Я
102
-
103
- '\u0430': 'a' # а
104
- '\u0431': 'b' # б
105
- '\u0432': 'v' # в
106
- '\u0433': 'g' # г
107
- '\u0434': 'd' # д
108
- '\u0435': 'e' # e
109
- '\u0451': 'yo' # ё
110
- '\u0436': 'j' # ж
111
- '\u0437': 'z' # з
112
- '\u0438': 'i' # и
113
- '\u0439': 'y' # й
114
- '\u043A': 'k' # к
115
- '\u043B': 'l' # л
116
- '\u043C': 'm' # м
117
- '\u043D': 'n' # н
118
- '\u04A3': 'ng' # ң
119
- '\u043E': 'o' # о
120
- '\u04E9': 'o' # ө
121
- '\u043F': 'p' # п
122
- '\u0440': 'r' # р
123
- '\u0441': 's' # с
124
- '\u0442': 't' # т
125
- '\u0443': 'u' # у
126
- '\u04AF': 'u' # ү
127
- '\u0444': 'f' # ф
128
- '\u0445': 'kh' # х
129
- '\u0446': 'ts' # ц
130
- '\u0447': 'ch' # ч
131
- '\u0448': 'sh' # ш
132
- '\u0449': 'shch' # щ
133
- '\u044B': 'y' # ы
134
- '\u044D': 'e' # э
135
- '\u044E': 'yu' # ю
136
- '\u044F': 'ya' # я
@@ -1,375 +0,0 @@
1
- ---
2
- authority_id: odni
3
- id: 2015
4
- language: iso-639-2:kor
5
- source_script: Hang
6
- destination_script: Latn
7
- name: Office of the Director Of National Intelligence Korean 2015 System, ICS-630-01 Annex W
8
- url:
9
- creation_date: 2015
10
- adoption_date:
11
- description:
12
-
13
- notes: |
14
- 1. Name order shall be Family Name Given name, with the family name separated
15
- from the given name by one space, and the first and second syllable of a two-
16
- syllable given name connected by a hyphen. The initial letter of the family name
17
- and the initial letter of the first syllable of the given name are capitalized; the
18
- second syllable of the given name is in lower case: Kim Yo’ng-su.
19
-
20
- 2. In the case of a full name with only two syllables, the initial letters of both
21
- syllables are capitalized and the two names are separated by a space: Ho’ Tam.
22
-
23
- In the case of family names consisting of a combination of two syllables, the
24
- syllables are written together (i.e., without a space): So’nu Hak-wo’n.
25
-
26
- 3. The family surname 이 will be rendered "Yi" in the IC Standard spelling, but in
27
- accordance with personal preference or official usage in the Factbook and Chiefs
28
- of State directory.
29
-
30
- 4. In order to facilitate the use of the IC Standard, a reference guide containing a list
31
- of syllables used in Korean personal names along with their IC Standard
32
- equivalents follows.
33
-
34
- tests:
35
- - source: "김영수"
36
- expected: "Kim Yo’ng-su"
37
- - source: "허담"
38
- expected: "Ho’ Tam"
39
- - source: "선우학원"
40
- expected: "So’nu Hak-wo’n"
41
- - source: "이담"
42
- expected: "Yi Tam"
43
-
44
- # examples testing space handling
45
- - source: "동방국"
46
- expected: "Tongpang Kuk"
47
- - source: "동 방국"
48
- expected: "Tong Pang-kuk"
49
- - source: "동방 국"
50
- expected: "Tongpang Kuk"
51
- - source: "화방국"
52
- expected: "Hwa Pang-kuk"
53
- - source: "황목국"
54
- expected: "Hwangmok Kuk"
55
-
56
-
57
- map:
58
- character_separator: ""
59
- word_separator: " "
60
- title_case: True
61
- inherit: var-kor-Hang-Hang-jamo
62
-
63
- rules:
64
- - pattern: "^ | $"
65
- result: ""
66
-
67
- - pattern: " +"
68
- result: " "
69
-
70
- # 2 character inputs will have a space between them
71
- - pattern: "^(\\p{Hangul})(\\p{Hangul})$"
72
- result: "\\1 \\2"
73
-
74
- # 4 character inputs will have a space as in XXXX -> XX XX
75
- - pattern: "^(\\p{Hangul}{2})(\\p{Hangul}{2})$"
76
- result: "\\1 \\2"
77
-
78
- # 3 character inputs are more complicated. We enumerate all possible 2
79
- # letter surnames according to: https://en.wikipedia.org/wiki/List_of_Korean_surnames
80
- - pattern: "^(독고|동방|등정|망절|무본|부여|사공|서문|선우|어금|제갈|황목|황보)(\\p{Hangul})$"
81
- result: "\\1 \\2"
82
-
83
- # Otherwise the first character is probably a surname
84
- - pattern: "^(\\p{Hangul})(\\p{Hangul}{2})$"
85
- result: "\\1 \\2"
86
-
87
- # In case of uncertainity, user needs to add a space himself.
88
-
89
- - pattern: " +"
90
- result: " "
91
-
92
- - pattern: "^ | $"
93
- result: ""
94
-
95
- postrules:
96
-
97
- # HANGUL JONGSEONG SSANGKIYEOK
98
- - pattern: "ᆩ"
99
- result: "kk"
100
-
101
- # HANGUL JONGSEONG SSANGKIYEOK
102
- - pattern: "ᆪ"
103
- result: "ks"
104
-
105
- # HANGUL JONGSEONG NIEUN-CIEUC
106
- - pattern: "ᆬ"
107
- result: "nch"
108
-
109
- # HANGUL JONGSEONG NIEUN-CIEUC
110
- - pattern: "ᆭ"
111
- result: "nh"
112
-
113
- # HANGUL JONGSEONG TIEUT
114
- - pattern: "ᆮ"
115
- result: "t"
116
-
117
- # HANGUL JONGSEONG RIEUL-SIOS
118
- - pattern: "ᆳ"
119
- result: "l"
120
-
121
- # HANGUL JONGSEONG RIEUL-THIEUTH
122
- - pattern: "ᆴ"
123
- result: "lt’"
124
-
125
- # HANGUL JONGSEONG RIEUL-PHIEUPH
126
- - pattern: "ᆵ"
127
- result: "lp’"
128
-
129
- # HANGUL JONGSEONG RIEUL-HIEUH
130
- - pattern: "ᆶ"
131
- result: "lh"
132
-
133
- # HANGUL JONGSEONG PIEUP-SIOS
134
- - pattern: "ᆹ"
135
- result: "ps"
136
-
137
- # HANGUL JONGSEONG SSANG-SIOS
138
- - pattern: "ᆻ"
139
- result: "ss"
140
-
141
- # HANGUL JONGSEONG CIEUC
142
- - pattern: "ᆽ"
143
- result: "ch"
144
-
145
- # HANGUL JONGSEONG CHIEUCH
146
- - pattern: "ᆾ"
147
- result: "ch’"
148
-
149
- # HANGUL JONGSEONG KHIEUKH
150
- - pattern: "ᆿ"
151
- result: "k’"
152
-
153
- # HANGUL JONGSEONG THIEUTH
154
- - pattern: "ᇀ"
155
- result: "t’"
156
-
157
- # HANGUL JONGSEONG PHIEUPH
158
- - pattern: "ᇁ"
159
- result: "p’"
160
-
161
- # HANGUL JONGSEONG HIEUH
162
- - pattern: "ᇂ"
163
- result: "h"
164
-
165
- # HANGUL JONGSEONG KIYEOK
166
- - pattern: "ᆨ"
167
- result: "k"
168
-
169
- # HANGUL JONGSEONG NIEUN
170
- - pattern: "ᆫ"
171
- result: "n"
172
-
173
- # HANGUL JONGSEONG RIEUL
174
- - pattern: "ᆯ"
175
- result: "l"
176
-
177
- # HANGUL JONGSEONG MIEUM
178
- - pattern: "ᆷ"
179
- result: "m"
180
-
181
- # HANGUL JONGSEONG PIEUP
182
- - pattern: "ᆸ"
183
- result: "p"
184
-
185
- # HANGUL JONGSEONG SIOS
186
- - pattern: "ᆺ"
187
- result: "s"
188
-
189
- # HANGUL JONGSEONG IEUNG
190
- - pattern: "ᆼ"
191
- result: "ng"
192
-
193
- # HANGUL JONGSEONG RIEUL-KIYEOK
194
- - pattern: "ᆰ"
195
- result: "lk"
196
-
197
- # HANGUL JONGSEONG RIEUL-PIEUP
198
- - pattern: "ᆲ"
199
- result: "lp"
200
-
201
- # HANGUL CHOSEONG KIYEOK
202
- - pattern: "ᄀ"
203
- result: "-k"
204
-
205
- # HANGUL CHOSEONG NIEUN
206
- - pattern: "ᄂ"
207
- result: "-n"
208
-
209
- # HANGUL CHOSEONG TIEUT
210
- - pattern: "ᄃ"
211
- result: "-t"
212
-
213
- # HANGUL CHOSEONG RIEUL
214
- - pattern: "ᄅ"
215
- result: "-r"
216
-
217
- # HANGUL CHOSEONG MIEUM
218
- - pattern: "ᄆ"
219
- result: "-m"
220
-
221
- # HANGUL CHOSEONG PIEUP
222
- - pattern: "ᄇ"
223
- result: "-p"
224
-
225
- # HANGUL CHOSEONG SIOS
226
- - pattern: "ᄉ"
227
- result: "-s"
228
-
229
- # HANGUL CHOSEONG IEUNG
230
- - pattern: "ᄋ"
231
- result: "-"
232
-
233
- # HANGUL CHOSEONG CIEUC
234
- - pattern: "ᄌ"
235
- result: "-ch"
236
-
237
- # HANGUL CHOSEONG CHIEUCH
238
- - pattern: "ᄎ"
239
- result: "-ch’"
240
-
241
- # HANGUL CHOSEONG KHIEUKH
242
- - pattern: "ᄏ"
243
- result: "-k’"
244
-
245
- # HANGUL CHOSEONG THIEUTH
246
- - pattern: "ᄐ"
247
- result: "-t’"
248
-
249
- # HANGUL CHOSEONG PHIEUPH
250
- - pattern: "ᄑ"
251
- result: "-p’"
252
-
253
- # HANGUL CHOSEONG HIEUH
254
- - pattern: "ᄒ"
255
- result: "-h"
256
-
257
- # HANGUL CHOSEONG SSANGKIYEOK
258
- - pattern: "ᄁ"
259
- result: "-kk"
260
-
261
- # HANGUL CHOSEONG SIOS-KIYEOK
262
- - pattern: "ᄭ"
263
- result: "-sk"
264
-
265
- # HANGUL CHOSEONG SSANGTIEUT
266
- - pattern: "ᄄ"
267
- result: "-tt"
268
-
269
- # HANGUL CHOSEONG SIOS-TIEUT
270
- - pattern: "ᄯ"
271
- result: "-st"
272
-
273
- # HANGUL CHOSEONG SSANGPIEUP
274
- - pattern: "ᄈ"
275
- result: "-pp"
276
-
277
- # HANGUL CHOSEONG SIOS-PIEUP
278
- - pattern: "ᄲ"
279
- result: "-sp"
280
-
281
- # HANGUL CHOSEONG SSANGSIOS
282
- - pattern: "ᄊ"
283
- result: "-ss"
284
-
285
- # HANGUL CHOSEONG SSANGCIEUC
286
- - pattern: "ᄍ"
287
- result: "-chch"
288
-
289
- # HANGUL CHOSEONG SIOS-CIEUC
290
- - pattern: "ᄶ"
291
- result: "-sch"
292
-
293
- ## End of Choseong Jamos
294
-
295
- # HANGUL JUNGSEONG A
296
- - pattern: "ᅡ"
297
- result: "a"
298
- # HANGUL JUNGSEONG YA
299
- - pattern: "ᅣ"
300
- result: "ya"
301
- # HANGUL JUNGSEONG EO
302
- - pattern: "ᅥ"
303
- result: "o’"
304
- # HANGUL JUNGSEONG YEO
305
- - pattern: "ᅧ"
306
- result: "yo’"
307
- # HANGUL JUNGSEONG O
308
- - pattern: "ᅩ"
309
- result: "o"
310
- # HANGUL JUNGSEONG YO
311
- - pattern: "ᅭ"
312
- result: "yo"
313
- # HANGUL JUNGSEONG U
314
- - pattern: "ᅮ"
315
- result: "u"
316
- # HANGUL JUNGSEONG YU
317
- - pattern: "ᅲ"
318
- result: "yu"
319
- # HANGUL JUNGSEONG EU
320
- - pattern: "ᅳ"
321
- result: "u’"
322
- # HANGUL JUNGSEONG I
323
- - pattern: "ᅵ"
324
- result: "i"
325
- # HANGUL JUNGSEONG AE
326
- - pattern: "ᅢ"
327
- result: "ae"
328
- # HANGUL JUNGSEONG YAE
329
- - pattern: "ᅤ"
330
- result: "yae"
331
- # HANGUL JUNGSEONG E
332
- - pattern: "ᅦ"
333
- result: "e"
334
- # HANGUL JUNGSEONG YE # Not found in specification
335
- - pattern: "ᅨ" # actually found in Reference Guide
336
- result: "ye"
337
- # HANGUL JUNGSEONG WA
338
- - pattern: "ᅪ"
339
- result: "wa"
340
- # HANGUL JUNGSEONG WAE
341
- - pattern: "ᅫ"
342
- result: "wae"
343
- # HANGUL JUNGSEONG OE
344
- - pattern: "ᅬ"
345
- result: "oe"
346
- # HANGUL JUNGSEONG WE
347
- - pattern: "ᅰ"
348
- result: "we"
349
- # HANGUL JUNGSEONG WEO
350
- - pattern: "ᅯ"
351
- result: "wo’"
352
- # HANGUL JUNGSEONG WI
353
- - pattern: "ᅱ"
354
- result: "wi"
355
- # HANGUL JUNGSEONG YI
356
- - pattern: "ᅴ"
357
- result: "ui"
358
-
359
- # Remove before the first syllable dash
360
- - pattern: "(?<=^| )-"
361
- result: ""
362
-
363
- # Remove dash in surname
364
- - pattern: "(^[^ ]*)-"
365
- result: "\\1"
366
-
367
- # Change the surname I to Yi
368
- - pattern: "^i"
369
- result: "yi"
370
-
371
- characters:
372
- # This is based on Jamo
373
-
374
- dictionary:
375
- #