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,78 +0,0 @@
1
- ---
2
- authority_id: alalc
3
- id: 1997
4
- language: iso-639-2:pan
5
- source_script: Guru
6
- destination_script: Latn
7
- name: Panjabi Romanization, 2011
8
- alias:
9
- ogc11122:
10
- code: pan_Deva2Latn_ALA_2011
11
- description: Panjabi ALA-Library of Congress 2011 System
12
- url: https://www.loc.gov/catdir/cpso/romanization/panjabi.pdf
13
- creation_date: 2011
14
- description: |
15
- ALA-LC Romanization table for Panjabi
16
-
17
- notes:
18
-
19
- - Only the vowel forms that appear at the beginning of a syllable are listed; the forms used for
20
- vowels following a consonant can be found in grammars; no distinction between the two is
21
- made in transliteration.
22
-
23
- - |
24
- The vowel a is implicit after consonant clusters and may be implicit after consonants except
25
- when they are final or when another vowel is indicated by its appropriate sign. The cases in
26
- which the vowel a is implicit, however, can be determined only from a knowledge of the
27
- language or from suitable reference sources. In such cases the a is supplied in transliteration.
28
-
29
- - The dotted letters (ਸ਼ ਖ਼ ਗ਼ ਜ਼ ਫ਼ ਲ਼) are used in Urdu words.
30
-
31
- - |
32
- Exception: Bindī is transliterated by:
33
-
34
- a) ṅ before gutturals,
35
- b) ñ before palatals,
36
- c) ṇ before cerebrals,
37
- d) n before dentals, and
38
- e) m before labials.
39
-
40
- - |
41
- Exception: Ṭippī is transliterated by:
42
-
43
- a) ṅ before gutturals,
44
- b) ñ before palatals,
45
- c) ṇ before cerebrals,
46
- d) n before dentals, and
47
- e) m before labials.
48
-
49
- - |
50
- Exception: When adhik implies the combination of a non-aspirated and an aspirated
51
- consonant, the combination is transliterated as a non-aspirated, followed by an aspirated
52
- consonant.
53
-
54
- tests:
55
- - source: "ਸਵਾਮਿਤਵ ਯੋਜਨਾ ਤਹਿਤ ਜਾਇਦਾਦ ਕਾਰਡ ਵੰਡੇ"
56
- expected: "sawaāmaitawa yaojanaā tahaita jaāidaāda kaāraḍa waṇḍae"
57
- - source: "ਕੇਂਦਰ ਸਰਕਾਰ ਨੇ ਕਿਸਾਨ ਜਥੇਬੰਦੀਆਂ ਨੂੰ ਮੁੜ ਦਿੱਤਾ ਗੱਲਬਾਤ ਦਾ ਸੱਦਾ"
58
- expected: "kaendara sarakaāra nae kaisaāna jathaebandaīāṃ naūm̆̐ mauṛa daittaā gallabaāta daā saddaā"
59
- - source: "ਦੁਸਹਿਰੇ ਮੌਕੇ ਕਿਸਾਨਾਂ ਵਲੋਂ ਮੋਦੀ ਦੇ ਪੁਤਲੇ ਫੂਕਣ ਦਾ ਫ਼ੈਸਲਾ"
60
- expected: "dausahairae maaukae kaisaānaāṃ walaoṃ maodaī dae pautalae phaūkaṇa daā faaisalaā"
61
- - source: "ਸੁਮੇਧ ਸੈਣੀ ਕੋਟਕਪੂਰਾ ਗੋਲੀਕਾਂਡ 'ਚ ਵੀ ਨਾਮਜ਼ਦ"
62
- expected: "saumaedha saaiṇaī kaoṭakapaūraā gaolaīkaāṇḍa 'ca waī naāmazada"
63
- - source: "ਕੋਰੋਨਾ ਟੀਕੇ ਦੀ ਹੰਗਾਮੀ ਵਰਤੋਂ 'ਤੇ ਵਿਚਾਰ ਨਹੀਂ-ਹਰਸ਼ ਵਰਧਨ"
64
- expected: "kaoraonaā ṭaīkae daī haṅgaāmaī warataoṃ 'tae waicaāra nahaīṃ-harasha waradhana"
65
- - source: "ਪੂਰਬੀ ਲੱਦਾਖ ਤਣਾਅ ਸਬੰਧੀ ਭਾਰਤ ਤੇ ਚੀਨ ਵਿਚਕਾਰ ੭ ਵੇਂ ਪੱਧਰ ਦੀ ਸੈਨਿਕ ਗੱਲਬਾਤ ਅੱਜ"
66
- expected: "paūrabaī laddaākha taṇaāa sabandhaī bhaārata tae caīna waicakaāra 7 waeṃ paddhara daī saainaika gallabaāta ajja"
67
- - source: "ਸਾਖਰਤਾ ਦੇ ਮਾਮਲੇ 'ਚ ਦੇਸ਼ 'ਚ ੭ਵੇਂ ਨੰਬਰ 'ਤੇ ਪੰਜਾਬ"
68
- expected: "saākharataā dae maāmalae 'ca daesha 'ca 7waeṃ nam̆̐bara 'tae pañjaāba"
69
- - source: "ਪਾਕਿ ਡਰੋਨ ਵਲੋਂ ਘੁਸਪੈਠ ਦੀ ਕੋਸ਼ਿਸ਼"
70
- expected: "paākai ḍaraona walaoṃ ghausapaaiṭha daī kaoshaisha"
71
- - source: "ਪਾਵਰਕਾਮ ਵਲੋਂ ਵਿੱਤੀ ਘਾਟੇ ਨੂੰ ਘਟਾਉਣ ਲਈ ਸਖ਼ਤ ਪੇਸ਼ਬੰਦੀਆਂ ਲਾਗੂ"
72
- expected: "paāwarakaāma walaoṃ waittaī ghaāṭae naūm̆̐ ghaṭaāuṇa laī sakhata paeshabandaīāṃ laāgaū"
73
- - source: "ਪੰਜਾਬ 'ਚ ਕੋਰੋਨਾ ਦੇ ਐਕਟਿਵ ਕੇਸਾਂ ਦੀ ਗਿਣਤੀ ਘਟੀ"
74
- expected: "pañjaāba 'ca kaoraonaā dae aikaṭaiwa kaesaāṃ daī gaiṇataī ghaṭaī"
75
-
76
- map:
77
-
78
- inherit: 'alalc-pan-Guru-Latn-1997'
@@ -1,375 +0,0 @@
1
- ---
2
- authority_id: alalc
3
- id: 1997
4
- language: iso-639-3:prs
5
- source_script: Arab
6
- destination_script: Latn
7
- name: ALA-LC Romanization Table -- Persian (1997)
8
- url: http://catdir.loc.gov/catdir/cpso/romanization/persian.pdf
9
- creation_date: 1997
10
- confirmation_date: 1997
11
- description: |
12
- ALA-LC Romanization table for Persian
13
-
14
- notes:
15
- - 1. For the use of ا (alif) to support ء (hamzah) and ~ (maddah)
16
- see rule 1(a). For the romanization of ء and see rules 4 and
17
- respectively. For the use of ا to represent the long vowel
18
- romanized ā see the table of vowels and diphthongs, and rule 1(b).
19
-
20
- - 2. Final ک and ‫گ‬ may have the form ك, without the distinguishing
21
- upper stroke or strokes. The two letters are always distinguished in romanization.
22
-
23
- - 3. For other values of »5 and ,s see the table of vowels and diphthongs,
24
- and rules 2, 3, and 7.
25
-
26
- - 4. ة (dotted ه) when used as an alternative to ت is romanized t.
27
-
28
- - 5. Vowel points are not printed on Library of Congress cards.
29
-
30
- - 6. See rules 1(b) and 5.
31
-
32
- - 7. See rule 3(d).
33
-
34
- - Rule 1.(a) As a support for ء (hamzah) and ~ (maddah). In these cases it is
35
- not represented in romanization. See rules 4 and 5.
36
- (b) To indicate the long vowel romanized G. Forthe use of| in tanvin
37
- see rule 6 dānā دَانَا
38
-
39
- - Rule 2.و is used to represent
40
- (a) the consonant romanized v Silent و following خ is retained in romanization.
41
- (b) the long u-vowel (and short u-vowel in some monosyllables) is romanized ū
42
- (c) the diphthong romanized aw.
43
- Whenthe diphthong precedes a consonantal و, the combination is romanized avv. See
44
- rule 7.
45
- و may be used as a support for ء (hamzah); in this case it is not represented in
46
- romanization. See rule 4.
47
-
48
- - Rule 3. ي is used to represent
49
- (a) the consonant romanized y.
50
- (b) the long vowel romanized ī.
51
- (c) the diphthong romanized ay.
52
- (d) the final long vowel romanized á.
53
- For the use of ى as a mark of izafah see rule 8(c)
54
- ى in the medial form ىـ without dots, may be used as a support
55
- for ء (hamzah); in this case ى is not represented in romanization.
56
- See rule 4 below.
57
-
58
- - Rule 4. ء (hamzah)
59
- (a)When initial, ء is not represented in romanization.
60
- When medial orfinal, ء is romanized ’ (alif) except as noted
61
- in (c) and (d) below.
62
- (c)When used as a mark of izafah, ء is romanized -’i.
63
- (d)When used to mark the indefinite article i
64
-
65
- - Rule 5. ~(maddah)
66
- (a) initial آ is romanized ā
67
- (b) Medial آ, whenit represents the phonetic combination ’ā,
68
- is so romanized.
69
- (c) is otherwise not represented in romanization.
70
-
71
- - Rule 6. Tanvin (written ٌ, ٍ , ً , ـًا), which occurs chiefly in Arabic words,
72
- is romanized un, in, an, and an, respectively.
73
-
74
- - Rule 7. ّ (shaddah or tashdid) is represented by doubling the letter or
75
- digraph concerned. Note the exceptional case where 4 is written over و and ي
76
- to represent the combination of long vowel plus consonant.
77
-
78
- - Rule 8.Izafah. When two wordsareassociated in the relation known as
79
- izGfah,the first (the muzaf) is followed by an additional letter or
80
- syllable in romanization. This is added according to the following rules
81
- (a)When the muzaf bears no special mark of izafah, it is followed by-i.
82
- (b)When the muzaf is marked by the addition ofء, it is followed by-’i.
83
- (c)Whenthe muzaf is marked by the addition ofcs, it is followed by -yi.
84
- (d)Izafah is represented in romanization of personal names only when
85
- expressly indicated in the Persian script.
86
-
87
- - Rule 9.(a) When the affix and the word with which it is connected
88
- grammatically are written separately in Persian, the two are separated
89
- in romanization bya single prime (’). See also 12(b) below.
90
- (b) The Arabic article al is separated by a hyphen, in romanization,
91
- from the word to which it is prefixed.
92
-
93
- - Rule 10. Compounds. When the elements of a compound (except a
94
- compound personal name) are written separately in Persian, they are
95
- separated in romanization by a single prime (’). See also 12(b) below.
96
-
97
- - Rule 11. Capitalization.
98
- (a) Rules for the capitalization of English are followed, except that
99
- the Arabic article al is lowercased in all positions.
100
- (b) Diacritics are used with both capital and lowercaseletters.
101
-
102
- - Rule 12. The single prime (’) is used
103
- (a) To separate two letters representing two distinct consonantal
104
- sounds, when the combination might otherwise be read as a digraph.
105
- (b) To mark theuse ofa letterin its final form whenit occurs in the
106
- middle of a word. See also rules 9(a) and 10 above.
107
-
108
- - Rule 13. Foreign words in a Persian context, including Arabic words,
109
- are romanized accordingto the rules for Persian. For short vowels
110
- not indicated in the script, the Persian vowels nearest the original
111
- pronunciation of the word are supplied in romanization.
112
-
113
- - Rule 14. Dictionaries.
114
- In romanizing Persian, the Library of Congress has foundit necessary
115
- to consult dictionaries as an appendage to the romanizationtables,
116
- primarily for the purpose of supplying vowels. For Persian, the
117
- principle dictionary consulted is M. Mu’in. Farhang-i Farsi-i mutavassit
118
-
119
- tests:
120
- # 1(b)
121
- - source: دَانَا
122
- expected: Dānā
123
-
124
- # 2(a)
125
- - source: وَرزِش
126
- expected: Varzish
127
-
128
- - source: دَوَا
129
- expected: Davā
130
-
131
- - source: سَرو
132
- expected: Sarv
133
-
134
- - source: خوَاستَن
135
- expected: Khvāstan
136
-
137
- - source: خوُد
138
- expected: Khvud
139
-
140
- # 2(b)
141
- - source: دُور
142
- expected: Dūr
143
-
144
- - source: چُون
145
- expected: Chūn
146
-
147
- - source: تُو
148
- expected: Tū
149
-
150
- # 2(c)
151
- - source: فِردَوْسِي
152
- expected: Firdawsī
153
-
154
- # 3(a)
155
- - source: يَار
156
- expected: Yār
157
-
158
- - source: سِيَاه
159
- expected: Siyāh
160
-
161
- - source: پَاي
162
- expected: Pāy
163
-
164
- # 3(b)
165
- - source: اِيرَان
166
- expected: Īrān
167
-
168
- - source: قَالِي
169
- expected: Qālī
170
-
171
- # 3(c)
172
- - source: اَيوَان
173
- expected: Ayvān
174
-
175
- - source: رَي
176
- expected: Ray
177
-
178
- # 3(d)
179
- - source: مُصطَفَى
180
- expected: Muṣṭafá
181
-
182
- # 4(a)
183
- - source: مُؤَثِّر
184
- expected: Mu’as̱s̱ir
185
-
186
- - source: خُلَفَاء
187
- expected: Khulafā’
188
-
189
- - source: پَائِين
190
- expected: Pā’īn
191
-
192
- # 4(c)
193
- - source: اَستَانَهٔ دَر
194
- expected: Astānah-’i Dar
195
-
196
- # 5(a)
197
- - source: آب
198
- expected: Āb
199
-
200
- - source: كُلِّيَّة الآدَاب
201
- expected: Kullīyat al-Ādāb
202
-
203
- # 5(b)
204
- - source: مَآثِر
205
- expected: Ma’ās̱ir
206
-
207
- - source: دَريَاآبَادِي
208
- expected: Daryā’ābādī
209
-
210
- # 7
211
- - source: خُرَّم
212
- expected: Khurram
213
-
214
- - source: اَوَّل
215
- expected: Avval
216
-
217
- - source: بَچّة
218
- expected: Bachchah
219
-
220
- - source: خَيَّام
221
- expected: Khayyām
222
-
223
- - source: نَشرِيَّات
224
- expected: Nashrīyāt
225
-
226
- - source: قُوَّة
227
- expected: Qūvah
228
-
229
- - source: قُوَّة
230
- expected: Qūvah
231
-
232
- map:
233
- postrules:
234
- - pattern: '(?<=\b)(?<![‘|’])[\u0061-\uFFFF]'
235
- result: "upcase"
236
- - pattern: "Al-" # ال
237
- result: "al-"
238
-
239
- characters:
240
- # special rules
241
-
242
- '\s(?=\u0622\u0628\u064E\u0627\u062F)' : '' # space followed by abad is removed
243
- '\ufdf2' : 'Allāh' # See note 5
244
-
245
- # pointing
246
- '\u064e(?=\u0629)' : '' # َ fatha followed by ta' marboota
247
- '\u064e(?=a[h|t])' : '' # َ fatha followed by ta' marboota, handling different order of conversion
248
-
249
- '\u064e' : 'a' # َ fatha
250
- '\u064e\u0627' : 'ā' # ـَا fatha followed by ا
251
- '\b\u0622' : 'ā' # آ
252
- '\u0622' : '’ā' # آ
253
-
254
- '\u0650' : 'i' # ِ kasra
255
- '\u0650[\u064a|\u06cc]' : 'ī' # ـِي kasra followed by ي
256
- '\u0650\b' : '-e' # ِ kasra
257
- '\u064e\u0649' : 'á' # ـَى fatha followed by ى which is ا not ي
258
- '\u064e\u064a\u0652' : 'ay' # ـَيْ
259
- '\u0650\u064a(?=\u064e|u064f)' : 'iy' # ـِي kasra followed by ي
260
-
261
- '\u064f' : 'u' # ُ damma
262
- '\u064e\u0648\u0652' : 'aw' # ـَوْ
263
- '\u064f\u0648' : 'ū' # ـُو damma followed by و
264
-
265
- '\u0652' : '' # ْ sokoon
266
- '\u0659' : 'ê'
267
-
268
- '[\u0674|\u0654]' : '-’i' # ٴ
269
-
270
- '\u0649\u0670' : 'á' # ىٰ
271
- # - '-ye'
272
-
273
- # Tanvin Rule 6
274
- '\u064c' : 'un' # ٌ
275
- '\u064d' : 'in' # ٍ
276
- '\u064b' : 'an' # ً
277
- '\u064b\u0627' : 'an' # ً
278
-
279
- # ta' marboota
280
- '\u0629' : 'at' # ة in the middle of the sentence
281
- '\u0629$' : 'ah'
282
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{2})\u0629' : 'ah'
283
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{3})\u0629' : 'ah'
284
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{4})\u0629' : 'ah'
285
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{5})\u0629' : 'ah'
286
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{6})\u0629' : 'ah'
287
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{7})\u0629' : 'ah'
288
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{8})\u0629' : 'ah'
289
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{9})\u0629' : 'ah'
290
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{10})\u0629' : 'ah'
291
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{11})\u0629' : 'ah'
292
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{12})\u0629' : 'ah'
293
- '(?<=\b\u0627\u0644[\u0600-\u06ff]{13})\u0629' : 'ah'
294
-
295
- # shadda
296
-
297
- '\u0628\u0651' : 'bb' # ب
298
- '\u067E\u0651' : 'pp' # پ
299
- '\u062a\u0651' : 'tt' # ت
300
- '\u062b\u0651' : 's̱s̱' # ث
301
- '\u062c\u0651' : 'jj' # ج
302
- '\u0686\u0651' : 'chch' # ‫چ‬
303
- '\u062d\u0651' : 'ḥḥ' # ح
304
- '\u062e\u0651' : 'khkh' # خ
305
- '\u062f\u0651' : 'dd' # د
306
- '\u0630\u0651' : 'ẕẕ' # ذ
307
- '\u0631\u0651' : 'rr' # ر
308
- '\u0632\u0651' : 'zz' # ز
309
- '\u0698\u0651' : 'zhzh' # ‫ژ‬
310
- '\u0633\u0651' : 'ss' # س
311
- '\u0634\u0651' : 'shsh' # ش
312
- '\u0635\u0651' : 'z̤z̤' # ص
313
- '\u0636\u0651' : 'ḏḏ' # ض
314
- '\u0637\u0651' : 'ṭṭ' # ط
315
- '\u0638\u0651' : 'ẓẓ' # ظ
316
- '\u063a\u0651' : 'ghgh' # غ
317
- '\u0641\u0651' : 'ff' # ف
318
- '\u0642\u0651' : 'qq' # ق
319
- '\u0643\u0651' : 'kk' # ك
320
- '\u06A9\u0651' : 'kk' # ک
321
- '\u06AF\u0651' : 'gg' # ‫گ‬
322
- '\u0644\u0651' : 'll' # ل
323
- '\u0645\u0651' : 'mm' # م
324
- '\u0646\u0651' : 'nn' # ن
325
- '\u0647\u0651' : 'hh' # ه
326
- '\u0648\u0651' : 'vv' # و
327
- '[\u064a|\u0649]\u0651' : 'yy' # ي
328
- '\u0650[\u064a|\u06cc]\u0651\u064e' : 'īy' # ـِيَّ
329
- '\u064f\u0648\u0651' : 'ūv' # ـُو damma followed by و
330
-
331
- '\u0621' : '’' # ء
332
- '\u0624' : '’' # ؤ
333
- '\u0626' : '’' # ئ
334
-
335
- '\u0623' : '' # أ
336
- '\u0625' : '' # إ
337
- '\u0627' : 'ā' # ا
338
- '\b\u0627' : '' # ا
339
-
340
- '\b\u0627\u0644' : 'al-' # ال
341
-
342
- # consonant characters
343
-
344
- '\u0628' : 'b' # ب
345
- '\u067E' : 'p' # پ
346
- '\u062a' : 't' # ت
347
- '\u062B' : 's̱' # ث
348
- '\u062c' : 'j' # ج
349
- '\u0686' : 'ch' # ‫چ‬
350
- '\u062d' : 'ḥ' # ح
351
- '\u062e' : 'kh' # خ
352
- '\u062f' : 'd' # د
353
- '\u0630' : 'ẕ' # ذ
354
- '\u0631' : 'r' # ر
355
- '\u0632' : 'z' # ز
356
- '\u0698' : 'zh' # ‫ژ‬
357
- '\u0633' : 's' # س
358
- '\u0634' : 'sh' # ش
359
- '\u0635' : 'ṣ' # ص
360
- '\u0636' : 'z̤' # ض
361
- '\u0637' : 'ṭ' # ط
362
- '\u0638' : 'ẓ' # ظ
363
- '\u0639' : '‘' # ع
364
- '\u063a' : 'gh' # غ
365
- '\u0641' : 'f' # ف
366
- '\u0642' : 'q' # ق
367
- '\u0643' : 'k' # ك
368
- '\u06A9' : 'k' # ک
369
- '\u06AF' : 'g' # ‫گ‬
370
- '\u0644' : 'l' # ل
371
- '\u0645' : 'm' # م
372
- '\u0646' : 'n' # ن
373
- '\u0648' : 'v' # و
374
- '\u0647' : 'h' # ه
375
- '\u064a' : 'y' # ي