interscript 0.1.9 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +11 -0
  3. data/.rspec +3 -0
  4. data/Gemfile +29 -0
  5. data/LICENSE.adoc +31 -0
  6. data/README.md +3 -0
  7. data/Rakefile +53 -0
  8. data/bin/console +14 -0
  9. data/bin/interscript +5 -0
  10. data/bin/maps_analyze_staging +168 -0
  11. data/bin/maps_debug_compilers +58 -0
  12. data/bin/maps_debug_ordering +88 -0
  13. data/bin/maps_debug_ruby_compile +24 -0
  14. data/bin/maps_debug_step_by_step +44 -0
  15. data/bin/maps_optimize_order +112 -0
  16. data/bin/maps_v1_analyze_regexps +45 -0
  17. data/bin/maps_v1_to_v2 +426 -0
  18. data/bin/setup +8 -0
  19. data/exe/interscript +6 -0
  20. data/interscript.gemspec +31 -0
  21. data/lib/interscript.rb +80 -135
  22. data/lib/interscript/command.rb +5 -5
  23. data/lib/interscript/compiler.rb +22 -0
  24. data/lib/interscript/compiler/javascript.rb +292 -0
  25. data/lib/interscript/compiler/ruby.rb +262 -0
  26. data/lib/interscript/dsl.rb +67 -0
  27. data/lib/interscript/dsl/aliases.rb +23 -0
  28. data/lib/interscript/dsl/document.rb +46 -0
  29. data/lib/interscript/dsl/group.rb +45 -0
  30. data/lib/interscript/dsl/group/parallel.rb +6 -0
  31. data/lib/interscript/dsl/items.rb +89 -0
  32. data/lib/interscript/dsl/metadata.rb +26 -0
  33. data/lib/interscript/dsl/stage.rb +6 -0
  34. data/lib/interscript/dsl/symbol_mm.rb +11 -0
  35. data/lib/interscript/dsl/tests.rb +12 -0
  36. data/lib/interscript/interpreter.rb +251 -0
  37. data/lib/interscript/node.rb +25 -0
  38. data/lib/interscript/node/alias_def.rb +15 -0
  39. data/lib/interscript/node/dependency.rb +13 -0
  40. data/lib/interscript/node/document.rb +45 -0
  41. data/lib/interscript/node/group.rb +34 -0
  42. data/lib/interscript/node/group/parallel.rb +9 -0
  43. data/lib/interscript/node/group/sequential.rb +2 -0
  44. data/lib/interscript/node/item.rb +52 -0
  45. data/lib/interscript/node/item/alias.rb +42 -0
  46. data/lib/interscript/node/item/any.rb +61 -0
  47. data/lib/interscript/node/item/capture.rb +50 -0
  48. data/lib/interscript/node/item/group.rb +51 -0
  49. data/lib/interscript/node/item/repeat.rb +40 -0
  50. data/lib/interscript/node/item/stage.rb +23 -0
  51. data/lib/interscript/node/item/string.rb +51 -0
  52. data/lib/interscript/node/metadata.rb +18 -0
  53. data/lib/interscript/node/rule.rb +6 -0
  54. data/lib/interscript/node/rule/funcall.rb +18 -0
  55. data/lib/interscript/node/rule/run.rb +15 -0
  56. data/lib/interscript/node/rule/sub.rb +65 -0
  57. data/lib/interscript/node/stage.rb +19 -0
  58. data/lib/interscript/node/tests.rb +15 -0
  59. data/lib/interscript/stdlib.rb +211 -0
  60. data/lib/interscript/utils/regexp_converter.rb +283 -0
  61. data/lib/interscript/version.rb +1 -1
  62. data/requirements.txt +1 -0
  63. metadata +73 -458
  64. data/README.adoc +0 -296
  65. data/aliases.json +0 -1
  66. data/lib/g2pwrapper.py +0 -34
  67. data/lib/interscript/fs.rb +0 -96
  68. data/lib/interscript/mapping.rb +0 -144
  69. data/lib/interscript/opal.rb +0 -196
  70. data/lib/interscript/opal/entrypoint.rb +0 -20
  71. data/lib/interscript/opal/exports.rb +0 -11
  72. data/lib/interscript/opal/maps.js.erb +0 -8
  73. data/lib/model-7 +0 -0
  74. data/lib/tha-pt-b-7 +0 -0
  75. data/maps/acadsin-zho-Hani-Latn-2002.yaml +0 -38916
  76. data/maps/alalc-amh-Ethi-Latn-1997.yaml +0 -513
  77. data/maps/alalc-amh-Ethi-Latn-2011.yaml +0 -138
  78. data/maps/alalc-ara-Arab-Latn-1997.yaml +0 -1287
  79. data/maps/alalc-asm-Deva-Latn-1997.yaml +0 -259
  80. data/maps/alalc-asm-Deva-Latn-2012.yaml +0 -55
  81. data/maps/alalc-aze-Arab-Latn-1997.yaml +0 -376
  82. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +0 -145
  83. data/maps/alalc-bel-Cyrl-Latn-1997.yaml +0 -129
  84. data/maps/alalc-ben-Beng-Latn-1997.yaml +0 -291
  85. data/maps/alalc-ben-Beng-Latn-2017.yaml +0 -130
  86. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +0 -98
  87. data/maps/alalc-div-Thaa-Latn-1997.yaml +0 -211
  88. data/maps/alalc-ell-Grek-Latn-1997.yaml +0 -628
  89. data/maps/alalc-ell-Grek-Latn-2010.yaml +0 -626
  90. data/maps/alalc-guj-Gujr-Latn-1997.yaml +0 -266
  91. data/maps/alalc-guj-Gujr-Latn-2011.yaml +0 -64
  92. data/maps/alalc-hin-Deva-Latn-1997.yaml +0 -303
  93. data/maps/alalc-hin-Deva-Latn-2011.yaml +0 -65
  94. data/maps/alalc-kan-Kana-Latn-1997.yaml +0 -274
  95. data/maps/alalc-kan-Kana-Latn-2011.yaml +0 -63
  96. data/maps/alalc-kat-Geok-Latn-1997.yaml +0 -111
  97. data/maps/alalc-kat-Geor-Latn-1997.yaml +0 -150
  98. data/maps/alalc-kor-Hang-Latn-1997.yaml +0 -98
  99. data/maps/alalc-mal-Mlym-Latn-1997.yaml +0 -303
  100. data/maps/alalc-mal-Mlym-Latn-2012.yaml +0 -73
  101. data/maps/alalc-mar-Deva-Latn-1997.yaml +0 -189
  102. data/maps/alalc-mar-Deva-Latn-2011.yaml +0 -45
  103. data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +0 -114
  104. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +0 -103
  105. data/maps/alalc-mon-Cyrl-Latn-1997.yaml +0 -220
  106. data/maps/alalc-ori-Orya-Latn-1997.yaml +0 -284
  107. data/maps/alalc-ori-Orya-Latn-2011.yaml +0 -67
  108. data/maps/alalc-pan-Guru-Latn-1997.yaml +0 -256
  109. data/maps/alalc-pan-Guru-Latn-2011.yaml +0 -78
  110. data/maps/alalc-per-Arab-Latn-1997.yaml +0 -375
  111. data/maps/alalc-pli-Deva-Latn-2012.yaml +0 -144
  112. data/maps/alalc-pra-Deva-Latn-2012.yaml +0 -47
  113. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +0 -225
  114. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +0 -162
  115. data/maps/alalc-san-Deva-Latn-2012.yaml +0 -241
  116. data/maps/alalc-sin-Sinh-Latn-1997.yaml +0 -292
  117. data/maps/alalc-sin-Sinh-Latn-2011.yaml +0 -71
  118. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +0 -118
  119. data/maps/alalc-srp-Cyrl-Latn-2013.yaml +0 -135
  120. data/maps/alalc-tam-Taml-Latn-1997.yaml +0 -62
  121. data/maps/alalc-tam-Taml-Latn-2011.yaml +0 -58
  122. data/maps/alalc-tel-Telu-Latn-1997.yaml +0 -284
  123. data/maps/alalc-tel-Telu-Latn-2011.yaml +0 -64
  124. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +0 -145
  125. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +0 -16
  126. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +0 -283
  127. data/maps/az-aze-Cyrl-Latn-1939.yaml +0 -105
  128. data/maps/az-aze-Cyrl-Latn-1958.yaml +0 -45
  129. data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +0 -174
  130. data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +0 -169
  131. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +0 -292
  132. data/maps/bgn-kor-Hang-Latn-1943.yaml +0 -35
  133. data/maps/bgn-kor-Kore-Latn-1943.yaml +0 -31
  134. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +0 -208
  135. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +0 -208
  136. data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +0 -532
  137. data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +0 -598
  138. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +0 -108
  139. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +0 -111
  140. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +0 -188
  141. data/maps/bgnpcgn-bal-Arab-Latn-2008.yaml +0 -329
  142. data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +0 -289
  143. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +0 -119
  144. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +0 -42
  145. data/maps/bgnpcgn-che-Cyrl-Latn-2008.yaml +0 -184
  146. data/maps/bgnpcgn-div-Thaa-Latn-1988.yaml +0 -75
  147. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +0 -705
  148. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +0 -23
  149. data/maps/bgnpcgn-far-Latn-Latn-1964.yaml +0 -28
  150. data/maps/bgnpcgn-fas-Arab-Latn-1956.yaml +0 -96
  151. data/maps/bgnpcgn-isl-Latn-Latn-1964.yaml +0 -37
  152. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +0 -257
  153. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +0 -131
  154. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +0 -42
  155. data/maps/bgnpcgn-kaz-Cyrl-Latn-1979.yaml +0 -247
  156. data/maps/bgnpcgn-kir-Cyrl-Latn-1979.yaml +0 -218
  157. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +0 -253
  158. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +0 -48
  159. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +0 -48
  160. data/maps/bgnpcgn-kur-Arab-Latn-2007.yaml +0 -249
  161. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +0 -163
  162. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +0 -190
  163. data/maps/bgnpcgn-mon-Cyrl-Latn-1964.yaml +0 -223
  164. data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +0 -230
  165. data/maps/bgnpcgn-per-Arab-Latn-1958.yaml +0 -338
  166. data/maps/bgnpcgn-prs-Arab-Latn-2007.yaml +0 -673
  167. data/maps/bgnpcgn-prs-Arab-Latn-yaghoubi.yaml +0 -459
  168. data/maps/bgnpcgn-pus-Arab-Latn-1968.yaml +0 -377
  169. data/maps/bgnpcgn-rue-Cyrl-Latn-2016.yaml +0 -168
  170. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +0 -318
  171. data/maps/bgnpcgn-srp-Cyrl-Latn-1962.yaml +0 -73
  172. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +0 -170
  173. data/maps/bgnpcgn-tat-Cyrl-Latn-2007.yaml +0 -220
  174. data/maps/bgnpcgn-tgk-Cyrl-Latn-1994.yaml +0 -240
  175. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +0 -166
  176. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +0 -119
  177. data/maps/bgnpcgn-urd-Arab-Latn-2007.yaml +0 -459
  178. data/maps/bgnpcgn-uzb-Cyrl-Latn-1979.yaml +0 -127
  179. data/maps/bgnpcgn-uzb-Cyrl-Latn-2000.yaml +0 -82
  180. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +0 -7456
  181. data/maps/bis-asm-Beng-Latn-13194-1991.yaml +0 -159
  182. data/maps/bis-ben-Beng-Latn-13194-1991.yaml +0 -156
  183. data/maps/bis-dev-Deva-Latn-13194-1991.yaml +0 -184
  184. data/maps/bis-guj-Gujr-Latn-13194-1991.yaml +0 -181
  185. data/maps/bis-kan-Kana-Latn-13194-1991.yaml +0 -173
  186. data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +0 -176
  187. data/maps/bis-ori-Orya-Latn-13194-1991.yaml +0 -175
  188. data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +0 -175
  189. data/maps/bis-tel-Telu-Latn-13194-1991.yaml +0 -170
  190. data/maps/bis-tml-Taml-Latn-13194-1991.yaml +0 -155
  191. data/maps/by-bel-Cyrl-Latn-1998.yaml +0 -172
  192. data/maps/by-bel-Cyrl-Latn-2007.yaml +0 -115
  193. data/maps/din-grc-Grek-Latn-31634-2011-t1.yaml +0 -899
  194. data/maps/din-hin-Deva-Latn-33904-2018.yaml +0 -100
  195. data/maps/din-kat-Geor-Latn-32707-2010.yaml +0 -145
  196. data/maps/din-mar-Deva-Latn-33904-2018.yaml +0 -84
  197. data/maps/din-nep-Deva-Latn-33904-2018.yaml +0 -119
  198. data/maps/din-pli-Deva-Latn-33904-2018.yaml +0 -75
  199. data/maps/din-pra-Deva-Latn-33904-2018.yaml +0 -63
  200. data/maps/din-san-Deva-Latn-33904-2018.yaml +0 -338
  201. data/maps/din-tam-Taml-Latn-33903-2016.yaml +0 -213
  202. data/maps/dos-nep-Deva-Latn-1997.yaml +0 -47
  203. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +0 -684
  204. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +0 -680
  205. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +0 -19
  206. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +0 -31
  207. data/maps/ggg-kat-Geor-Latn-2002.yaml +0 -92
  208. data/maps/gki-bel-Cyrl-Latn-1992.yaml +0 -33
  209. data/maps/gki-bel-Cyrl-Latn-2000.yaml +0 -201
  210. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +0 -190
  211. data/maps/gost-rus-Cyrl-Latn-7.79-2000-2002.yaml +0 -157
  212. data/maps/hk-yue-Hani-Latn-1888.yaml +0 -38497
  213. data/maps/icao-bel-Cyrl-Latn-9303.yaml +0 -136
  214. data/maps/icao-bul-Cyrl-Latn-9303.yaml +0 -118
  215. data/maps/icao-fas-Arab-Latn-9303.yaml +0 -103
  216. data/maps/icao-heb-Hebr-Latn-9303.yaml +0 -151
  217. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +0 -117
  218. data/maps/icao-rus-Cyrl-Latn-9303.yaml +0 -117
  219. data/maps/icao-srp-Cyrl-Latn-9303.yaml +0 -117
  220. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +0 -119
  221. data/maps/iso-ara-Arab-Latn-233-1984.yaml +0 -323
  222. data/maps/iso-asm-Beng-Latn-15919-2001.yaml +0 -75
  223. data/maps/iso-ben-Beng-Latn-15919-2001.yaml +0 -175
  224. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +0 -613
  225. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +0 -44
  226. data/maps/iso-guj-Gujr-Latn-15919-2001.yaml +0 -220
  227. data/maps/iso-hin-Deva-Latn-15919-2001.yaml +0 -87
  228. data/maps/iso-inc-Deva-Latn-15919-2001.yaml +0 -61
  229. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +0 -66
  230. data/maps/iso-kan-Kana-Latn-15919-2001.yaml +0 -220
  231. data/maps/iso-kat-Geor-Latn-9984-1996.yaml +0 -145
  232. data/maps/iso-kor-Hang-Latn-1996-method1.yaml +0 -240
  233. data/maps/iso-kor-Hang-Latn-1996-method2.yaml +0 -226
  234. data/maps/iso-mal-Mlym-Latn-15919-2001.yaml +0 -281
  235. data/maps/iso-mar-Deva-Latn-15919-2001.yaml +0 -75
  236. data/maps/iso-nep-Deva-Latn-15919-2001.yaml +0 -87
  237. data/maps/iso-ori-Orya-Latn-15919-2001.yaml +0 -193
  238. data/maps/iso-pan-Guru-Latn-15919-2001.yaml +0 -222
  239. data/maps/iso-pli-Beng-Latn-15919-2001.yaml +0 -73
  240. data/maps/iso-pli-Deva-Latn-15919-2001.yaml +0 -74
  241. data/maps/iso-pli-Sinh-Latn-15919-2001.yaml +0 -219
  242. data/maps/iso-pli-Thai-Latn-15919-2001.yaml +0 -55
  243. data/maps/iso-pra-Deva-Latn-15919-2001.yaml +0 -59
  244. data/maps/iso-prs-Arab-Latn-233-3-1999.yaml +0 -366
  245. data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +0 -271
  246. data/maps/iso-san-Deva-Latn-15919-2001.yaml +0 -220
  247. data/maps/iso-tam-Taml-Latn-15919-2001.yaml +0 -159
  248. data/maps/iso-tel-Telu-Latn-15919-2001.yaml +0 -220
  249. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +0 -109
  250. data/maps/kp-kor-Hang-Latn-2002.yaml +0 -909
  251. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +0 -44820
  252. data/maps/masm-mon-Cyrl-Latn-5217-2012.yaml +0 -163
  253. data/maps/masm-mon-Latn-Cyrl-5217-2012.yaml +0 -200
  254. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +0 -411
  255. data/maps/moct-kor-Hang-Latn-2000.yaml +0 -807
  256. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +0 -541
  257. data/maps/mv-div-Thaa-Latn-1987.yaml +0 -200
  258. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +0 -225
  259. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +0 -63
  260. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +0 -109
  261. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +0 -37
  262. data/maps/odni-ara-Arab-Latn-2004.yaml +0 -137
  263. data/maps/odni-ara-Arab-Latn-2015.yaml +0 -315
  264. data/maps/odni-aze-Cyrl-Latn-2015.yaml +0 -144
  265. data/maps/odni-bel-Cyrl-Latn-2015.yaml +0 -148
  266. data/maps/odni-bul-Cyrl-Latn-2005.yaml +0 -90
  267. data/maps/odni-bul-Cyrl-Latn-2015.yaml +0 -96
  268. data/maps/odni-che-Cyrl-Latn-2015.yaml +0 -169
  269. data/maps/odni-fas-Arab-Latn-2004.yaml +0 -276
  270. data/maps/odni-fas-Arab-Latn-2015.yaml +0 -406
  271. data/maps/odni-hin-Deva-Latn-2004.yaml +0 -182
  272. data/maps/odni-hin-Deva-Latn-2015.yaml +0 -258
  273. data/maps/odni-kat-Geor-Latn-2015.yaml +0 -87
  274. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +0 -148
  275. data/maps/odni-kir-Cyrl-Latn-2015.yaml +0 -136
  276. data/maps/odni-kor-Hang-Latn-2015.yaml +0 -375
  277. data/maps/odni-mkd-Cyrl-Latn-2005.yaml +0 -21
  278. data/maps/odni-mkd-Cyrl-Latn-2015.yaml +0 -122
  279. data/maps/odni-prs-Arab-Latn-2004.yaml +0 -123
  280. data/maps/odni-prs-Arab-Latn-2015.yaml +0 -228
  281. data/maps/odni-rus-Cyrl-Latn-2015.yaml +0 -77
  282. data/maps/odni-srp-Cyrl-Latn-2005.yaml +0 -36
  283. data/maps/odni-srp-Cyrl-Latn-2015.yaml +0 -129
  284. data/maps/odni-tat-Cyrl-Latn-2015.yaml +0 -142
  285. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +0 -148
  286. data/maps/odni-tuk-Cyrl-Latn-2015.yaml +0 -170
  287. data/maps/odni-uig-Cyrl-Latn-2015.yaml +0 -138
  288. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +0 -161
  289. data/maps/odni-urd-Arab-Latn-2015.yaml +0 -221
  290. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +0 -166
  291. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +0 -90
  292. data/maps/royin-tha-Thai-Latn-1968.yaml +0 -183
  293. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +0 -180
  294. data/maps/royin-tha-Thai-Latn-1999.yaml +0 -80
  295. data/maps/sac-zho-Hans-Latn-1979.yaml +0 -24763
  296. data/maps/sasm-mon-Mong-Latn-general-1978.yaml +0 -389
  297. data/maps/sasm-mon-Mong-Latn-phonetic-1978.yaml +0 -354
  298. data/maps/ses-ara-Arab-Latn-1930.yaml +0 -283
  299. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +0 -222
  300. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +0 -197
  301. data/maps/ua-ukr-Cyrl-Latn-2007.yaml +0 -75
  302. data/maps/ua-ukr-Cyrl-Latn-2010.yaml +0 -192
  303. data/maps/un-amh-Ethi-Latn-2016.yaml +0 -602
  304. data/maps/un-ara-Arab-Latn-1971.yaml +0 -139
  305. data/maps/un-ara-Arab-Latn-1972.yaml +0 -159
  306. data/maps/un-ara-Arab-Latn-2017.yaml +0 -420
  307. data/maps/un-asm-Beng-Latn-1972.yaml +0 -223
  308. data/maps/un-bel-Cyrl-Latn-2007.yaml +0 -114
  309. data/maps/un-ben-Beng-Latn-2016.yaml +0 -534
  310. data/maps/un-ell-Grek-Latn-1987-phonetic.yaml +0 -780
  311. data/maps/un-ell-Grek-Latn-1987-tl.yaml +0 -31
  312. data/maps/un-ell-Grek-Latn-1987-ts.yaml +0 -19
  313. data/maps/un-guj-Gujr-Latn-1972.yaml +0 -229
  314. data/maps/un-hin-Deva-Latn-2016.yaml +0 -316
  315. data/maps/un-kan-Kana-Latn-2016.yaml +0 -254
  316. data/maps/un-mal-Mlym-Latn-1972.yaml +0 -251
  317. data/maps/un-mar-Deva-Latn-2016.yaml +0 -102
  318. data/maps/un-mon-Mong-Latn-general-2013.yaml +0 -264
  319. data/maps/un-mon-Mong-Latn-phonetic-2013.yaml +0 -264
  320. data/maps/un-nep-Deva-Latn-1972.yaml +0 -269
  321. data/maps/un-nep-Deva-Latn-2013.yaml +0 -74
  322. data/maps/un-ori-Orya-Latn-1972.yaml +0 -247
  323. data/maps/un-pan-Guru-Latn-1972.yaml +0 -402
  324. data/maps/un-prs-Arab-Latn-1967.yaml +0 -236
  325. data/maps/un-rus-Cyrl-Latn-1987.yaml +0 -166
  326. data/maps/un-tam-Taml-Latn-1972.yaml +0 -194
  327. data/maps/un-tel-Telu-Latn-1972.yaml +0 -270
  328. data/maps/un-ukr-Cyrl-Latn-1998.yaml +0 -53
  329. data/maps/un-ukr-Cyrl-Latn-2012.yaml +0 -162
  330. data/maps/un-urd-Arab-Latn-1972.yaml +0 -405
  331. data/maps/var-amh-Ethi-Latn-eae-2003.yaml +0 -466
  332. data/maps/var-gez-Ethi-Latn-eae-2003.yaml +0 -76
  333. data/maps/var-hin-Deva-Latn-hunterian-1872.yaml +0 -221
  334. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +0 -406
  335. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +0 -386
  336. data/maps/var-kor-Hang-Hang-jamo.yaml +0 -11193
  337. data/maps/var-kor-Hang-Latn-mr-1939.yaml +0 -1054
  338. data/maps/var-kor-Kore-Hang-2013.yaml +0 -59754
  339. data/maps/var-kor-Kore-Latn-mr-1939.yaml +0 -36
  340. data/maps/var-mar-Deva-Latn-hunterian-1872.yaml +0 -43
  341. data/maps/var-mon-Mong-Latn-1930.yaml +0 -102
  342. data/maps/var-mon-Mong-Latn-lessing.yaml +0 -272
  343. data/maps/var-mon-Mong-Latn-vpmc.yaml +0 -274
  344. data/maps/var-pra-Deva-Latn-iast-1912.yaml +0 -30
  345. data/maps/var-san-Deva-Latn-iast-1912.yaml +0 -149
  346. data/maps/var-tha-Thai-Thai-phonemic.yaml +0 -59
  347. data/maps/var-tha-Thai-Zsym-ipa.yaml +0 -301
  348. data/maps/var-zho-Hani-Latn-wd-1979.yaml +0 -38912
  349. data/spec/interscript/filenames_spec.rb +0 -21
  350. data/spec/interscript/mapping_spec.rb +0 -42
  351. data/spec/interscript_spec.rb +0 -37
  352. data/spec/spec_helper.rb +0 -3
