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,47 +0,0 @@
1
- ---
2
- authority_id: alalc
3
- id: 2011
4
- language: iso-639-2:hin
5
- source_script: Deva
6
- destination_script: Latn
7
- name: Hindi Romanization, 2011
8
- url: https://www.loc.gov/catdir/cpso/romanization/hindi.pdf
9
- creation_date: 1997
10
- description: |
11
- ALA-LC Romanization table for Hindi
12
-
13
- notes:
14
-
15
- - Only the vowel forms that appear at the beginning of a syllable are listed; the forms used for
16
- vowels following a consonant can be found in grammars; no distinction between the two is
17
- made in transliteration.
18
-
19
- - |
20
- The vowel a is implicit after all consonants and consonant clusters and is supplied in
21
- transliteration, with the following exceptions:
22
-
23
- a) when another vowel is indicated by its appropriate sign; and
24
- b) when the absence of any vowel is indicated by the subscript sign ( ◌् ) called halanta or
25
- virāma.
26
-
27
- - |
28
- Exception: Anusvāra is transliterated by:
29
-
30
- a) ṅ before gutturals,
31
- b) ñ before palatals,
32
- c) ṇ before cerebrals,
33
- d) n before dentals, and
34
- e) m before labials.
35
-
36
- - Anunāsika before guttural, palatal, cerebral, and dental occlusives is transliterated n̐. Before
37
- labials, sibilants, semivowels, aspirates, vowels, and in final position it is transliterated m̐.
38
-
39
- - When doubled, avagraha is transliterated by two apostrophes ( ’’ ).
40
-
41
- tests:
42
- - source: "इस चुनौतीपूर्ण समय में 'वर्क फ्रॉम होम’ सामान्य बन चुका है"
43
- expected: "isa caunaăutaīpaūraṇa samaya maeṃ 'varaka pharaôma haoma’ saāmaānaya bana caukaā haai"
44
-
45
- map:
46
-
47
- inherit: "alalc-hin-Deva-Latn-1997"
@@ -1,111 +0,0 @@
1
- ---
2
- authority_id: alalc
3
- id: 1997
4
- language: iso-639-2:kat
5
- source_script: Geok
6
- destination_script: Latn
7
- name: ALA-LC Georgian System (1997)
8
- url: https://www.loc.gov/catdir/cpso/romanization/georgian.pdf
9
- creation_date: 1997
10
- confirmation_date: 1997
11
- description: |
12
- Values are shown for the Khutsuri alphabet.
13
-
14
- notes:
15
-
16
- tests:
17
-
18
- - source: ႼႨႢႬႨ
19
- expected: CIGNI
20
-
21
- - source: ⴜⴈⴂⴌⴈ
22
- expected: cigni
23
-
24
- - source: ႱႭႪႭႫႭႬ
25
- expected: SOLOMON
26
-
27
- - source: ⴑⴍⴊⴍⴋⴍⴌ
28
- expected: solomon
29
-
30
- - source: ႠႡႰႠჀႠႫ
31
- expected: ABRAHAM
32
-
33
- map:
34
- characters:
35
- '\u10a0' : 'A' # Ⴀ
36
- '\u10a1' : 'B' # Ⴁ
37
- '\u10a2' : 'G' # Ⴂ
38
- '\u10a3' : 'D' # Ⴃ
39
- '\u10a4' : 'E' # Ⴄ
40
- '\u10a5' : 'V' # Ⴅ
41
- '\u10a6' : 'Z' # Ⴆ
42
- '\u10a7' : 'Tʻ' # Ⴇ
43
- '\u10a8' : 'I' # Ⴈ
44
- '\u10a9' : 'K' # Ⴉ
45
- '\u10aa' : 'L' # Ⴊ
46
- '\u10ab' : 'M' # Ⴋ
47
- '\u10ac' : 'N' # Ⴌ
48
- '\u10ad' : 'O' # Ⴍ
49
- '\u10ae' : 'P' # Ⴎ
50
- '\u10af' : 'Ž' # Ⴏ
51
- '\u10b0' : 'R' # Ⴐ
52
- '\u10b1' : 'S' # Ⴑ
53
- '\u10b2' : 'T' # Ⴒ
54
- '\u10b3' : 'U' # Ⴓ
55
- '\u10b4' : 'Pʻ' # Ⴔ
56
- '\u10b5' : 'Kʻ' # Ⴕ
57
- '\u10b6' : 'Ġ' # Ⴖ
58
- '\u10b7' : 'Q' # Ⴗ
59
- '\u10b8' : 'Š' # Ⴘ
60
- '\u10b9' : 'Čʻ' # Ⴙ
61
- '\u10ba' : 'Cʻ' # Ⴚ
62
- '\u10bb' : 'Ż' # Ⴛ
63
- '\u10bc' : 'C' # Ⴜ
64
- '\u10bd' : 'Č' # Ⴝ
65
- '\u10be' : 'X' # Ⴞ
66
- '\u10bf' : 'J' # Ⴟ
67
- '\u10c0' : 'H' # Ⴠ
68
- '\u10c1' : 'Ē' # Ⴡ
69
- '\u10c2' : 'Y' # Ⴢ
70
- '\u10c3' : 'W' # Ⴣ
71
- '\u10c4' : 'X̣' # Ⴤ
72
- '\u10c5' : 'Ō' # Ⴥ
73
-
74
- '\u2d00' : 'a' # ⴀ
75
- '\u2d01' : 'b' # ⴁ
76
- '\u2d02' : 'g' # ⴂ
77
- '\u2d03' : 'd' # ⴃ
78
- '\u2d04' : 'e' # ⴄ
79
- '\u2d05' : 'v' # ⴅ
80
- '\u2d06' : 'z' # ⴆ
81
- '\u2d07' : 'tʻ' # ⴇ
82
- '\u2d08' : 'i' # ⴈ
83
- '\u2d09' : 'k' # ⴉ
84
- '\u2d0a' : 'l' # ⴊ
85
- '\u2d0b' : 'm' # ⴋ
86
- '\u2d0c' : 'n' # ⴌ
87
- '\u2d0d' : 'o' # ⴍ
88
- '\u2d0e' : 'p' # ⴎ
89
- '\u2d0f' : 'ž' # ⴏ
90
- '\u2d10' : 'r' # ⴐ
91
- '\u2d11' : 's' # ⴑ
92
- '\u2d12' : 't' # ⴒ
93
- '\u2d13' : 'u' # ⴓ
94
- '\u2d14' : 'pʻ' # ⴔ
95
- '\u2d15' : 'kʻ' # ⴕ
96
- '\u2d16' : 'ġ' # ⴖ
97
- '\u2d17' : 'q' # ⴗ
98
- '\u2d18' : 'š' # ⴘ
99
- '\u2d19' : 'čʻ' # ⴙ
100
- '\u2d1a' : 'cʻ' # ⴚ
101
- '\u2d1b' : 'ż' # ⴛ
102
- '\u2d1c' : 'c' # ⴜ
103
- '\u2d1d' : 'č' # ⴝ
104
- '\u2d1e' : 'x' # ⴞ
105
- '\u2d1f' : 'j' # ⴟ
106
- '\u2d20' : 'h' # ⴠ
107
- '\u2d21' : 'ē' # ⴡ
108
- '\u2d22' : 'y' # ⴢ
109
- '\u2d23' : 'w' # ⴣ
110
- '\u2d24' : 'x̣' # ⴤ
111
- '\u2d25' : 'ō' # ⴥ
@@ -1,150 +0,0 @@
1
- ---
2
- authority_id: alalc
3
- id: 1997
4
- language: iso-639-2:kat
5
- source_script: Geor
6
- destination_script: Latn
7
- name: ALA-LC Georgian System (1997)
8
- alias:
9
- ogc11122:
10
- code: kat_Geor2Latn_ALA_1997
11
- description: Georgian ALA-Library of Congress 1997 System
12
- url: https://www.loc.gov/catdir/cpso/romanization/georgian.pdf
13
- creation_date: 1997
14
- confirmation_date: 1997
15
- description: |
16
- Values are shown for the older Khutsuri and the modern Mkhedruli alphabets.
17
- There are no upper case letters in Mkhedruli.
18
-
19
- notes:
20
-
21
- tests:
22
-
23
- - source: ხაოფსე
24
- expected: xaopʻse
25
-
26
- - source: ჭლოუ
27
- expected: člou
28
-
29
- - source: ჩოხულდი
30
- expected: čʻoxuldi
31
-
32
- - source: ქვემო ლინდა
33
- expected: kʻvemo linda
34
-
35
- - source: ტამკვაჩ იგვავერა
36
- expected: tamkvačʻ igvavera
37
-
38
- - source: სვანეთი
39
- expected: svanetʻi
40
-
41
- - source: საცხვარისი
42
- expected: sacʻxvarisi
43
-
44
- - source: მუხრან-თელეთი
45
- expected: muxran-tʻeletʻi
46
-
47
- - source: მუცდი
48
- expected: mucʻdi
49
-
50
- - source: ლეჩხუმი
51
- expected: lečʻxumi
52
-
53
- - source: ვერხნაია მწარა
54
- expected: verxnaia mcara
55
-
56
- - source: ეგრისის ქედი
57
- expected: egrisis kʻedi
58
-
59
- - source: დოჩარიფშა
60
- expected: dočʻaripʻša
61
-
62
- - source: ბოლოკო
63
- expected: boloko
64
-
65
- - source: აჭანდარა
66
- expected: ačandara
67
-
68
- - source: აუალიცა
69
- expected: aualicʻa
70
-
71
- - source: აკალამრა
72
- expected: akalamra
73
-
74
- - source: ლასილი
75
- expected: lasili
76
-
77
- - source: გუბაზეული
78
- expected: gubazeuli
79
-
80
- - source: ბაყაყი
81
- expected: baqaqi
82
-
83
- - source: ძროხა
84
- expected: żroxa
85
-
86
- - source: ჰაერი
87
- expected: haeri
88
-
89
- - source: ჟოლო
90
- expected: žolo
91
-
92
- - source: ჯართი
93
- expected: jartʻi
94
-
95
- - source: ღრმაღელე
96
- expected: ġrmaġele
97
-
98
- map:
99
- characters:
100
- '\u10d0' : 'a' # ა
101
- '\u10d1' : 'b' # ბ
102
- '\u10d2' : 'g' # გ
103
- '\u10d3' : 'd' # დ
104
- '\u10d4' : 'e' # ე
105
- '\u10d5' : 'v' # ვ
106
- '\u10d6' : 'z' # ზ
107
-
108
- '\u10f1' : 'ē' # ჱ
109
-
110
- '\u10d7' : 'tʻ' # თ
111
- '\u10d8' : 'i' # ი
112
- '\u10d9' : 'k' # კ
113
- '\u10da' : 'l' # ლ
114
- '\u10db' : 'm' # მ
115
- '\u10dc' : 'n' # ნ
116
-
117
- '\u10f2' : 'y' # ჲ
118
-
119
- '\u10dd' : 'o' # ო
120
- '\u10de' : 'p' # პ
121
- '\u10df' : 'ž' # ჟ
122
- '\u10e0' : 'r' # რ
123
- '\u10e1' : 's' # ს
124
- '\u10e2' : 't' # ტ
125
-
126
- '\u10f3' : 'w' # ჳ
127
-
128
- '\u10e3' : 'u' # უ
129
- '\u10e4' : 'pʻ' # ფ
130
- '\u10e5' : 'kʻ' # ქ
131
- '\u10e6' : 'ġ' # ღ
132
- '\u10e7' : 'q' # ყ
133
- '\u10e8' : 'š' # შ
134
- '\u10e9' : 'čʻ' # ჩ
135
- '\u10ea' : 'cʻ' # ც
136
- '\u10eb' : 'ż' # ძ
137
- '\u10ec' : 'c' # წ
138
- '\u10ed' : 'č' # ჭ
139
- '\u10ee' : 'x' # ხ
140
-
141
- '\u10f4' : 'x̣' # ჴ
142
-
143
- '\u10ef' : 'j' # ჯ
144
- '\u10f0' : 'h' # ჰ
145
-
146
- '\u10f5' : 'ō' # ჵ
147
-
148
- '\u10f6' : 'f' # ჶ
149
- '\u10f7' : 'ĕ' # ჷ
150
- '\u10f8' : 'ʻ' # ჸ
@@ -1,98 +0,0 @@
1
- ---
2
- authority_id: alalc
3
- id: 1997
4
- language: iso-639-2:kor
5
- source_script: Hang
6
- destination_script: Latn
7
- name: ALA-LC Romanization Table -- Korean (1997)
8
- alias:
9
- ogc11122:
10
- code: kor_Hang2Latn_ALA_1997
11
- description: Korean ALA-Library of Congress 1997 System
12
- url: http://catdir.loc.gov/catdir/cpso/romanization/korean.pdf
13
- creation_date: 1997
14
- adoption_date:
15
- description:
16
- "1. General Practice
17
- The Library of Congress will continue to follow the McCune-Reischauer system
18
- to romanize Korean with the exceptions noted in this document. See:
19
- Romanization of the Korean Language: Based upon its Phonetic Structure by
20
- G.M. McCune and E.O. Reischauer ([S.l.: s.n., 1939?), reprinted from the
21
- Transactions of the Korea Branch of the Royal Asiatic Society. Full text of the
22
- original document is available online from the National Library of Australia Web
23
- site: http://www.nla.gov.au/librariesaustralia/cjk/download/ras_1939.pdf"
24
-
25
- notes:
26
-
27
-
28
- tests:
29
- - source: 은하-리
30
- expected: "Ŭnha-ri"
31
- - source: 은중-리
32
- expected: "Ŭnjung-ni"
33
- - source: 은장-령
34
- expected: "Ŭnjang-nyŏng"
35
- - source: 은혜-동
36
- expected: "Ŭnhye-dong"
37
- - source: 은호-리
38
- expected: "Ŭnho-ri"
39
- - source: 은행정
40
- expected: "Ŭnhaengjŏng"
41
- - source: 은행-동
42
- expected: "Ŭnhaeng-dong"
43
- - source: 은행-촌
44
- expected: "Ŭnhaeng-ch’on"
45
- - source: 원수
46
- expected: "Wŏnsu"
47
- - source: 원소리-고개
48
- expected: "Wŏnsori-gogae"
49
- - source: 원소참
50
- expected: "Wŏnsoch’am"
51
- - source: 원소-리
52
- expected: "Wŏnso-ri"
53
- - source: 원신-리
54
- expected: "Wŏnsil-li"
55
- - source: 난곡
56
- expected: "Nan’gok"
57
- - source: 난산-리
58
- expected: "Nansal-li"
59
- - source: 난직
60
- expected: "Nanjik"
61
- - source: 영곡
62
- expected: "Yŏnggok"
63
- - source: 윗두밀
64
- expected: "Wittumil"
65
- - source: 윗도심이
66
- expected: "Wittosimi"
67
- - source: 둔지
68
- expected: "Tunji"
69
- - source: 서승
70
- expected: "Sŏsŭng"
71
- # - source: 신촌
72
- # expected: "Sinch’on"
73
- - source: 비암덕
74
- expected: "Piamdŏk"
75
- - source: 바위안
76
- expected: "Pawian"
77
- - source: 오송평
78
- expected: "Osongp’yŏng"
79
- - source: 그물목
80
- expected: "Kŭmulmok"
81
- - source: 구원정
82
- expected: "Kuwŏnjŏng"
83
- - source: 일하
84
- expected: "Irha"
85
- - source: 황우
86
- expected: "Hwangu"
87
- - source: 자작보
88
- expected: "Chajakpo"
89
- # - source: 비파1-동
90
- # expected: "Pip’a Il-tong"
91
- - source: 문암 오-동
92
- expected: "Munam O-dong"
93
-
94
- map:
95
- character_separator: ""
96
- word_separator: " "
97
- title_case: True
98
- inherit: "var-kor-Hang-Latn-mr-1939"
@@ -1,303 +0,0 @@
1
- ---
2
- authority_id: alalc
3
- id: 1997
4
- language: iso-639-2:mal
5
- source_script: Mlym
6
- destination_script: Latn
7
- name: Malayalam Romanization, 1997
8
- alias:
9
- ogc11122:
10
- code: mal_Mlym2Latn_ALA_1997
11
- description: Malayalam ALA-Library of Congress 1997 System
12
- url: http://catdir.loc.gov/catdir/cpso/romanization/malayala.pdf
13
- creation_date: 1997
14
- description: |
15
- ALA-LC Romanization table for Malayalam
16
-
17
-
18
- notes:
19
-
20
- - Only the vowel forms that appear at the beginning of a syllable are listed; the forms used for
21
- vowels following a consonant can be found in grammars; no distinction between the two is
22
- made in transliteration.
23
-
24
- - When ് is used in combination with the vowel u (ഉ്), the combination is also transliterated ȧ.
25
-
26
- - |
27
- The vowel a is implicit after all consonants and consonant clusters and is supplied in transliteration, with the following exceptions:
28
- a) when another vowel is indicated by its appropriate sign
29
- b) when the absence of any vowel is indicated by the superscript sign ് (also used for the vowel ȧ); and
30
- c) when the following modified consonantal forms are used:
31
- ൿ k
32
- ൻ n
33
- ൾ ḷ
34
- ൺ ṇ
35
- ൽ l
36
- ർ r
37
- - When റ റ appears as a subscript in a cluster (റ്റ), it is transliterated ta.
38
-
39
- - |
40
- Exception: Anusvāra is transliterated by:
41
-
42
- a) ṅ before gutturals,
43
- b) ñ before palatals,
44
- c) ṇ before cerebrals,
45
- d) n before dentals, and
46
- e) m before labials.
47
-
48
- tests:
49
- - source: "ചൈനയ്ക്കെതിരെ ലഡാക്കിൽ സദാസജ്ജം; യുഎസിൽനിന്ന് ൭൨,൫൦൦ സിഗ്–൧൬ റൈഫിൾ"
50
- expected: "cainayŭkŭketire lad̂ākŭkil sadāsajŭjaṃ; yuesilninŭnŭ 72,500 sigŭ–16 ṟaiphiḷ"
51
- - source: "സർഗഭൂമിക’യ്ക്കില്ല; ലളിതച്ചേച്ചി അങ്ങനെ പറഞ്ഞിട്ടുണ്ടാവില്ല: ആർഎൽവി രാമകൃഷ്ണൻ"
52
- expected: "sargabhūmika’yŭkŭkilŭla; laḷitacŭcēcŭci aṅŭṅane paṟañŭñiṭŭṭuṇŭṭāvilŭla: ārelvi rāmakṛṣŭṇan"
53
- - source: "സ്വർണക്കടത്ത്‌: ഫൈസൽ ഫരീദും റബിന്‍സും ദുബായിൽ അറസ്റ്റിലായെന്ന്‌ എന്‍ഐഎ"
54
- expected: "sŭvarṇakŭkaṭatŭtŭ: phaisal pharīduṃ ṟabinŭsuṃ dubāyil aṟasŭṟŭṟilāyenŭnŭ enŭaie"
55
- - source: "വരുമോ ചൈനയുടെ വാക്സീൻ?; ആഗോള ഉപയോഗത്തിന് ഡബ്ല്യുഎച്ച്ഒയുമായി ചർച്ച"
56
- expected: "varumō cainayuṭe vākŭsīn?; āgōḷa upayōgatŭtinŭ d̂abŭlŭyuecŭcŭoyumāyi carcŭca"
57
- - source: "കുട്ടികളുടെ മാനസിക പിരിമുറുക്കം മാറ്റാൻ പരിശീലനം; ക്ലാസുമായി പോക്സോ പ്രതി"
58
- expected: "kuṭŭṭikaḷuṭe mānasika pirimuṟukŭkaṃ māṟŭṟān pariśīlanaṃ; kŭlāsumāyi pōkŭsō pŭrati"
59
- - source: "ആദ്യം അമിത് ഷാ, ഇപ്പോൾ മോദി; ബിജെപിയെ പുണരാൻ ജഗൻ; ആന്ധ്രയിലെ കരുനീക്കങ്ങൾ"
60
- expected: "ādŭyaṃ amitŭ ṣā, ipŭpōḷ mōdi; bijepiye puṇarān jagan; ānŭdhŭrayile karunīkŭkaṅŭṅaḷ"
61
- - source: "ലഹരിമരുന്ന് കേസ്: ബിനീഷ് കോടിയേരിയെ ഇഡി 6 മണിക്കൂർ ചോദ്യം ചെയ്തു"
62
- expected: "laharimarunŭnŭ kēsŭ: binīṣŭ kōṭiyēriye id̂i 6 maṇikŭkūr cōdŭyaṃ ceyŭtu"
63
- - source: "ഈന്തപ്പഴം വിതരണം ചെയ്തത് ശിവശങ്കര്‍ പറഞ്ഞതു പ്രകാരം: ടി.വി അനുപമയുടെ മൊഴി"
64
- expected: "īnŭtapŭpaḻaṃ vitaraṇaṃ ceyŭtatŭ śivaśaṅŭkarŭ paṟañŭñatu pŭrakāraṃ: ṭi.vi anupamayuṭe moḻi"
65
- - source: "൫൦൦൦ മണിക്കൂർ കാത്തിരിക്കാൻ തയാറെന്ന് രാഹുൽ: ഒടുവിൽ വഴങ്ങി ഹരിയാന"
66
- expected: "5000 maṇikŭkūr kātŭtirikŭkān tayāṟenŭnŭ rāhul: oṭuvil vaḻaṅŭṅi hariyāna"
67
- - source: "കാരണം ഷോര്‍ട്ട്‌സര്‍ക്യൂട്ടല്ല; കത്തിയത് ഫയല്‍ മാത്രം, സാനിറ്റൈസര്‍ ഉള്‍പ്പെടെ കത്തിയില്ല"
68
- expected: "kāraṇaṃ ṣōrŭṭŭṭŭsarŭkŭyūṭŭṭalŭla; katŭtiyatŭ phayalŭ mātŭraṃ, sāniṟŭṟaisarŭ uḷŭpŭpeṭe katŭtiyilŭla"
69
- - source: "വിമൺ സയൻറിസ്റ്റ്സ് സ്കീം"
70
- expected: "vimaṇ sayanṟisŭṟŭṟŭsŭ sŭkīṃ"
71
-
72
- map:
73
-
74
- rules:
75
- # note[5]
76
- - pattern: \u0DCA(?=[കഖഗഘങ])
77
- result: ṅ
78
- - pattern: \u0DCA(?=[ചഛജഝഞ])
79
- result: ñ
80
- - pattern: \u0DCA(?=[ടഠഡഢണ])
81
- result: ṇ
82
- - pattern: \u0DCA(?=[തഥദധന])
83
- result: n
84
-
85
- # note[3(a,b)]
86
- - pattern: (['ക']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
87
- result: 'k'
88
- - pattern: (['ഖ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
89
- result: 'kh'
90
- - pattern: (['ഗ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
91
- result: 'g'
92
- - pattern: (['ഘ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
93
- result: 'gh'
94
- - pattern: (['ങ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
95
- result: 'ṅ'
96
- - pattern: (['ച']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
97
- result: 'c'
98
- - pattern: (['ഛ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
99
- result: 'ch'
100
- - pattern: (['ജ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
101
- result: 'j'
102
- - pattern: (['ഝ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
103
- result: 'jh'
104
- - pattern: (['ഞ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
105
- result: 'ñ'
106
- - pattern: (['ട']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
107
- result: 'ṭ'
108
- - pattern: (['ഠ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
109
- result: 'ṭh'
110
- - pattern: (['ഡ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
111
- result: 'd̂'
112
- - pattern: (['ഢ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
113
- result: 'ḍh'
114
- - pattern: (['ണ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
115
- result: 'ṇ'
116
- - pattern: (['ത']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
117
- result: 't'
118
- - pattern: (['ഥ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
119
- result: 'th'
120
- - pattern: (['ദ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
121
- result: 'd'
122
- - pattern: (['ധ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
123
- result: 'dh'
124
- - pattern: (['ന']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
125
- result: 'n'
126
- - pattern: (['പ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
127
- result: 'p'
128
- - pattern: (['ഫ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
129
- result: 'ph'
130
- - pattern: (['ബ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
131
- result: 'b'
132
- - pattern: (['ഭ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
133
- result: 'bh'
134
- - pattern: (['മ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
135
- result: 'm'
136
- - pattern: (['യ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
137
- result: 'y'
138
- - pattern: (['ര']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
139
- result: 'r'
140
- - pattern: (['റ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
141
- result: 'ṟ'
142
- - pattern: (['ല']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
143
- result: 'l'
144
- - pattern: (['ള']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
145
- result: 'ḷ'
146
- - pattern: (['ഴ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
147
- result: 'ḻ'
148
- - pattern: (['വ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
149
- result: 'v'
150
- - pattern: (['ശ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
151
- result: 'ś'
152
- - pattern: (['ഷ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
153
- result: 'ṣ'
154
- - pattern: (['സ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
155
- result: 's'
156
- - pattern: (['ഩ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
157
- result: 'ṉ'
158
- - pattern: (['ഹ']=?)(?=[\u0d3e\u0d3f\u0d40\u0d41\u0d42\u0d4d\u0d43\u0d44\u0d46\u0d47\u0d48\u0d4a\u0d4b\u0d4c\u0D62\u0D63\u0d4d])
159
- result: 'h'
160
-
161
-
162
-
163
- characters:
164
-
165
- 'അ': 'a'
166
- 'ആ': 'ā'
167
- 'ഇ': 'i'
168
- 'ഈ': 'ī'
169
- 'ഉ': 'u'
170
- 'ഊ': 'ū'
171
- 'ഋ': "ṛ"
172
- 'ൠ': "ṝ"
173
- 'ഌ': "ḷ"
174
- 'ൡ': "ḹ"
175
-
176
- 'എ': 'e'
177
- 'ഏ': 'ē'
178
- 'ഐ': 'ai'
179
-
180
- 'ഒ': 'o'
181
- 'ഓ': 'ō'
182
- 'ഔ': 'au'
183
-
184
- # Consonants
185
- # Gutturals
186
- 'ക': 'ka'
187
- 'ഖ': 'kha'
188
- 'ഗ': 'ga'
189
- 'ഘ': 'gha'
190
- 'ങ': 'ṅa'
191
-
192
- # Palatals
193
- 'ച': 'ca'
194
- 'ഛ': 'cha'
195
- 'ജ': 'ja'
196
- 'ഝ': 'jha'
197
- 'ഞ': 'ña'
198
-
199
- # Cerebrals
200
- 'ട': 'ṭa'
201
- 'ഠ': 'ṭha'
202
- 'ഡ': 'd̂a'
203
- 'ഢ': 'ḍha'
204
- 'ണ': 'ṇa'
205
-
206
- # Dentals
207
- 'ത': 'ta'
208
- 'ഥ': 'tha'
209
- 'ദ': 'da'
210
- 'ധ': 'dha'
211
- 'ന': 'na'
212
-
213
- # Labials
214
- 'പ': 'pa'
215
- 'ഫ': 'pha'
216
- 'ബ': 'ba'
217
- 'ഭ': 'bha'
218
- 'മ': 'ma'
219
-
220
- # Semivowels
221
- 'യ': 'ya'
222
- 'ര': 'ra'
223
- 'റ': 'ṟa'
224
- 'റ്റ': 'ṯṯa' # (see Note 4)
225
- 'ല': 'la'
226
- 'ള': 'ḷa'
227
- 'ഴ': 'ḻa'
228
- # Sibilants
229
- 'വ': 'va'
230
- 'ശ': 'śa'
231
- 'ഷ': 'ṣa'
232
- 'സ': 'sa'
233
- 'ഩ': 'ṉa'
234
-
235
-
236
- # Aspirate
237
- 'ഹ': 'ha'
238
-
239
- # Bisarga
240
- 'ഃ': 'ḥ'
241
-
242
- # Anusvāra
243
- 'ം': 'ṃ'
244
-
245
-
246
- # Abagraha
247
- 'ഽ': ':’' # (apostrophe)
248
-
249
- # Medials # Needed for connecting constants
250
-
251
- 'ാ': 'ā'
252
- 'ി': 'i'
253
- 'ീ': 'ī'
254
- 'ു': 'u'
255
- 'ൂ': 'ū'
256
- '്': 'ŭ'
257
- 'ൃ': "ṛ"
258
- 'ൄ': "ṝ"
259
- '\u0D62': "ḷ"
260
- '\u0D63': "ḹ"
261
- 'െ': "e"
262
- 'േ': "ē"
263
- 'ൈ': "ai"
264
- 'ൊ': 'o'
265
- 'ോ': 'ō'
266
- 'ൌ': 'au'
267
-
268
- '्': ''
269
- '़': ''
270
- 'ൗ': ''
271
- "‍": '' # no need for zero with joiner
272
- "‌": '' # no need for zero with non joiner
273
-
274
-
275
- # numbers
276
- '൦': '0'
277
- '൧': '1'
278
- '൨': '2'
279
- '൩': '3'
280
- '൪': '4'
281
- '൫': '5'
282
- '൬': '6'
283
- '൭': '7'
284
- '൮': '8'
285
- '൯': '9'
286
- '൰': '10'
287
- '൱': '100'
288
- '൲': '1000'
289
-
290
-
291
- # Note 3(c)
292
-
293
- 'ൿ': 'k'
294
- 'ൺ': 'ṇ'
295
- 'ൻ': 'n'
296
- 'ൽ': 'l'
297
- 'ൾ': 'ḷ'
298
- 'ർ': 'r'
299
- 'ഉ്': 'ū'
300
-
301
- # extended and ancient forms
302
-
303
- 'ഺ': 'ṯa'