interscript 0.1.7 → 2.1.0b1

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 (314) 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 +116 -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 +83 -133
  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 +68 -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 +68 -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 +76 -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 +68 -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/lib/interscript/visualize.rb +61 -0
  63. data/lib/interscript/visualize/group.html.erb +59 -0
  64. data/lib/interscript/visualize/json.rb +57 -0
  65. data/lib/interscript/visualize/map.html.erb +46 -0
  66. data/lib/interscript/visualize/nodes.rb +89 -0
  67. data/requirements.txt +1 -0
  68. metadata +78 -416
  69. data/README.adoc +0 -298
  70. data/lib/g2pwrapper.py +0 -34
  71. data/lib/interscript/fs.rb +0 -69
  72. data/lib/interscript/mapping.rb +0 -142
  73. data/lib/interscript/opal.rb +0 -57
  74. data/lib/interscript/opal/entrypoint.rb +0 -12
  75. data/lib/interscript/opal/map_translate.rb +0 -7
  76. data/lib/interscript/opal/maps.js.erb +0 -10
  77. data/lib/model-7 +0 -0
  78. data/lib/tha-pt-b-7 +0 -0
  79. data/maps/acadsin-zho-Hani-Latn-2002.yaml +0 -38916
  80. data/maps/alalc-amh-Ethi-Latn-1997.yaml +0 -513
  81. data/maps/alalc-amh-Ethi-Latn-2011.yaml +0 -138
  82. data/maps/alalc-ara-Arab-Latn-1997.yaml +0 -1287
  83. data/maps/alalc-asm-Deva-Latn-1997.yaml +0 -165
  84. data/maps/alalc-asm-Deva-Latn-2012.yaml +0 -40
  85. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +0 -145
  86. data/maps/alalc-bel-Cyrl-Latn-1997.yaml +0 -129
  87. data/maps/alalc-ben-Beng-Latn-2017.yaml +0 -130
  88. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +0 -98
  89. data/maps/alalc-ell-Grek-Latn-1997.yaml +0 -628
  90. data/maps/alalc-ell-Grek-Latn-2010.yaml +0 -626
  91. data/maps/alalc-guj-Gujr-Latn-1997.yaml +0 -266
  92. data/maps/alalc-guj-Gujr-Latn-2011.yaml +0 -64
  93. data/maps/alalc-hin-Deva-Latn-1997.yaml +0 -211
  94. data/maps/alalc-hin-Deva-Latn-2011.yaml +0 -47
  95. data/maps/alalc-kat-Geok-Latn-1997.yaml +0 -111
  96. data/maps/alalc-kat-Geor-Latn-1997.yaml +0 -150
  97. data/maps/alalc-kor-Hang-Latn-1997.yaml +0 -98
  98. data/maps/alalc-mal-Mlym-Latn-1997.yaml +0 -303
  99. data/maps/alalc-mal-Mlym-Latn-2012.yaml +0 -73
  100. data/maps/alalc-mar-Deva-Latn-1997.yaml +0 -189
  101. data/maps/alalc-mar-Deva-Latn-2011.yaml +0 -45
  102. data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +0 -114
  103. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +0 -103
  104. data/maps/alalc-mon-Cyrl-Latn-1997.yaml +0 -220
  105. data/maps/alalc-pan-Guru-Latn-1997.yaml +0 -256
  106. data/maps/alalc-pan-Guru-Latn-2011.yaml +0 -78
  107. data/maps/alalc-per-Arab-Latn-1997.yaml +0 -375
  108. data/maps/alalc-pli-Deva-Latn-2012.yaml +0 -144
  109. data/maps/alalc-pra-Deva-Latn-2012.yaml +0 -47
  110. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +0 -225
  111. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +0 -162
  112. data/maps/alalc-san-Deva-Latn-2012.yaml +0 -172
  113. data/maps/alalc-sin-Sinh-Latn-1997.yaml +0 -292
  114. data/maps/alalc-sin-Sinh-Latn-2011.yaml +0 -71
  115. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +0 -118
  116. data/maps/alalc-srp-Cyrl-Latn-2013.yaml +0 -135
  117. data/maps/alalc-tam-Taml-Latn-1997.yaml +0 -62
  118. data/maps/alalc-tam-Taml-Latn-2011.yaml +0 -58
  119. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +0 -145
  120. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +0 -16
  121. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +0 -283
  122. data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +0 -174
  123. data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +0 -169
  124. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +0 -292
  125. data/maps/bgn-kor-Hang-Latn-1943.yaml +0 -35
  126. data/maps/bgn-kor-Kore-Latn-1943.yaml +0 -31
  127. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +0 -208
  128. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +0 -208
  129. data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +0 -532
  130. data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +0 -596
  131. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +0 -108
  132. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +0 -104
  133. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +0 -188
  134. data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +0 -289
  135. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +0 -119
  136. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +0 -42
  137. data/maps/bgnpcgn-che-Cyrl-Latn-2008.yaml +0 -184
  138. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +0 -705
  139. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +0 -23
  140. data/maps/bgnpcgn-fas-Arab-Latn-1956.yaml +0 -96
  141. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +0 -257
  142. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +0 -131
  143. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +0 -42
  144. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +0 -253
  145. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +0 -48
  146. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +0 -48
  147. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +0 -163
  148. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +0 -190
  149. data/maps/bgnpcgn-mon-Cyrl-Latn-1964.yaml +0 -223
  150. data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +0 -230
  151. data/maps/bgnpcgn-per-Arab-Latn-1958.yaml +0 -336
  152. data/maps/bgnpcgn-prs-Arab-Latn-2007.yaml +0 -639
  153. data/maps/bgnpcgn-prs-Arab-Latn-yaghoubi.yaml +0 -459
  154. data/maps/bgnpcgn-rue-Cyrl-Latn-2016.yaml +0 -168
  155. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +0 -318
  156. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +0 -170
  157. data/maps/bgnpcgn-tat-Cyrl-Latn-2007.yaml +0 -220
  158. data/maps/bgnpcgn-tgk-Cyrl-Latn-1994.yaml +0 -240
  159. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +0 -166
  160. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +0 -119
  161. data/maps/bgnpcgn-uzb-Cyrl-Latn-1979.yaml +0 -127
  162. data/maps/bgnpcgn-uzb-Cyrl-Latn-2000.yaml +0 -82
  163. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +0 -7456
  164. data/maps/bis-asm-Beng-Latn-13194-1991.yaml +0 -159
  165. data/maps/bis-ben-Beng-Latn-13194-1991.yaml +0 -156
  166. data/maps/bis-dev-Deva-Latn-13194-1991.yaml +0 -184
  167. data/maps/bis-guj-Gujr-Latn-13194-1991.yaml +0 -181
  168. data/maps/bis-knd-Knda-Latn-13194-1991.yaml +0 -173
  169. data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +0 -176
  170. data/maps/bis-ori-Orya-Latn-13194-1991.yaml +0 -160
  171. data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +0 -175
  172. data/maps/bis-tel-Telu-Latn-13194-1991.yaml +0 -170
  173. data/maps/bis-tml-Taml-Latn-13194-1991.yaml +0 -155
  174. data/maps/by-bel-Cyrl-Latn-1998.yaml +0 -172
  175. data/maps/by-bel-Cyrl-Latn-2007.yaml +0 -115
  176. data/maps/din-grc-Grek-Latn-31634-2011-t1.yaml +0 -899
  177. data/maps/din-hin-Deva-Latn-33904-2018.yaml +0 -100
  178. data/maps/din-kat-Geor-Latn-32707-2010.yaml +0 -145
  179. data/maps/din-mar-Deva-Latn-33904-2018.yaml +0 -84
  180. data/maps/din-nep-Deva-Latn-33904-2018.yaml +0 -119
  181. data/maps/din-pli-Deva-Latn-33904-2018.yaml +0 -75
  182. data/maps/din-pra-Deva-Latn-33904-2018.yaml +0 -63
  183. data/maps/din-san-Deva-Latn-33904-2018.yaml +0 -338
  184. data/maps/din-tam-Taml-Latn-33903-2016.yaml +0 -213
  185. data/maps/dos-nep-Deva-Latn-1997.yaml +0 -47
  186. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +0 -684
  187. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +0 -680
  188. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +0 -19
  189. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +0 -31
  190. data/maps/ggg-kat-Geor-Latn-2002.yaml +0 -92
  191. data/maps/gki-bel-Cyrl-Latn-1992.yaml +0 -33
  192. data/maps/gki-bel-Cyrl-Latn-2000.yaml +0 -201
  193. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +0 -190
  194. data/maps/gost-rus-Cyrl-Latn-7.79-2000-2002.yaml +0 -157
  195. data/maps/hk-yue-Hani-Latn-1888.yaml +0 -38497
  196. data/maps/icao-bel-Cyrl-Latn-9303.yaml +0 -136
  197. data/maps/icao-bul-Cyrl-Latn-9303.yaml +0 -118
  198. data/maps/icao-fas-Arab-Latn-9303.yaml +0 -103
  199. data/maps/icao-heb-Hebr-Latn-9303.yaml +0 -151
  200. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +0 -117
  201. data/maps/icao-rus-Cyrl-Latn-9303.yaml +0 -117
  202. data/maps/icao-srp-Cyrl-Latn-9303.yaml +0 -117
  203. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +0 -119
  204. data/maps/iso-ara-Arab-Latn-233-1984.yaml +0 -323
  205. data/maps/iso-asm-Beng-Latn-15919-2001.yaml +0 -75
  206. data/maps/iso-ben-Beng-Latn-15919-2001.yaml +0 -175
  207. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +0 -613
  208. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +0 -44
  209. data/maps/iso-guj-Gujr-Latn-15919-2001.yaml +0 -220
  210. data/maps/iso-hin-Deva-Latn-15919-2001.yaml +0 -87
  211. data/maps/iso-inc-Deva-Latn-15919-2001.yaml +0 -61
  212. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +0 -66
  213. data/maps/iso-kan-Knda-Latn-15919-2001.yaml +0 -220
  214. data/maps/iso-kat-Geor-Latn-9984-1996.yaml +0 -145
  215. data/maps/iso-kor-Hang-Latn-1996-method1.yaml +0 -240
  216. data/maps/iso-kor-Hang-Latn-1996-method2.yaml +0 -226
  217. data/maps/iso-mal-Mlym-Latn-15919-2001.yaml +0 -281
  218. data/maps/iso-mar-Deva-Latn-15919-2001.yaml +0 -75
  219. data/maps/iso-nep-Deva-Latn-15919-2001.yaml +0 -87
  220. data/maps/iso-ori-Orya-Latn-15919-2001.yaml +0 -193
  221. data/maps/iso-pan-Guru-Latn-15919-2001.yaml +0 -222
  222. data/maps/iso-pli-Beng-Latn-15919-2001.yaml +0 -73
  223. data/maps/iso-pli-Deva-Latn-15919-2001.yaml +0 -74
  224. data/maps/iso-pli-Sinh-Latn-15919-2001.yaml +0 -219
  225. data/maps/iso-pli-Thai-Latn-15919-2001.yaml +0 -55
  226. data/maps/iso-pra-Deva-Latn-15919-2001.yaml +0 -59
  227. data/maps/iso-prs-Arab-Latn-233-3-1999.yaml +0 -366
  228. data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +0 -271
  229. data/maps/iso-san-Deva-Latn-15919-2001.yaml +0 -220
  230. data/maps/iso-tam-Taml-Latn-15919-2001.yaml +0 -159
  231. data/maps/iso-tel-Telu-Latn-15919-2001.yaml +0 -220
  232. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +0 -109
  233. data/maps/kp-kor-Hang-Latn-2002.yaml +0 -909
  234. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +0 -44820
  235. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +0 -411
  236. data/maps/mns-mon-Cyrl-Latn-5217-2012.yaml +0 -163
  237. data/maps/mns-mon-Latn-Cyrl-5217-2012.yaml +0 -200
  238. data/maps/moct-kor-Hang-Latn-2000.yaml +0 -807
  239. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +0 -541
  240. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +0 -225
  241. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +0 -63
  242. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +0 -109
  243. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +0 -37
  244. data/maps/odni-ara-Arab-Latn-2015.yaml +0 -425
  245. data/maps/odni-aze-Cyrl-Latn-2015.yaml +0 -144
  246. data/maps/odni-bel-Cyrl-Latn-2015.yaml +0 -148
  247. data/maps/odni-bul-Cyrl-Latn-2015.yaml +0 -96
  248. data/maps/odni-che-Cyrl-Latn-2015.yaml +0 -169
  249. data/maps/odni-fas-Arab-Latn-2015.yaml +0 -406
  250. data/maps/odni-hin-Deva-Latn-2015.yaml +0 -258
  251. data/maps/odni-kat-Geor-Latn-2015.yaml +0 -87
  252. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +0 -148
  253. data/maps/odni-kir-Cyrl-Latn-2015.yaml +0 -136
  254. data/maps/odni-kor-Hang-Latn-2015.yaml +0 -375
  255. data/maps/odni-mkd-Cyrl-Latn-2015.yaml +0 -122
  256. data/maps/odni-per-Arab-Latn-2015.yaml +0 -228
  257. data/maps/odni-rus-Cyrl-Latn-2015.yaml +0 -77
  258. data/maps/odni-srp-Cyrl-Latn-2015.yaml +0 -129
  259. data/maps/odni-tat-Cyrl-Latn-2015.yaml +0 -142
  260. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +0 -148
  261. data/maps/odni-uig-Cyrl-Latn-2015.yaml +0 -138
  262. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +0 -157
  263. data/maps/odni-urd-Arab-Latn-2015.yaml +0 -221
  264. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +0 -166
  265. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +0 -90
  266. data/maps/royin-tha-Thai-Latn-1968.yaml +0 -183
  267. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +0 -180
  268. data/maps/royin-tha-Thai-Latn-1999.yaml +0 -80
  269. data/maps/sac-zho-Hans-Latn-1979.yaml +0 -24763
  270. data/maps/sasm-mon-Mong-Latn-general-1978.yaml +0 -389
  271. data/maps/sasm-mon-Mong-Latn-phonetic-1978.yaml +0 -354
  272. data/maps/ses-ara-Arab-Latn-1930.yaml +0 -283
  273. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +0 -222
  274. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +0 -197
  275. data/maps/ua-ukr-Cyrl-Latn-2007.yaml +0 -75
  276. data/maps/ua-ukr-Cyrl-Latn-2010.yaml +0 -192
  277. data/maps/un-amh-Ethi-Latn-2016.yaml +0 -602
  278. data/maps/un-ara-Arab-Latn-1971.yaml +0 -139
  279. data/maps/un-ara-Arab-Latn-1972.yaml +0 -159
  280. data/maps/un-ara-Arab-Latn-2017.yaml +0 -420
  281. data/maps/un-bel-Cyrl-Latn-2007.yaml +0 -114
  282. data/maps/un-ben-Beng-Latn-2016.yaml +0 -534
  283. data/maps/un-ell-Grek-Latn-1987-phonetic.yaml +0 -780
  284. data/maps/un-ell-Grek-Latn-1987-tl.yaml +0 -31
  285. data/maps/un-ell-Grek-Latn-1987-ts.yaml +0 -19
  286. data/maps/un-hin-Deva-Latn-2016.yaml +0 -222
  287. data/maps/un-mar-Deva-Latn-2016.yaml +0 -91
  288. data/maps/un-mon-Mong-Latn-general-2013.yaml +0 -264
  289. data/maps/un-mon-Mong-Latn-phonetic-2013.yaml +0 -264
  290. data/maps/un-nep-Deva-Latn-1972.yaml +0 -350
  291. data/maps/un-nep-Deva-Latn-2013.yaml +0 -74
  292. data/maps/un-rus-Cyrl-Latn-1987.yaml +0 -166
  293. data/maps/un-ukr-Cyrl-Latn-1998.yaml +0 -53
  294. data/maps/un-ukr-Cyrl-Latn-2012.yaml +0 -162
  295. data/maps/var-hin-Deva-Latn-hunterian-1872.yaml +0 -221
  296. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +0 -406
  297. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +0 -386
  298. data/maps/var-kor-Hang-Hang-jamo.yaml +0 -11193
  299. data/maps/var-kor-Hang-Latn-mr-1939.yaml +0 -1054
  300. data/maps/var-kor-Kore-Hang-2013.yaml +0 -59754
  301. data/maps/var-kor-Kore-Latn-mr-1939.yaml +0 -36
  302. data/maps/var-mar-Deva-Latn-hunterian-1872.yaml +0 -43
  303. data/maps/var-mon-Mong-Latn-1930.yaml +0 -102
  304. data/maps/var-mon-Mong-Latn-lessing.yaml +0 -272
  305. data/maps/var-mon-Mong-Latn-vpmc.yaml +0 -274
  306. data/maps/var-pra-Deva-Latn-iast-1912.yaml +0 -30
  307. data/maps/var-san-Deva-Latn-iast-1912.yaml +0 -149
  308. data/maps/var-tha-Thai-Thai-phonemic.yaml +0 -59
  309. data/maps/var-tha-Thai-Zsym-ipa.yaml +0 -301
  310. data/maps/var-zho-Hani-Latn-wd-1979.yaml +0 -38912
  311. data/spec/interscript/filenames_spec.rb +0 -384
  312. data/spec/interscript/mapping_spec.rb +0 -42
  313. data/spec/interscript_spec.rb +0 -29
  314. data/spec/spec_helper.rb +0 -3