@@ -1,318 +0,0 @@
1
- ---
2
- authority_id: bgnpcgn
3
- id: 1947
4
- language: iso-639-2:rus
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: ROMANIZATION OF RUSSIAN, BGN/PCGN 1947 System
8
- alias:
9
- ogc11122:
10
- code: rus_Cyrl2Latn_BGN_1947
11
- description: Russian US Board on Geographic Names(BGN)/Permanent Committee on Geographical Names for British Official Use(PCGN) 1947 System
12
- url: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/807920/ROMANIZATION_OF_RUSSIAN.pdf
13
- creation_date: 1947
14
- confirmation_date: 2019-06
15
- description: |
16
- The BGN/PCGN system for Russian was adopted by the BGN in 1944 and by the
17
- PCGN in 1947 for use in romanizing names written in the Russian Cyrillic
18
- alphabet.
19
-
20
- notes:
21
- - The character e should be romanized ye initially, after the vowel
22
- characters a, e, ё, и, о, у, ы, э, ю, and я, and after й, ъ, and ь. In
23
- all other instances, it should be romanized e.
24
-
25
- - The character ё is not considered a separate character of the
26
- Russian alphabet and the dieresis is generally not shown. When the
27
- dieresis is shown, the character should be romanized yë initially,
28
- after the vowel characters a, e, ё, и, о, у, ы, э, ю, and я, and after
29
- й, ъ, and ь. In all other instances, it should be romanized ё. When the
30
- dieresis is not shown, the character may still be romanized in the
31
- preceding manner or, alternatively, in accordance with note 1.
32
-
33
- - |
34
- Unusual Russian character sequences occurring primarily in
35
- non-Russian-language names may be romanized as shown below in order to
36
- provide differentiation from regularly- occurring digraphs and
37
- character sequences.
38
- й before а, у, ы, or э у·
39
- ы before а, у, ы, or э у·
40
- ы after any vowel character ·у
41
- э after any consonant character except й ·е
42
- TC t·s шч sh·ch
43
-
44
- - Unicode values are shown with the uppercase Cyrillic character first,
45
- followed by the lowercase character.
46
-
47
- - |
48
- An inventory of letter-diacritic combinations, with their Unicode
49
- encoding, in addition to the unmodified letters of the basic Roman
50
- script is:
51
- All apostrophes appearing in romanization are U+2019 Ë (U+00CB)
52
- ë (U+00EB)
53
- - The Romanization column shows only lowercase forms but, when
54
- romanizing, uppercase and lowercase Roman letters as appropriate should
55
- be used.
56
-
57
- tests:
58
- - source: |
59
- Выборы депутатов Государственной Думы Федерального Собрания Российской Федерации седьмого созыва
60
- Дата голосования: 18.09.2016
61
-
62
- Наименование Избирательной комиссии: ЦИК России
63
-
64
- Сводная таблица результатов выборов по федеральному избирательному округу
65
-
66
-
67
- Число избирателей, внесенных в список избирателей на момент окончания голосования
68
- Число избирательных бюллетеней, полученных участковой избирательной комиссией
69
- Число избирательных бюллетеней, выданных избирателям, проголосовавшим досрочно
70
- Число избирательных бюллетеней, выданных в помещении для голосования в день голосования
71
- Число избирательных бюллетеней, выданных вне помещения для голосования в день голосования
72
- Число погашенных избирательных бюллетеней
73
- Число избирательных бюллетеней, содержащихся в переносных ящиках для голосования
74
- Число избирательных бюллетеней, содержащихся в стационарных ящиках для голосования
75
- Число недействительных избирательных бюллетеней
76
- Число действительных избирательных бюллетеней
77
- Число открепительных удостоверений, полученных участковой избирательной комиссией
78
- Число открепительных удостоверений, выданных на избирательном участке до дня голосования
79
- Число избирателей, проголосовавших по открепительным удостоверениям на избирательном участке
80
- Число погашенных неиспользованных открепительных удостоверений
81
- Число открепительных удостоверений, выданных избирателям территориальной избирательной комиссией
82
- Число утраченных открепительных удостоверений
83
- Число утраченных избирательных бюллетеней
84
- Число избирательных бюллетеней, не учтенных при получении
85
- 1. ВСЕРОССИЙСКАЯ ПОЛИТИЧЕСКАЯ ПАРТИЯ "РОДИНА"
86
- 2. Политическая партия КОММУНИСТИЧЕСКАЯ ПАРТИЯ КОММУНИСТЫ РОССИИ
87
- 3. Политическая партия "Российская партия пенсионеров за справедливость"
88
- 4. Всероссийская политическая партия "ЕДИНАЯ РОССИЯ"
89
- 5. Политическая партия "Российская экологическая партия "Зеленые"
90
- 6. Политическая партия "Гражданская Платформа"
91
- 7. Политическая партия ЛДПР - Либерально-демократическая партия России
92
- 8. Политическая партия "Партия народной свободы" (ПАРНАС)
93
- 9. Всероссийская политическая партия "ПАРТИЯ РОСТА"
94
- 10. Общественная организация Всероссийская политическая партия "Гражданская Сила"
95
- 11. Политическая партия "Российская объединенная демократическая партия "ЯБЛОКО"
96
- 12. Политическая партия "КОММУНИСТИЧЕСКАЯ ПАРТИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ"
97
- 13. Политическая партия "ПАТРИОТЫ РОССИИ"
98
- 14. Политическая партия СПРАВЕДЛИВАЯ РОССИЯ
99
-
100
- Данные окружных избирательных комиссий о числе открепительных удостоверений
101
-
102
-
103
- Число открепительных удостоверений, полученных окружной избирательной комиссией
104
- Число открепительных удостоверений, выданных территориальным избирательным комиссиям
105
- Число неиспользованных открепительных удостоверений, погашенных окружной избирательной комиссией
106
- Число открепительных удостоверений, утраченных в окружной избирательной комиссии
107
-
108
- expected: |
109
- Vybory deputatov Gosudarstvennoy Dumy Federal’nogo Sobraniya Rossiyskoy Federatsii sed’mogo sozyva
110
- Data golosovaniya: 18.09.2016
111
-
112
- Naimenovaniye Izbiratel’noy komissii: TSIK Rossii
113
-
114
- Svodnaya tablitsa rezul’tatov vyborov po federal’nomu izbiratel’nomu okrugu
115
-
116
-
117
- Chislo izbirateley, vnesennykh v spisok izbirateley na moment okonchaniya golosovaniya
118
- Chislo izbiratel’nykh byulleteney, poluchennykh uchastkovoy izbiratel’noy komissiyey
119
- Chislo izbiratel’nykh byulleteney, vydannykh izbiratelyam, progolosovavshim dosrochno
120
- Chislo izbiratel’nykh byulleteney, vydannykh v pomeshchenii dlya golosovaniya v den’ golosovaniya
121
- Chislo izbiratel’nykh byulleteney, vydannykh vne pomeshcheniya dlya golosovaniya v den’ golosovaniya
122
- Chislo pogashennykh izbiratel’nykh byulleteney
123
- Chislo izbiratel’nykh byulleteney, soderzhashchikhsya v perenosnykh yashchikakh dlya golosovaniya
124
- Chislo izbiratel’nykh byulleteney, soderzhashchikhsya v statsionarnykh yashchikakh dlya golosovaniya
125
- Chislo nedeystvitel’nykh izbiratel’nykh byulleteney
126
- Chislo deystvitel’nykh izbiratel’nykh byulleteney
127
- Chislo otkrepitel’nykh udostovereniy, poluchennykh uchastkovoy izbiratel’noy komissiyey
128
- Chislo otkrepitel’nykh udostovereniy, vydannykh na izbiratel’nom uchastke do dnya golosovaniya
129
- Chislo izbirateley, progolosovavshikh po otkrepitel’nym udostovereniyam na izbiratel’nom uchastke
130
- Chislo pogashennykh neispol’zovannykh otkrepitel’nykh udostovereniy
131
- Chislo otkrepitel’nykh udostovereniy, vydannykh izbiratelyam territorial’noy izbiratel’noy komissiyey
132
- Chislo utrachennykh otkrepitel’nykh udostovereniy
133
- Chislo utrachennykh izbiratel’nykh byulleteney
134
- Chislo izbiratel’nykh byulleteney, ne uchtennykh pri poluchenii
135
- 1. VSEROSSIYSKAYA POLITICHESKAYA PARTIYA "RODINA"
136
- 2. Politicheskaya partiya KOMMUNISTICHESKAYA PARTIYA KOMMUNISTY ROSSII
137
- 3. Politicheskaya partiya "Rossiyskaya partiya pensionerov za spravedlivost’"
138
- 4. Vserossiyskaya politicheskaya partiya "YEDINAYA ROSSIYA"
139
- 5. Politicheskaya partiya "Rossiyskaya ekologicheskaya partiya "Zelenyye"
140
- 6. Politicheskaya partiya "Grazhdanskaya Platforma"
141
- 7. Politicheskaya partiya LDPR - Liberal’no-demokraticheskaya partiya Rossii
142
- 8. Politicheskaya partiya "Partiya narodnoy svobody" (PARNAS)
143
- 9. Vserossiyskaya politicheskaya partiya "PARTIYA ROSTA"
144
- 10. Obshchestvennaya organizatsiya Vserossiyskaya politicheskaya partiya "Grazhdanskaya Sila"
145
- 11. Politicheskaya partiya "Rossiyskaya ob"yedinennaya demokraticheskaya partiya "YABLOKO"
146
- 12. Politicheskaya partiya "KOMMUNISTICHESKAYA PARTIYA ROSSIYSKOY FEDERATSII"
147
- 13. Politicheskaya partiya "PATRIOTY ROSSII"
148
- 14. Politicheskaya partiya SPRAVEDLIVAYA ROSSIYA
149
-
150
- Dannyye okruzhnykh izbiratel’nykh komissiy o chisle otkrepitel’nykh udostovereniy
151
-
152
-
153
- Chislo otkrepitel’nykh udostovereniy, poluchennykh okruzhnoy izbiratel’noy komissiyey
154
- Chislo otkrepitel’nykh udostovereniy, vydannykh territorial’nym izbiratel’nym komissiyam
155
- Chislo neispol’zovannykh otkrepitel’nykh udostovereniy, pogashennykh okruzhnoy izbiratel’noy komissiyey
156
- Chislo otkrepitel’nykh udostovereniy, utrachennykh v okruzhnoy izbiratel’noy komissii
157
- - source: ДЛИННОЕ ПОКРЫВАЛО
158
- expected: DLINNOYE POKRYVALO
159
- - source: Еловая шишка
160
- expected: Yelovaya shishka
161
- - source: ЕЛОВАЯ ШИШКА
162
- expected: YELOVAYA SHISHKA
163
- - source: Длинное покрывало
164
- expected: Dlinnoye pokryvalo
165
- - source: В лесу еловые шишки
166
- expected: V lesu yelovyye shishki
167
- - source: OН ВИДЕЛ ЕЁ В ПЕРВЫЙ РАЗ
168
- expected: ON VIDEL YEYË V PERVYY RAZ
169
- - source: Ёж колючий
170
- expected: Yëzh kolyuchiy
171
- - source: ЁЖ КОЛЮЧИЙ
172
- expected: YËZH KOLYUCHIY
173
- - source: Он видел её в первый раз
174
- expected: On videl yeyë v pervyy raz
175
- - source: У ёжа колючки
176
- expected: U yëzha kolyuchki
177
- - source: ЙА Йа йа
178
- expected: Y·A Y·a y·a
179
- - source: ЫУ Ыу ыу
180
- expected: Y·U Y·u y·u
181
- - source: ОЫ Оы оы
182
- expected: O·Y O·y o·y
183
- - source: ОЫУ Оыу оыу
184
- expected: O·Y·U O·y·u o·y·u
185
- - source: СЭ Сэ сэ
186
- expected: S·E S·e s·e
187
- - source: ТС тс Тс тС
188
- expected: T·S t·s T·s t·S
189
- - source: ШЧ шч Шч шЧ
190
- expected: SH·CH sh·ch Sh·ch sh·Ch
191
-
192
- map:
193
- rules:
194
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь])\u0401 # Ё after a, e, ё, и, о, у, ы, э, ю, я, й, ъ, ь
195
- result: "Y\u00eb"
196
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь])\u0451 # ё after a, e, ё, и, о, у, ы, э, ю, я, й, ъ, ь
197
- result: "y\u00eb"
198
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь])\u0415 # Е after a, e, ё, и, о, у, ы, э, ю, я, й, ъ, ь
199
- result: "Y\u0415"
200
- - pattern: \b\u0415 # Е initially
201
- result: "Y\u0435"
202
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь])\u0435 # е after a, e, ё, и, о, у, ы, э, ю, я, й, ъ, ь
203
- result: "y\u0435"
204
- - pattern: \b\u0435 # е initially
205
- result: "y\u0435"
206
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь])\u0401 # Ё after a, e, ё, и, о, у, ы, э, ю, я, й, ъ, ь
207
- result: "Y\u00eb"
208
- - pattern: \b\u0401
209
- result: "Y\u00eb"
210
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯяЙйЪъЬь])\u0451 # ё after a, e, ё, и, о, у, ы, э, ю, я, й, ъ, ь
211
- result: "y\u00eb"
212
- - pattern: \b\u0451
213
- result: "y\u00eb"
214
- - pattern: \u0419(?=[АаУуЫыЭэ]) # Й before а, у, ы, or э
215
- result: "Y\u00b7"
216
- - pattern: \u0439(?=[АаУуЫыЭэ]) # й before а, у, ы, or э
217
- result: "y\u00b7"
218
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯя])\u042b(?=[АаУуЫыЭэ]) # Ы after any vowel character and before а, у, ы, or э
219
- result: "\u00b7Y\u00b7"
220
- - pattern: (?<=[АаЕеЁёИиОоУуЫыЭэЮюЯя])\u044b(?=[АаУуЫыЭэ]) # ы after any vowel character and before а, у, ы, or э
221
- result: "\u00b7y\u00b7"
222
- - pattern: \u042b(?=[АаУуЫыЭэ]) # Ы before а, у, ы, or э
223
- result: "Ы\u00b7"
224
- - pattern: \u044b(?=[АаУуЫыЭэ]) # ы before а, у, ы, or э
225
- result: "ы\u00b7"
226
- - pattern: (?<=[Оо])\u042b # Ы after о
227
- result: "\u00b7Y"
228
- - pattern: (?<=[Оо])\u044b # ы after о
229
- result: "\u00b7y"
230
- - pattern: \b\u0401
231
- result: "Y\u00eb"
232
- - pattern: \b\u0451
233
- result: "y\u00eb"
234
- - pattern: (?<=[БбВвГгДдЖжЗзКкЛлМмНнПпРрСсТтФфХхЦцЧчШшЩщ])\u042d # Э after any consonant character except й
235
- result: "\u00b7E"
236
- - pattern: (?<=[БбВвГгДдЖжЗзКкЛлМмНнПпРрСсТтФфХхЦцЧчШшЩщ])\u044d # э after any consonant character except й
237
- result: "\u00b7e"
238
- - pattern: (Т|т)(С|с) # тс => t·s
239
- result: "\\1\u00b7\\2"
240
- - pattern: (Ш|ш)(Ч|ч) # шч => sh·ch
241
- result: "\\1\u00b7\\2"
242
-
243
- postrules:
244
-
245
- #YE
246
- - pattern: "((?<=[[:upper:]])Ye(?=[[:upper:]])?|(?<=[[:upper:]])?Ye(?=[[:upper:]]))"
247
- result: "YE"
248
- #YË
249
- - pattern: "((?<=[[:upper:]])Yë(?=[[:upper:]])?|(?<=[[:upper:]])?Yë(?=[[:upper:]]))"
250
- result: "YË"
251
-
252
- characters:
253
- "\u0410": "A"
254
- "\u0411": "B"
255
- "\u0412": "V"
256
- "\u0413": "G"
257
- "\u0414": "D"
258
- "\u0415": "E"
259
- "\u0401": "\u00cb" # Ё
260
- "\u0416": "Zh"
261
- "\u0417": "Z"
262
- "\u0418": "I"
263
- "\u0419": "Y"
264
- "\u041a": "K"
265
- "\u041b": "L"
266
- "\u041c": "M"
267
- "\u041d": "N"
268
- "\u041e": "O"
269
- "\u041f": "P"
270
- "\u0420": "R"
271
- "\u0421": "S"
272
- "\u0422": "T"
273
- "\u0423": "U"
274
- "\u0424": "F"
275
- "\u0425": "Kh"
276
- "\u0426": "Ts"
277
- "\u0427": "Ch"
278
- "\u0428": "Sh"
279
- "\u0429": "Shch"
280
- "\u042a": "\"" # Ъ
281
- "\u042b": "Y"
282
- "\u042c": "\u2019" # Ь => ’
283
- "\u042d": "E"
284
- "\u042e": "Yu"
285
- "\u042f": "Ya"
286
- "\u0430": "a"
287
- "\u0431": "b"
288
- "\u0432": "v"
289
- "\u0433": "g"
290
- "\u0434": "d"
291
- "\u0435": "e"
292
- "\u0451": "\u00eb" # ё
293
- "\u0436": "zh"
294
- "\u0437": "z"
295
- "\u0438": "i"
296
- "\u0439": "y"
297
- "\u043a": "k"
298
- "\u043b": "l"
299
- "\u043c": "m"
300
- "\u043d": "n"
301
- "\u043e": "o"
302
- "\u043f": "p"
303
- "\u0440": "r"
304
- "\u0441": "s"
305
- "\u0442": "t"
306
- "\u0443": "u"
307
- "\u0444": "f"
308
- "\u0445": "kh"
309
- "\u0446": "ts"
310
- "\u0447": "ch"
311
- "\u0448": "sh"
312
- "\u0449": "shch"
313
- "\u044a": "\"" # ъ
314
- "\u044b": "y"
315
- "\u044c": "\u2019" # ь => ’
316
- "\u044d": "e"
317
- "\u044e": "yu"
318
- "\u044f": "ya"
@@ -1,73 +0,0 @@
1
- ---
2
- authority_id: bgnpcgn
3
- id: 1962
4
- language: iso-639-2:srp
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: TRANSLITERATION OF SERBIAN CYRILLIC
8
- creation_date: 1962
9
- confirmation_date: 1962
10
- description: |
11
- Serbo-Croatian, the official national language of Yugoslavia, is a single literary language.
12
- In Serbian areas it is written in the cyrillic (Serbian) alphabet, while in Croatian areas it is
13
- written in the roman (Croatian) alphabet.
14
- Both the BGN and PCGN use the standard Croation equivalents for fomanizing the Serbian cyrillic
15
- alphabet whenether romanized names are not available.
16
-
17
- notes:
18
- - The digraph dj(Dj) will occasionally be found as the Croatian equivalent of ђ(Ђ),
19
- but the use of dj should be limited to those instances where it is found in roman sources.
20
-
21
- tests:
22
- - source: Шупља Стена
23
- expected: Šuplja Stena
24
- - source: Чукарица
25
- expected: Čukarica
26
- - source: Црна Трава
27
- expected: Crna Trava
28
- - source: Херцег Нови
29
- expected: Herceg Novi
30
- - source: Улцињ
31
- expected: Ulcinj
32
- - source: Ужице
33
- expected: Užice
34
- - source: Тресаначка Река
35
- expected: Tresanačka Reka
36
- - source: Сјеница
37
- expected: Sjenica
38
- - source: Рожаје
39
- expected: Rožaje
40
- - source: Пљевља
41
- expected: Pljevlja
42
- - source: Оџаци
43
- expected: Odžaci
44
- - source: Никшић
45
- expected: Nikšić
46
- - source: Медвеђа
47
- expected: Medveđa
48
- - source: Лозница
49
- expected: Loznica
50
- - source: Књажевац
51
- expected: Knjaževac
52
- - source: Зрењанин
53
- expected: Zrenjanin
54
- - source: Житорађа
55
- expected: Žitorađa
56
- - source: Ервеник
57
- expected: Ervenik
58
- - source: Доње Љупче
59
- expected: Donje Ljupče
60
- - source: Гусиње
61
- expected: Gusinje
62
- - source: ГУСИЊЕ
63
- expected: GUSINJE
64
- - source: Врњачка Бања
65
- expected: Vrnjačka Banja
66
- - source: Бијело Поље
67
- expected: Bijelo Polje
68
- - source: Алибунар
69
- expected: Alibunar
70
-
71
- map:
72
- inherit: bgnpcgn-srp-Cyrl-Latn-2005
73
- postrules:
@@ -1,170 +0,0 @@
1
- ---
2
- authority_id: bgnpcgn
3
- id: 2005
4
- language: iso-639-2:srp
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: ROMANIZATION OF SERBIAN, BGN/PCGN 2005 System
8
- alias:
9
- ogc11122:
10
- code: srp_Cyrl2Latn_BGN_2005
11
- description: Serbian Cyrillic Table of Correspondences US Board on Geographic Names(BGN)/Permanent Committee on Geographical Names for British Official Use(PCGN) 2005
12
- url: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/816783/TABLE_OF_CORRESPONDENCES_FOR_SERBIAN.pdf
13
- creation_date: 2005
14
- confirmation_date: 2019-06
15
- description: |
16
- The tabulation below reflects the Serbian Cyrillic alphabet and the standard Roman script equivalents
17
- used in both Serbia and Montenegro.
18
-
19
- notes:
20
- - The Serbian Cyrillic lowercase italic Д may sometimes be seen as g.
21
- There is no specific Unicode encoding for this variant form so a comparable character
22
- has been used here for illustrative purposes.
23
-
24
- - The digraph dj(Dj) will occasionally be found as an alternative form of đ(Đ).
25
-
26
- - The Serbian Cyrillic lowercase italic П may sometimes be seen as ӣ.
27
- There is no specific Unicode encoding for this variant form so a comparable character
28
- has been used here for illustrative purposes.
29
-
30
- - The Serbian Cyrillic lowercase italic Т may sometimes be seen as w.
31
- There is no specific Unicode encoding for this variant form so a comparable character
32
- has been used here for illustrative purposes.
33
-
34
- - |
35
- An inventory of letter-diacritic combinations, with their Unicode encoding,
36
- in addition to the unmodified letters of the basic Roman script is:
37
- | Đ (U+0110) | đ (U+0111) |
38
- | Ž (U+017D) | ž (U+017E) |
39
- | Lj (U+01C8)* | lj (U+01C9)* |
40
- | Ć (U+0106) | ć (U+0107) |
41
- | Dž (U+01C5)* | dž (U+01C6)* |
42
- | Š (U+0160) | š (U+0161) |
43
- * Note that these characters can also be reproduced with individual letters (e.g. l+j).
44
-
45
- - The Roman-script columns show only lowercase forms but, when applying the table,
46
- uppercase and lowercase Roman letters as appropriate should be used.
47
-
48
- tests:
49
- - source: Шупља Стена
50
- expected: Šuplja Stena
51
- - source: Чукарица
52
- expected: Čukarica
53
- - source: Црна Трава
54
- expected: Crna Trava
55
- - source: Херцег Нови
56
- expected: Herceg Novi
57
- - source: Улцињ
58
- expected: Ulcinj
59
- - source: Ужице
60
- expected: Užice
61
- - source: Тресаначка Река
62
- expected: Tresanačka Reka
63
- - source: Сјеница
64
- expected: Sjenica
65
- - source: Рожаје
66
- expected: Rožaje
67
- - source: Пљевља
68
- expected: Pljevlja
69
- - source: Оџаци
70
- expected: Odžaci
71
- - source: Никшић
72
- expected: Nikšić
73
- - source: Медвеђа
74
- expected: Medveđa
75
- - source: Лозница
76
- expected: Loznica
77
- - source: Књажевац
78
- expected: Knjaževac
79
- - source: Зрењанин
80
- expected: Zrenjanin
81
- - source: Житорађа
82
- expected: Žitorađa
83
- - source: Ервеник
84
- expected: Ervenik
85
- - source: Доње Љупче
86
- expected: Donje Ljupče
87
- - source: Гусиње
88
- expected: Gusinje
89
- - source: ГУСИЊЕ
90
- expected: GUSINJE
91
- - source: Врњачка Бања
92
- expected: Vrnjačka Banja
93
- - source: Бијело Поље
94
- expected: Bijelo Polje
95
- - source: Алибунар
96
- expected: Alibunar
97
-
98
- map:
99
- postrules:
100
- #LJ
101
- - pattern: "((?<=[[:upper:]])Lj(?=[[:upper:]])?|(?<=[[:upper:]])?Lj(?=[[:upper:]]))"
102
- result: "LJ"
103
- #NJ
104
- - pattern: "((?<=[[:upper:]])Nj(?=[[:upper:]])?|(?<=[[:upper:]])?Nj(?=[[:upper:]]))"
105
- result: "NJ"
106
- #DŽ
107
- - pattern: "((?<=[[:upper:]])Dž(?=[[:upper:]])?|(?<=[[:upper:]])?Dž(?=[[:upper:]]))"
108
- result: "DŽ"
109
-
110
- characters:
111
- "\u0410": "A"
112
- "\u0411": "B"
113
- "\u0412": "V"
114
- "\u0413": "G"
115
- "\u0414": "D"
116
- "\u0402": "\u0110" # Đ
117
- "\u0415": "E"
118
- "\u0416": "\u005a\u030c" # Ž
119
- "\u0417": "Z"
120
- "\u0418": "I"
121
- "\u0408": "J"
122
- "\u041A": "K"
123
- "\u041B": "L"
124
- "\u0409": "Lj"
125
- "\u041C": "M"
126
- "\u041D": "N"
127
- "\u040A": "Nj"
128
- "\u041E": "O"
129
- "\u041F": "P"
130
- "\u0420": "R"
131
- "\u0421": "S"
132
- "\u0422": "T"
133
- "\u040B": "\u0043\u0301" # Ć
134
- "\u0423": "U"
135
- "\u0424": "F"
136
- "\u0425": "H"
137
- "\u0426": "C"
138
- "\u0427": "\u0043\u030c" # Č
139
- "\u040F": "D\u007a\u030c" # Dž
140
- "\u0428": "\u0053\u030c" # Š
141
- "\u0430": "a"
142
- "\u0431": "b"
143
- "\u0432": "v"
144
- "\u0433": "g"
145
- "\u0434": "d"
146
- "\u0452": "\u0111" # đ
147
- "\u0435": "e"
148
- "\u0436": "\u007a\u030c" # ž
149
- "\u0437": "z"
150
- "\u0438": "i"
151
- "\u0458": "j"
152
- "\u043A": "k"
153
- "\u043B": "l"
154
- "\u0459": "lj"
155
- "\u043C": "m"
156
- "\u043D": "n"
157
- "\u045A": "nj"
158
- "\u043E": "o"
159
- "\u043F": "p"
160
- "\u0440": "r"
161
- "\u0441": "s"
162
- "\u0442": "t"
163
- "\u045B": "\u0063\u0301" # ć́
164
- "\u0443": "u"
165
- "\u0444": "f"
166
- "\u0445": "h"
167
- "\u0446": "c"
168
- "\u0447": "\u0063\u030c" # č
169
- "\u045F": "d\u007a\u030c" # dž
170
- "\u0448": "\u0073\u030c" # š