@@ -1,42 +0,0 @@
1
- ---
2
- authority_id: bgnpcgn
3
- id: 2009
4
- language: iso-639-2:kat
5
- source_script: Geor
6
- destination_script: Latn
7
- name: ROMANIZATION OF GEORGIAN; Georgia 2011 national system; BGN/PCGN 2009 Agreement
8
- url: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/810202/ROMANIZATION_OF_GEORGIAN.pdf
9
- creation_date: 2009
10
- confirmation_date: 2011
11
- description: |
12
- This romanization system corresponds to that devised in 2002 by the
13
- State Department of Geodesy and Cartography of Georgia and the
14
- Institute of Linguistics of the Georgian Academy of Sciences, and
15
- approved by Presidential Decree 109 of 24 February 2011. It represents
16
- the Mkhedruli alphabet, as presently used in Georgia. This system was
17
- adopted by BGN and PCGN in 2009, superseding the BGN/PCGN system of
18
- 1981.
19
-
20
- notes:
21
- - This system denotes ejective (glottalised) consonants by means of
22
- an apostrophe. The BGN/PCGN 1981 system instead used the apostrophe to
23
- denote aspirated consonants (letters 8, 21, 22, 26 & 27).
24
- - The Romanization columns show only lowercase forms but, when
25
- romanizing, uppercase and lowercase Roman letters as appropriate should
26
- be used.
27
-
28
- tests:
29
- - source: თბილისი
30
- expected: tbilisi
31
-
32
- - source: მეღვინეთუხუცესი
33
- expected: meghvinetukhutsesi
34
-
35
- - source: ჭიანჭველა
36
- expected: ch’ianch’vela
37
-
38
- - source: ბაყაყი
39
- expected: baq’aq’i
40
-
41
- map:
42
- inherit: "ggg-kat-Geor-Latn-2002"
@@ -1,253 +0,0 @@
1
- ---
2
- authority_id: bgnpcgn
3
- id: kn-1945
4
- language: iso-639-2:kor
5
- source_script: Hang
6
- destination_script: Latn
7
- name: BGN/PCGN 1945 Agreement
8
- url: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/693725/ROMANIZATION_OF_KOREAN-_MR_for_DPRK.pdf
9
- creation_date: 1945
10
- adoption_date:
11
- description:
12
-
13
- notes: "
14
-
15
- 1. At the end of a syllable, the character ᄋ should be romanized ng,
16
- as in the following example:
17
-
18
- 평양 → P’yŏngyang
19
-
20
- At the beginning of a syllable, the character ᄋ is silent and
21
- should not be romanized. An example follows:
22
-
23
- 용화 → Yonghwa
24
-
25
- 2. Syllable boundaries within words are not reflected in romanization.
26
- In the different types of syllables shown in the table below, C
27
- represents any consonant character, V represents any vowel character
28
- and / represents a syllable boundary.
29
-
30
- Han’gŭl 개성 남포 안양
31
- Syllable boundaries CV/CVC CVC/CV VC/VC
32
- Romanization Kaesŏng Namp’o Anyang
33
-
34
- 3. Euphonic changes occurring within a word, including between the
35
- specific and generic of a geographical name, should be reflected in
36
- romanization. Generic terms are usually seen separated from the name
37
- by a hyphen and with a lower case initial letter rather than as a
38
- separate word:
39
-
40
- 영진리 → Yŏngjil-li
41
- 덕흥리 → Tŏkhŭng-ni
42
- 압록강 → Amnok-kang
43
- 대동강 → Taedong-gang
44
-
45
- 4. As a result of 조선말규범집 (‘Standard Korean Language’ guidelines
46
- published in North Korea in 1966), unlike the Korean spoken in the
47
- Republic of Korea, the language spoken in the Democratic People’s
48
- Republic of Korea maintains and pronounces the word-initial ᆯ (‘r’).
49
- The use of the word-initial ᄅ ('r') can be seen in official news
50
- reports as well as native mapping. Since such examples exist, the
51
- word initial ᄅ ('r') is reflected as an option in the tables given above.
52
-
53
- 5. The Romanization column shows only lowercase forms but, when romanizing,
54
- uppercase and lowercase Roman letters as appropriate should be used.
55
- "
56
-
57
- tests:
58
- - source: "평양"
59
- expected: "P’yŏngyang"
60
- - source: "용화"
61
- expected: "Yonghwa"
62
- - source: "개성"
63
- expected: "Kaesŏng"
64
- - source: "남포"
65
- expected: "Namp’o"
66
- - source: "안양"
67
- expected: "Anyang"
68
- - source: "영진-리"
69
- expected: "Yŏngjil-li"
70
- - source: "덕흥-리"
71
- expected: "Tŏkhŭng-ni"
72
- - source: "압록-강"
73
- expected: "Amnok-kang"
74
- - source: "대동-강"
75
- expected: "Taedong-gang"
76
- - source: "라선특별시"
77
- expected: "Rasŏnt’ŭkpyŏlsi"
78
- - source: 은하-리
79
- expected: "Ŭnha-ri"
80
- - source: 은중-리
81
- expected: "Ŭnjung-ni"
82
- - source: 은장-령
83
- expected: "Ŭnjang-nyŏng"
84
- - source: 은혜-동
85
- expected: "Ŭnhye-dong"
86
- - source: 은호-리
87
- expected: "Ŭnho-ri"
88
- - source: 은행정
89
- expected: "Ŭnhaengjŏng"
90
- - source: 은행-동
91
- expected: "Ŭnhaeng-dong"
92
- - source: 은행-촌
93
- expected: "Ŭnhaeng-ch’on"
94
- - source: 원수
95
- expected: "Wŏnsu"
96
- - source: 원소리-고개
97
- expected: "Wŏnsori-gogae"
98
- - source: 원소참
99
- expected: "Wŏnsoch’am"
100
- - source: 원소-리
101
- expected: "Wŏnso-ri"
102
- - source: 원신-리
103
- expected: "Wŏnsil-li"
104
- - source: 난곡
105
- expected: "Nan’gok"
106
- - source: 난산-리
107
- expected: "Nansal-li"
108
- - source: 난직
109
- expected: "Nanjik"
110
- - source: 영곡
111
- expected: "Yŏnggok"
112
- - source: 윗두밀
113
- expected: "Wittumil"
114
- - source: 윗도심이
115
- expected: "Wittosimi"
116
- - source: 둔지
117
- expected: "Tunji"
118
- - source: 서승
119
- expected: "Sŏsŭng"
120
- - source: 신촌
121
- expected: "Sinch’on"
122
- - source: 비암덕
123
- expected: "Piamdŏk"
124
- - source: 바위안
125
- expected: "Pawian"
126
- - source: 오송평
127
- expected: "Osongp’yŏng"
128
- - source: 그물목
129
- expected: "Kŭmulmok"
130
- - source: 구원정
131
- expected: "Kuwŏnjŏng"
132
- - source: 일하
133
- expected: "Irha"
134
- - source: 황우
135
- expected: "Hwangu"
136
- - source: 자작보
137
- expected: "Chajakpo"
138
- - source: 비파1-동
139
- expected: "Pip’a Il-tong"
140
- - source: 문암 오-동
141
- expected: "Munam O-dong"
142
-
143
- map:
144
- character_separator: ""
145
- word_separator: " "
146
- title_case: True
147
- inherit: [var-kor-Hang-Latn-mr-1939]
148
-
149
- rules:
150
- # Add Zero-width White-space U+200B after spaces (i.e. before word boundaries)
151
- # So that the word-initial conversion rules will be blocked.
152
- - pattern: "^"
153
- result: "\u200B"
154
- - pattern: "(?<= )"
155
- result: "\u200B"
156
-
157
- # convert numbers to space + Hangul
158
- - pattern: "([^0-9 ])(?=[0-9])"
159
- result: "\\1 "
160
- - pattern: "1"
161
- result: "일"
162
- - pattern: "2"
163
- result: "이"
164
- - pattern: "3"
165
- result: "삼"
166
- - pattern: "4"
167
- result: "사"
168
- - pattern: "5"
169
- result: "오"
170
- - pattern: "6"
171
- result: "육"
172
- - pattern: "7"
173
- result: "칠"
174
- - pattern: "8"
175
- result: "팔"
176
- - pattern: "9"
177
- result: "구"
178
-
179
- # This is a logic to add hyphen in front of generics
180
- # - pattern: "(?<=.)(구역|동|리|도|고개|골|로동자구|사무소|초등학교|중학교|고등학교|강|포|령|역|봉|사|천|교|제|저수지|소류지|재|못|말|면|암|교회|촌|병원|바위|공원|섬|우체국|대학교|보건소|굴|치|대교|지구|폭포|해수욕장|휴게소|중고교|읍|보건진료소|마을|톨게이트|대학|시장|경찰서|학교)$" #to be expanded
181
- # result: "-\\1"
182
-
183
- postrules:
184
-
185
- # Add space to the two ends of the string for easier word boundary handling
186
- - pattern: "^"
187
- result: " "
188
- - pattern: "$"
189
- result: " "
190
-
191
- # Initial rules in the inherited map were blocked, so that
192
- # this set of updated rules (with the onset rules removed) will be used instead.
193
- - pattern: "\u200B"
194
- result: ""
195
-
196
- - pattern: "(?<= )ᄀ"
197
- result: "k" # HANGUL CHOSEONG KIYEOK
198
- - pattern: "(?<= )ᄂ"
199
- result: "n" # HANGUL CHOSEONG NIEUN
200
- - pattern: "(?<= )ᄃ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
201
- result: "ch" # HANGUL CHOSEONG TIEUT # T -> Ch before yotized vowels
202
- - pattern: "(?<= )ᄃ"
203
- result: "t" # HANGUL CHOSEONG TIEUT
204
- - pattern: "(?<= )ᄅ"
205
- result: "r" # HANGUL CHOSEONG RIEUL
206
- - pattern: "(?<= )ᄆ"
207
- result: "m" # HANGUL CHOSEONG MIEUM
208
- - pattern: "(?<= )ᄇ"
209
- result: "p" # HANGUL CHOSEONG PIEUP
210
- - pattern: "(?<= )ᄉ(?=ᅱ)"
211
- result: "sh" # HANGUL CHOSEONG SIOS
212
- - pattern: "(?<= )ᄉ"
213
- result: "s" # HANGUL CHOSEONG SIOS
214
- - pattern: "(?<= )ᄋ"
215
- result: "" # HANGUL CHOSEONG IEUNG
216
- - pattern: "(?<= )ᄌ"
217
- result: "ch" # HANGUL CHOSEONG CIEUC
218
- - pattern: "(?<= )ᄎ"
219
- result: "ch’" # HANGUL CHOSEONG CHIEUCH
220
- - pattern: "(?<= )ᄏ"
221
- result: "k’" # HANGUL CHOSEONG KHIEUKH
222
- - pattern: "(?<= )ᄐ(?=[ᅵᅣᅤᅧᅨᅭᅲ])"
223
- result: "ch’" # HANGUL CHOSEONG THIEUTH + YOTIZED VOWELS
224
- - pattern: "(?<= )ᄐ"
225
- result: "t’" # HANGUL CHOSEONG THIEUTH
226
- - pattern: "(?<= )ᄑ"
227
- result: "p’" # HANGUL CHOSEONG PHIEUPH
228
- - pattern: "(?<= )ᄒ"
229
- result: "h" # HANGUL CHOSEONG HIEUH
230
- - pattern: "(?<= )ᄁ"
231
- result: "kk" # HANGUL CHOSEONG SSANGKIYEOK
232
- - pattern: "(?<= )ᄭ"
233
- result: "kk" # HANGUL CHOSEONG SIOS-KIYEOK
234
- - pattern: "(?<= )ᄄ"
235
- result: "tt" # HANGUL CHOSEONG SSANGTIEUT
236
- - pattern: "(?<= )ᄯ"
237
- result: "tt" # HANGUL CHOSEONG SIOS-TIEUT
238
- - pattern: "(?<= )ᄈ"
239
- result: "pp" # HANGUL CHOSEONG SSANGPIEUP
240
- - pattern: "(?<= )ᄲ"
241
- result: "pp" # HANGUL CHOSEONG SIOS-PIEUP
242
- - pattern: "(?<= )ᄊ"
243
- result: "ss" # HANGUL CHOSEONG SSANGSIOS
244
- - pattern: "(?<= )ᄍ"
245
- result: "tch" # HANGUL CHOSEONG SSANGCIEUC
246
- - pattern: "(?<= )ᄶ"
247
- result: "tch" # HANGUL CHOSEONG SIOS-CIEUC
248
-
249
- # Remove space added
250
- - pattern: "^ "
251
- result: ""
252
- - pattern: " $"
253
- result: ""
@@ -1,48 +0,0 @@
1
- ---
2
- authority_id: bgnpcgn
3
- id: 2011
4
- language: iso-639-2:kor
5
- source_script: Hang
6
- destination_script: Latn
7
- name: Ministry of Culture and Tourism System (2000) BGN/PCGN 2011 Agreement
8
- url:
9
- creation_date:
10
- adoption_date:
11
- description:
12
-
13
- notes:
14
- BGN/PCGN 2011 Agreement
15
-
16
- tests:
17
- - source: 불국사
18
- expected: "Bulguksa"
19
- - source: 묵호
20
- expected: "Mukho"
21
- - source: 울산
22
- expected: "Ulsan"
23
- - source: 독립문
24
- expected: "Dongnimmun"
25
- - source: 강남역
26
- expected: "Gangnamyeok"
27
- - source: 남산리
28
- expected: "Namsan-ri" #Note: no assimilation for -ri even after nasals
29
- - source: 내월리
30
- expected: "Naewol-ri"
31
- - source: 울릉군
32
- expected: "Ulleung-gun"
33
- - source: 설악산
34
- expected: "Seoraksan"
35
- - source: 삼죽면
36
- expected: "Samjuk-myeon"
37
- - source: 평리1동
38
- expected: "Pyeongni Il-dong"
39
- - source: 평리2동
40
- expected: "Pyeongni I-dong"
41
- - source: 탑안이
42
- expected: "Tabani"
43
-
44
- map:
45
- character_separator: ""
46
- word_separator: " "
47
- title_case: True
48
- inherit: moct-kor-Hang-Latn-2000
@@ -1,48 +0,0 @@
1
- ---
2
- authority_id: bgnpcgn
3
- id: 2011
4
- language: iso-639-2:kor
5
- source_script: Kore
6
- destination_script: Latn
7
- name: Ministry of Culture and Tourism System (2000) BGN/PCGN 2011 Agreement
8
- url:
9
- creation_date:
10
- adoption_date:
11
- description:
12
-
13
- notes:
14
- BGN/PCGN 2011 Agreement
15
-
16
- tests:
17
- - source: 佛國寺
18
- expected: "Bulguksa"
19
- - source: 묵호
20
- expected: "Mukho"
21
- - source: 蔚山
22
- expected: "Ulsan"
23
- - source: 獨立門
24
- expected: "Dongnimmun"
25
- - source: 江南驛
26
- expected: "Gangnamyeok"
27
- - source: 南山里
28
- expected: "Namsan-ri" #Note: no assimilation for -ri even after nasals
29
- - source: 내월里
30
- expected: "Naewol-ri"
31
- - source: 鬱陵郡
32
- expected: "Ulleung-gun"
33
- - source: 雪嶽山
34
- expected: "Seoraksan"
35
- - source: 三竹面
36
- expected: "Samjuk-myeon"
37
- - source: 坪里1洞
38
- expected: "Pyeongni Il-dong"
39
- - source: 坪里2洞
40
- expected: "Pyeongni I-dong"
41
- - source: 탑안이
42
- expected: "Tabani"
43
-
44
- map:
45
- character_separator: ""
46
- word_separator: " "
47
- title_case: True
48
- inherit: [var-kor-Kore-Hang-2013, moct-kor-Hang-Latn-2000]
@@ -1,163 +0,0 @@
1
- ---
2
- authority_id: bgnpcgn
3
- id: 1981
4
- language: iso-639-2:mkd
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: Makedonian Romanization, BGN/PCGN 1981 System
8
- alias:
9
- ogc11122:
10
- code: mkd_Cyrl2Latn_BGN_1981
11
- description: Macedonian US Board on Geographic Names(BGN)/Permanent Committee on Geographical Names for British Official Use(PCGN) 1981 System
12
- url: https://github.com/riboseinc/interscript/files/4247920/USBGN_romanization_Macedonian_1981.pdf
13
- creation_date: 1981
14
- description: BGN/PCGN Romanization table for Makedonian.
15
-
16
- tests:
17
- - source: Ѓол
18
- expected: Đol
19
- - source: Јусек Тепеси
20
- expected: Jusek Tepesi
21
- - source: Љуги Ќарит
22
- expected: Ljugi Ćarit
23
- - source: Ќафа Сан
24
- expected: Ćafa San
25
- - source: Агроплод Ресен
26
- expected: Agroplod Resen
27
- - source: Алта Чука
28
- expected: Alta Čuka
29
- - source: Баш Тепе
30
- expected: Baš Tepe
31
- - source: Браќам
32
- expected: Braćam
33
- - source: Винарска Визба Агропин
34
- expected: Vinarska Vizba Agropin
35
- - source: Галичица
36
- expected: Galičica
37
- - source: Дрењево
38
- expected: Drenjevo
39
- - source: Енешево
40
- expected: Eneševo
41
- - source: Иберлија
42
- expected: Iberlija
43
- - source: Крмзи Су
44
- expected: Krmzi Su
45
- - source: Лесноски Рид
46
- expected: Lesnoski Rid
47
- - source: Мала Корабска Врата
48
- expected: Mala Korabska Vrata
49
- - source: Низок Врв
50
- expected: Nizok Vrv
51
- - source: Охридско Езеро
52
- expected: Ohridsko Ezero
53
- - source: Прлиќ
54
- expected: Prlić
55
- - source: Равна Гора
56
- expected: Ravna Gora
57
- - source: Сеѓавечкиот Рид
58
- expected: Seđavečkiot Rid
59
- - source: Трновите Њиве
60
- expected: Trnovite Njive
61
- - source: Фасов Рид
62
- expected: Fasov Rid
63
- - source: Црни Камен
64
- expected: Crni Kamen
65
- - source: Чатал Чешми
66
- expected: Čatal Češmi
67
- - source: Шехово
68
- expected: Šehovo
69
-
70
- notes:
71
- - The character ѓ should be romanized g when it occurs before е and и. In other
72
- instances, it should be romanized ǵ (Ǵ).
73
- - The character ќ should be romanized k when it occurs before е and и. In other
74
- instances, it should be romanized ć.
75
-
76
- map:
77
- rules:
78
- - pattern: "Ѓ(?=[еЕиИ])"
79
- result: "G"
80
- - pattern: "ѓ(?=[еЕиИ])"
81
- result: "g"
82
- - pattern: "Ќ(?=[еЕиИ])"
83
- result: "K"
84
- - pattern: "ќ(?=[еЕиИ])"
85
- result: "k"
86
-
87
- postrules:
88
- # DZ
89
- - pattern: "((?<=[[:upper:]])Dz(?=[[:upper:]])?|(?<=[[:upper:]])?Dz(?=[[:upper:]]))"
90
- result: "DZ"
91
- #LJ
92
- - pattern: "((?<=[[:upper:]])Lj(?=[[:upper:]])?|(?<=[[:upper:]])?Lj(?=[[:upper:]]))"
93
- result: "LJ"
94
- #NJ
95
- - pattern: "((?<=[[:upper:]])Nj(?=[[:upper:]])?|(?<=[[:upper:]])?Nj(?=[[:upper:]]))"
96
- result: "NJ"
97
- #DŽ
98
- - pattern: "((?<=[[:upper:]])Dž(?=[[:upper:]])?|(?<=[[:upper:]])?Dž(?=[[:upper:]]))"
99
- result: "DŽ"
100
-
101
- characters:
102
- "\u0410": "A"
103
- "\u0411": "B"
104
- "\u0412": "V"
105
- "\u0413": "G"
106
- "\u0414": "D"
107
- "\u0403": "\u0110" # Đ
108
- "\u0415": "E"
109
- "\u0416": "\u005a\u030c" # Ž
110
- "\u0417": "Z"
111
- "\u0405": "Dz"
112
- "\u0418": "I"
113
- "\u0408": "J"
114
- "\u041A": "K"
115
- "\u041B": "L"
116
- "\u0409": "Lj"
117
- "\u041C": "M"
118
- "\u041D": "N"
119
- "\u040A": "Nj"
120
- "\u041E": "O"
121
- "\u041F": "P"
122
- "\u0420": "R"
123
- "\u0421": "S"
124
- "\u0422": "T"
125
- "\u040c": "\u0106" # Ć
126
- "\u0423": "U"
127
- "\u0424": "F"
128
- "\u0425": "H"
129
- "\u0426": "C"
130
- "\u0427": "\u0043\u030c" # Č
131
- "\u040F": "D\u007a\u030c" # Dž
132
- "\u0428": "\u0053\u030c" # Š
133
- "\u0430": "a"
134
- "\u0431": "b"
135
- "\u0432": "v"
136
- "\u0433": "g"
137
- "\u0434": "d"
138
- "\u0453": "\u0111" # đ
139
- "\u0435": "e"
140
- "\u0436": "\u007a\u030c" # ž
141
- "\u0437": "z"
142
- "\u0455": "dz"
143
- "\u0438": "i"
144
- "\u0458": "j"
145
- "\u043A": "k"
146
- "\u043B": "l"
147
- "\u0459": "lj"
148
- "\u043C": "m"
149
- "\u043D": "n"
150
- "\u045A": "nj"
151
- "\u043E": "o"
152
- "\u043F": "p"
153
- "\u0440": "r"
154
- "\u0441": "s"
155
- "\u0442": "t"
156
- "\u045c": "\u0107" # ć
157
- "\u0443": "u"
158
- "\u0444": "f"
159
- "\u0445": "h"
160
- "\u0446": "c"
161
- "\u0447": "\u0063\u030c" # č
162
- "\u045F": "d\u007a\u030c" # dž
163
- "\u0448": "\u0073\u030c" # š