interscript-maps 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 (291) hide show
  1. checksums.yaml +7 -0
  2. data/README.adoc +28 -0
  3. data/interscript-maps.gemspec +28 -0
  4. data/interscript-maps.yaml +235 -0
  5. data/libs/posix.iml +11 -0
  6. data/libs/unicode.iml +13 -0
  7. data/libs/var-Cyrl.iml +7 -0
  8. data/libs/var-kor.iml +17 -0
  9. data/maps-staging/royin-tha-Thai-Latn-1939-generic.imp +98 -0
  10. data/maps-staging/royin-tha-Thai-Latn-1968.imp +156 -0
  11. data/maps-staging/royin-tha-Thai-Latn-1999-chained.imp +161 -0
  12. data/maps-staging/royin-tha-Thai-Latn-1999.imp +78 -0
  13. data/maps-staging/var-tha-Thai-Thai-phonemic.imp +53 -0
  14. data/maps-staging/var-tha-Thai-Zsym-ipa.imp +273 -0
  15. data/maps/acadsin-zho-Hani-Latn-2002.imp +27515 -0
  16. data/maps/alalc-amh-Ethi-Latn-1997.imp +392 -0
  17. data/maps/alalc-amh-Ethi-Latn-2011.imp +85 -0
  18. data/maps/alalc-ara-Arab-Latn-1997.imp +1171 -0
  19. data/maps/alalc-asm-Deva-Latn-1997.imp +214 -0
  20. data/maps/alalc-asm-Deva-Latn-2012.imp +53 -0
  21. data/maps/alalc-aze-Arab-Latn-1997.imp +321 -0
  22. data/maps/alalc-aze-Cyrl-Latn-1997.imp +101 -0
  23. data/maps/alalc-bel-Cyrl-Latn-1997.imp +118 -0
  24. data/maps/alalc-ben-Beng-Latn-1997.imp +225 -0
  25. data/maps/alalc-ben-Beng-Latn-2017.imp +135 -0
  26. data/maps/alalc-bul-Cyrl-Latn-1997.imp +110 -0
  27. data/maps/alalc-div-Thaa-Latn-1997.imp +171 -0
  28. data/maps/alalc-ell-Grek-Latn-1997.imp +381 -0
  29. data/maps/alalc-ell-Grek-Latn-2010.imp +382 -0
  30. data/maps/alalc-guj-Gujr-Latn-1997.imp +223 -0
  31. data/maps/alalc-guj-Gujr-Latn-2011.imp +57 -0
  32. data/maps/alalc-hin-Deva-Latn-1997.imp +248 -0
  33. data/maps/alalc-hin-Deva-Latn-2011.imp +63 -0
  34. data/maps/alalc-kan-Kana-Latn-1997.imp +233 -0
  35. data/maps/alalc-kan-Kana-Latn-2011.imp +58 -0
  36. data/maps/alalc-kat-Geok-Latn-1997.imp +109 -0
  37. data/maps/alalc-kat-Geor-Latn-1997.imp +104 -0
  38. data/maps/alalc-kor-Hang-Latn-1997.imp +68 -0
  39. data/maps/alalc-mal-Mlym-Latn-1997.imp +260 -0
  40. data/maps/alalc-mal-Mlym-Latn-2012.imp +65 -0
  41. data/maps/alalc-mar-Deva-Latn-1997.imp +178 -0
  42. data/maps/alalc-mar-Deva-Latn-2011.imp +51 -0
  43. data/maps/alalc-mkd-Cyrl-Latn-1997.imp +125 -0
  44. data/maps/alalc-mkd-Cyrl-Latn-2013.imp +113 -0
  45. data/maps/alalc-mon-Cyrl-Latn-1997.imp +161 -0
  46. data/maps/alalc-ori-Orya-Latn-1997.imp +234 -0
  47. data/maps/alalc-ori-Orya-Latn-2011.imp +59 -0
  48. data/maps/alalc-pan-Guru-Latn-1997.imp +241 -0
  49. data/maps/alalc-pan-Guru-Latn-2011.imp +71 -0
  50. data/maps/alalc-per-Arab-Latn-1997.imp +318 -0
  51. data/maps/alalc-pli-Deva-Latn-2012.imp +140 -0
  52. data/maps/alalc-pra-Deva-Latn-2012.imp +52 -0
  53. data/maps/alalc-rus-Cyrl-Latn-1997.imp +165 -0
  54. data/maps/alalc-rus-Cyrl-Latn-2012.imp +107 -0
  55. data/maps/alalc-san-Deva-Latn-2012.imp +207 -0
  56. data/maps/alalc-sin-Sinh-Latn-1997.imp +246 -0
  57. data/maps/alalc-sin-Sinh-Latn-2011.imp +63 -0
  58. data/maps/alalc-srp-Cyrl-Latn-1997.imp +124 -0
  59. data/maps/alalc-srp-Cyrl-Latn-2013.imp +115 -0
  60. data/maps/alalc-tam-Taml-Latn-1997.imp +52 -0
  61. data/maps/alalc-tam-Taml-Latn-2011.imp +49 -0
  62. data/maps/alalc-tel-Telu-Latn-1997.imp +237 -0
  63. data/maps/alalc-tel-Telu-Latn-2011.imp +58 -0
  64. data/maps/alalc-ukr-Cyrl-Latn-1997.imp +123 -0
  65. data/maps/alalc-ukr-Cyrl-Latn-2011.imp +32 -0
  66. data/maps/apcbg-bul-Cyrl-Latn-1995.imp +194 -0
  67. data/maps/az-aze-Cyrl-Latn-1939.imp +105 -0
  68. data/maps/az-aze-Cyrl-Latn-1958.imp +50 -0
  69. data/maps/bas-rus-Cyrl-Latn-2017-bss.imp +160 -0
  70. data/maps/bas-rus-Cyrl-Latn-2017-oss.imp +165 -0
  71. data/maps/bgn-jpn-Hrkt-Latn-1962.imp +288 -0
  72. data/maps/bgn-kor-Hang-Latn-1943.imp +31 -0
  73. data/maps/bgn-kor-Kore-Latn-1943.imp +33 -0
  74. data/maps/bgna-bul-Cyrl-Latn-2006.imp +119 -0
  75. data/maps/bgna-bul-Cyrl-Latn-2009.imp +119 -0
  76. data/maps/bgnpcgn-amh-Ethi-Latn-1967.imp +393 -0
  77. data/maps/bgnpcgn-ara-Arab-Latn-1956.imp +472 -0
  78. data/maps/bgnpcgn-arm-Armn-Latn-1981.imp +125 -0
  79. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.imp +111 -0
  80. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.imp +169 -0
  81. data/maps/bgnpcgn-bal-Arab-Latn-2008.imp +296 -0
  82. data/maps/bgnpcgn-bel-Cyrl-Latn-1979.imp +200 -0
  83. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.imp +137 -0
  84. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.imp +38 -0
  85. data/maps/bgnpcgn-che-Cyrl-Latn-2008.imp +176 -0
  86. data/maps/bgnpcgn-deu-Latn-Latn-2000.imp +56 -0
  87. data/maps/bgnpcgn-div-Thaa-Latn-1972.imp +90 -0
  88. data/maps/bgnpcgn-div-Thaa-Latn-1988.imp +71 -0
  89. data/maps/bgnpcgn-ell-Grek-Latn-1962.imp +443 -0
  90. data/maps/bgnpcgn-ell-Grek-Latn-1996.imp +269 -0
  91. data/maps/bgnpcgn-fao-Latn-Latn-1964.imp +41 -0
  92. data/maps/bgnpcgn-fao-Latn-Latn-1968.imp +28 -0
  93. data/maps/bgnpcgn-fas-Arab-Latn-1956.imp +111 -0
  94. data/maps/bgnpcgn-isl-Latn-Latn-1964.imp +42 -0
  95. data/maps/bgnpcgn-isl-Latn-Latn-1968.imp +32 -0
  96. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.imp +191 -0
  97. data/maps/bgnpcgn-kat-Geor-Latn-1981.imp +116 -0
  98. data/maps/bgnpcgn-kat-Geor-Latn-2009.imp +43 -0
  99. data/maps/bgnpcgn-kaz-Cyrl-Latn-1979.imp +193 -0
  100. data/maps/bgnpcgn-kir-Cyrl-Latn-1979.imp +170 -0
  101. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.imp +177 -0
  102. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.imp +40 -0
  103. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.imp +41 -0
  104. data/maps/bgnpcgn-kur-Arab-Latn-2007.imp +240 -0
  105. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.imp +132 -0
  106. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.imp +174 -0
  107. data/maps/bgnpcgn-mon-Cyrl-Latn-1964.imp +168 -0
  108. data/maps/bgnpcgn-nep-Deva-Latn-2011.imp +208 -0
  109. data/maps/bgnpcgn-per-Arab-Latn-1958.imp +312 -0
  110. data/maps/bgnpcgn-prs-Arab-Latn-2007.imp +552 -0
  111. data/maps/bgnpcgn-prs-Arab-Latn-yaghoubi.imp +445 -0
  112. data/maps/bgnpcgn-pus-Arab-Latn-1968.imp +289 -0
  113. data/maps/bgnpcgn-ron-cyrl-latn-2002.imp +165 -0
  114. data/maps/bgnpcgn-rue-Cyrl-Latn-2016.imp +133 -0
  115. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.imp +195 -0
  116. data/maps/bgnpcgn-sme-Latn-Latn-1984.imp +48 -0
  117. data/maps/bgnpcgn-srp-Cyrl-Latn-1962.imp +55 -0
  118. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.imp +146 -0
  119. data/maps/bgnpcgn-tat-Cyrl-Latn-2007.imp +185 -0
  120. data/maps/bgnpcgn-tgk-Cyrl-Latn-1994.imp +188 -0
  121. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.imp +136 -0
  122. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.imp +88 -0
  123. data/maps/bgnpcgn-urd-Arab-Latn-2007.imp +333 -0
  124. data/maps/bgnpcgn-uzb-Cyrl-Latn-1979.imp +145 -0
  125. data/maps/bgnpcgn-uzb-Cyrl-Latn-2000.imp +74 -0
  126. data/maps/bgnpcgn-zho-Hans-Latn-1979.imp +7463 -0
  127. data/maps/bis-asm-Beng-Latn-13194-1991.imp +154 -0
  128. data/maps/bis-ben-Beng-Latn-13194-1991.imp +151 -0
  129. data/maps/bis-dev-Deva-Latn-13194-1991.imp +178 -0
  130. data/maps/bis-guj-Gujr-Latn-13194-1991.imp +172 -0
  131. data/maps/bis-kan-Kana-Latn-13194-1991.imp +166 -0
  132. data/maps/bis-mlm-Mlym-Latn-13194-1991.imp +170 -0
  133. data/maps/bis-ori-Orya-Latn-13194-1991.imp +168 -0
  134. data/maps/bis-pnj-Guru-Latn-13194-1991.imp +169 -0
  135. data/maps/bis-tel-Telu-Latn-13194-1991.imp +165 -0
  136. data/maps/bis-tml-Taml-Latn-13194-1991.imp +149 -0
  137. data/maps/by-bel-Cyrl-Latn-1998.imp +123 -0
  138. data/maps/by-bel-Cyrl-Latn-2007.imp +77 -0
  139. data/maps/din-grc-Grek-Latn-31634-2011-t1.imp +627 -0
  140. data/maps/din-hin-Deva-Latn-33904-2018.imp +101 -0
  141. data/maps/din-kat-Geor-Latn-32707-2010.imp +103 -0
  142. data/maps/din-mar-Deva-Latn-33904-2018.imp +83 -0
  143. data/maps/din-nep-Deva-Latn-33904-2018.imp +110 -0
  144. data/maps/din-pli-Deva-Latn-33904-2018.imp +72 -0
  145. data/maps/din-pra-Deva-Latn-33904-2018.imp +66 -0
  146. data/maps/din-san-Deva-Latn-33904-2018.imp +294 -0
  147. data/maps/din-tam-Taml-Latn-33903-2016.imp +187 -0
  148. data/maps/dos-nep-Deva-Latn-1997.imp +47 -0
  149. data/maps/elot-ell-Grek-Latn-743-1982-tl.imp +399 -0
  150. data/maps/elot-ell-Grek-Latn-743-1982-ts.imp +397 -0
  151. data/maps/elot-ell-Grek-Latn-743-2001-tl.imp +34 -0
  152. data/maps/elot-ell-Grek-Latn-743-2001-ts.imp +178 -0
  153. data/maps/ggg-kat-Geor-Latn-2002.imp +75 -0
  154. data/maps/gki-bel-Cyrl-Latn-1992.imp +44 -0
  155. data/maps/gki-bel-Cyrl-Latn-2000.imp +159 -0
  156. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.imp +179 -0
  157. data/maps/gost-rus-Cyrl-Latn-7.79-2000-2002.imp +132 -0
  158. data/maps/hk-yue-Hani-Latn-1888.imp +29201 -0
  159. data/maps/icao-bel-Cyrl-Latn-9303.imp +136 -0
  160. data/maps/icao-bul-Cyrl-Latn-9303.imp +127 -0
  161. data/maps/icao-fas-Arab-Latn-9303.imp +112 -0
  162. data/maps/icao-heb-Hebr-Latn-9303.imp +160 -0
  163. data/maps/icao-mkd-Cyrl-Latn-9303.imp +126 -0
  164. data/maps/icao-rus-Cyrl-Latn-9303.imp +126 -0
  165. data/maps/icao-srp-Cyrl-Latn-9303.imp +126 -0
  166. data/maps/icao-ukr-Cyrl-Latn-9303.imp +127 -0
  167. data/maps/iso-ara-Arab-Latn-233-1984.imp +301 -0
  168. data/maps/iso-asm-Beng-Latn-15919-2001.imp +73 -0
  169. data/maps/iso-ben-Beng-Latn-15919-2001.imp +171 -0
  170. data/maps/iso-ell-Grek-Latn-843-1997-t1.imp +365 -0
  171. data/maps/iso-ell-Grek-Latn-843-1997-t2.imp +43 -0
  172. data/maps/iso-guj-Gujr-Latn-15919-2001.imp +214 -0
  173. data/maps/iso-hin-Deva-Latn-15919-2001.imp +73 -0
  174. data/maps/iso-inc-Deva-Latn-15919-2001.imp +61 -0
  175. data/maps/iso-jpn-Hrkt-Latn-3602-1989.imp +59 -0
  176. data/maps/iso-kan-Kana-Latn-15919-2001.imp +212 -0
  177. data/maps/iso-kat-Geor-Latn-9984-1996.imp +103 -0
  178. data/maps/iso-kor-Hang-Latn-1996-method1.imp +140 -0
  179. data/maps/iso-kor-Hang-Latn-1996-method2.imp +132 -0
  180. data/maps/iso-mal-Mlym-Latn-15919-2001.imp +276 -0
  181. data/maps/iso-mar-Deva-Latn-15919-2001.imp +68 -0
  182. data/maps/iso-nep-Deva-Latn-15919-2001.imp +75 -0
  183. data/maps/iso-ori-Orya-Latn-15919-2001.imp +188 -0
  184. data/maps/iso-pan-Guru-Latn-15919-2001.imp +217 -0
  185. data/maps/iso-pli-Beng-Latn-15919-2001.imp +66 -0
  186. data/maps/iso-pli-Deva-Latn-15919-2001.imp +68 -0
  187. data/maps/iso-pli-Sinh-Latn-15919-2001.imp +211 -0
  188. data/maps/iso-pli-Thai-Latn-15919-2001.imp +47 -0
  189. data/maps/iso-pra-Deva-Latn-15919-2001.imp +60 -0
  190. data/maps/iso-prs-Arab-Latn-233-3-1999.imp +352 -0
  191. data/maps/iso-rus-Cyrl-Latn-9-1995.imp +279 -0
  192. data/maps/iso-san-Deva-Latn-15919-2001.imp +215 -0
  193. data/maps/iso-tam-Taml-Latn-15919-2001.imp +153 -0
  194. data/maps/iso-tel-Telu-Latn-15919-2001.imp +214 -0
  195. data/maps/iso-tha-Thai-Latn-11940-1998.imp +114 -0
  196. data/maps/kp-kor-Hang-Latn-2002.imp +540 -0
  197. data/maps/lshk-yue-Hani-Latn-jyutping-1993.imp +29005 -0
  198. data/maps/masm-mon-Cyrl-Latn-5217-2012.imp +136 -0
  199. data/maps/masm-mon-Latn-Cyrl-5217-2012.imp +162 -0
  200. data/maps/mext-jpn-Hrkt-Latn-1954.imp +403 -0
  201. data/maps/moct-kor-Hang-Latn-2000.imp +475 -0
  202. data/maps/mofa-jpn-Hrkt-Latn-1989.imp +484 -0
  203. data/maps/mv-div-Thaa-Latn-1987.imp +144 -0
  204. data/maps/mvd-bel-Cyrl-Latn-2008.imp +224 -0
  205. data/maps/mvd-bel-Cyrl-Latn-2010.imp +64 -0
  206. data/maps/mvd-rus-Cyrl-Latn-2008.imp +110 -0
  207. data/maps/mvd-rus-Cyrl-Latn-2010.imp +40 -0
  208. data/maps/odni-ara-Arab-Latn-2004.imp +106 -0
  209. data/maps/odni-ara-Arab-Latn-2015.imp +281 -0
  210. data/maps/odni-aze-Cyrl-Latn-2015.imp +158 -0
  211. data/maps/odni-bel-Cyrl-Latn-2015.imp +138 -0
  212. data/maps/odni-bul-Cyrl-Latn-2005.imp +90 -0
  213. data/maps/odni-bul-Cyrl-Latn-2015.imp +103 -0
  214. data/maps/odni-che-Cyrl-Latn-2015.imp +165 -0
  215. data/maps/odni-fas-Arab-Latn-2004.imp +268 -0
  216. data/maps/odni-fas-Arab-Latn-2015.imp +398 -0
  217. data/maps/odni-hin-Deva-Latn-2004.imp +180 -0
  218. data/maps/odni-hin-Deva-Latn-2015.imp +256 -0
  219. data/maps/odni-kat-Geor-Latn-2015.imp +76 -0
  220. data/maps/odni-kaz-Cyrl-Latn-2015.imp +164 -0
  221. data/maps/odni-kir-Cyrl-Latn-2015.imp +149 -0
  222. data/maps/odni-kor-Hang-Latn-2015.imp +307 -0
  223. data/maps/odni-mkd-Cyrl-Latn-2005.imp +28 -0
  224. data/maps/odni-mkd-Cyrl-Latn-2015.imp +124 -0
  225. data/maps/odni-prs-Arab-Latn-2004.imp +120 -0
  226. data/maps/odni-prs-Arab-Latn-2015.imp +225 -0
  227. data/maps/odni-pus-Arab-Latn-2011.imp +327 -0
  228. data/maps/odni-rus-Cyrl-Latn-2015.imp +79 -0
  229. data/maps/odni-srp-Cyrl-Latn-2005.imp +35 -0
  230. data/maps/odni-srp-Cyrl-Latn-2015.imp +130 -0
  231. data/maps/odni-tat-Cyrl-Latn-2015.imp +157 -0
  232. data/maps/odni-tgk-Cyrl-Latn-2015.imp +161 -0
  233. data/maps/odni-tuk-Cyrl-Latn-2015.imp +159 -0
  234. data/maps/odni-uig-Cyrl-Latn-2015.imp +151 -0
  235. data/maps/odni-ukr-Cyrl-Latn-2015.imp +136 -0
  236. data/maps/odni-urd-Arab-Latn-2015.imp +220 -0
  237. data/maps/odni-uzb-Cyrl-Latn-2015.imp +165 -0
  238. data/maps/sac-zho-Hans-Latn-1979.imp +20940 -0
  239. data/maps/sasm-mon-Mong-Latn-general-1978.imp +294 -0
  240. data/maps/sasm-mon-Mong-Latn-phonetic-1978.imp +261 -0
  241. data/maps/ses-ara-Arab-Latn-1930.imp +225 -0
  242. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.imp +171 -0
  243. data/maps/ua-ukr-Cyrl-Latn-1996.imp +149 -0
  244. data/maps/ua-ukr-Cyrl-Latn-2007.imp +69 -0
  245. data/maps/ua-ukr-Cyrl-Latn-2010.imp +128 -0
  246. data/maps/un-amh-Ethi-Latn-2016.imp +483 -0
  247. data/maps/un-ara-Arab-Latn-1971.imp +137 -0
  248. data/maps/un-ara-Arab-Latn-1972.imp +155 -0
  249. data/maps/un-ara-Arab-Latn-2017.imp +375 -0
  250. data/maps/un-asm-Beng-Latn-1972.imp +188 -0
  251. data/maps/un-bel-Cyrl-Latn-2007.imp +78 -0
  252. data/maps/un-ben-Beng-Latn-2016.imp +516 -0
  253. data/maps/un-ell-Grek-Latn-1987-phonetic.imp +437 -0
  254. data/maps/un-ell-Grek-Latn-1987-tl.imp +27 -0
  255. data/maps/un-ell-Grek-Latn-1987-ts.imp +269 -0
  256. data/maps/un-guj-Gujr-Latn-1972.imp +196 -0
  257. data/maps/un-hin-Deva-Latn-2016.imp +356 -0
  258. data/maps/un-kan-Kana-Latn-2016.imp +214 -0
  259. data/maps/un-mal-Mlym-Latn-1972.imp +215 -0
  260. data/maps/un-mar-Deva-Latn-2016.imp +96 -0
  261. data/maps/un-mon-Mong-Latn-general-2013.imp +170 -0
  262. data/maps/un-mon-Mong-Latn-phonetic-2013.imp +170 -0
  263. data/maps/un-nep-Deva-Latn-1972.imp +295 -0
  264. data/maps/un-nep-Deva-Latn-2013.imp +62 -0
  265. data/maps/un-ori-Orya-Latn-1972.imp +208 -0
  266. data/maps/un-pan-Guru-Latn-1972.imp +321 -0
  267. data/maps/un-prs-Arab-Latn-1967.imp +214 -0
  268. data/maps/un-rus-Cyrl-Latn-1987.imp +96 -0
  269. data/maps/un-sin-Sinh-Latn-1972.imp +193 -0
  270. data/maps/un-tam-Taml-Latn-1972.imp +173 -0
  271. data/maps/un-tel-Telu-Latn-1972.imp +229 -0
  272. data/maps/un-ukr-Cyrl-Latn-1998.imp +58 -0
  273. data/maps/un-ukr-Cyrl-Latn-2012.imp +95 -0
  274. data/maps/un-urd-Arab-Latn-1972.imp +290 -0
  275. data/maps/var-amh-Ethi-Latn-eae-2003.imp +414 -0
  276. data/maps/var-gez-Ethi-Latn-eae-2003.imp +54 -0
  277. data/maps/var-hin-Deva-Latn-hunterian-1872.imp +212 -0
  278. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.imp +399 -0
  279. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.imp +382 -0
  280. data/maps/var-kor-Hang-Hang-jamo.imp +11196 -0
  281. data/maps/var-kor-Hang-Latn-mr-1939.imp +574 -0
  282. data/maps/var-kor-Kore-Hang-2013.imp +59764 -0
  283. data/maps/var-kor-Kore-Latn-mr-1939.imp +36 -0
  284. data/maps/var-mar-Deva-Latn-hunterian-1872.imp +39 -0
  285. data/maps/var-mon-Mong-Latn-1930.imp +101 -0
  286. data/maps/var-mon-Mong-Latn-lessing.imp +181 -0
  287. data/maps/var-mon-Mong-Latn-vpmc.imp +182 -0
  288. data/maps/var-pra-Deva-Latn-iast-1912.imp +36 -0
  289. data/maps/var-san-Deva-Latn-iast-1912.imp +147 -0
  290. data/maps/var-zho-Hani-Latn-wd-1979.imp +27549 -0
  291. metadata +335 -0
@@ -0,0 +1,225 @@
1
+ metadata {
2
+ authority_id: ungegn
3
+ id: 1930
4
+ language: iso-639-2:ara
5
+ source_script: Arab
6
+ destination_script: Latn
7
+ name: ROMANIZATION OF ARABIC -- UNGEGN 2017 System
8
+ url: http://www.eki.ee/wgrs/rom1_ar.pdf
9
+ creation_date: 1930
10
+ confirmation_date: 2018-06
11
+ description: |
12
+ The current United Nations recommended romanization
13
+ system was approved in 2017 (resolution XI/3), based on
14
+ the system adopted by Arabic experts at the conference
15
+ held in Beirut in 2007, the Unified Arabic
16
+ Transliteration System, taking into account the
17
+ practical amendments and corrections carried out and
18
+ agreed upon by the representatives of the Arabic-
19
+ speaking countries at the Fourth Arab Conference on
20
+ Geographical Names, held in Beirut in 2008, and some
21
+ clarifications and amendments agreed in Riyadh in 20171.
22
+ Previously, the United Nations had approved a
23
+ romanization system in 1972 (resolution II/8), based on the
24
+ system adopted by Arabic experts at the conference
25
+ held at Beirut in 1971 with the practical amendments carried out
26
+ and agreed upon by the representatives of the Arabic-speaking
27
+ countries at their conference. The table was published in volume
28
+ II of the conference report.
29
+ In UN resolution XI/3 it is specifically stated that the
30
+ system was recommended for the “romanization of the
31
+ geographical names within those Arabic-speaking countries
32
+ where this system is officially adopted”. There is
33
+ evidence of its partial implementation in Jordan, Oman and
34
+ Saudi Arabia. The UNGEGN Working Group on Romanization
35
+ Systems intends to continue monitoring the UN system’s
36
+ implementation across Arabic-speaking countries.
37
+ In some countries there exist local romanization schemes
38
+ or practices. The geographical names of Algeria, Djibouti,
39
+ Mauritania, Morocco and Tunisia are generally rendered in
40
+ the traditional manner which conforms to the principles of
41
+ the French orthography.
42
+ The previous UN-approved system is still found in
43
+ considerable international usage.
44
+ Arabic is written from right to left. The Arabic script
45
+ usually omits vowel points and diacritical marks from
46
+ writing which makes it difficult to obtain uniform results
47
+ in the romanization of Arabic. It is essential to identify
48
+ correctly the words which appear in any particular name
49
+ and to know the standard Arabic-script spelling including
50
+ the relevant vowels. One must also take into account
51
+ dialectal and idiosyncratic deviations. The romanization
52
+ is generally reversible though there may be some ambiguous
53
+ letter sequences (dh, kh, sh, th) which may also point to
54
+ combinations of Arabic characters in addition to the
55
+ respective single characters.
56
+ notes:
57
+ - |
58
+ The Survey of Egypt System (SES) of romanization has the following correspondences with
59
+ the UN system:
60
+ á = a # ـَى fatha followed by ى which is ا not ي
61
+ ā = â (a) # ـَا fatha followed by alef // آ
62
+ -ah (ة- = (a # ة ta' marboota at the end of a sentence
63
+ aw = ô (au) # ـَوْ
64
+ ay = ei (ai) # ـَيْ
65
+ ḏ = ḍ # ض
66
+ dh = dh (z) # ذ
67
+ d͟h = ẓ (d) # ظ
68
+ ẖ = ḥ # ح
69
+ ī = î
70
+ j = g (j)
71
+ q = q (k)
72
+ s = s (c)
73
+ s̱ = ṣ
74
+ ṯ = ṭ
75
+ th = th (t)
76
+ ū = û
77
+ ‘ = ‛
78
+ - |
79
+ The variants in parentheses are used depending on pronunciation and tradition. Not all the
80
+ variations have been given above. The article is always written el- (El-Kafr el-Qadîm, Sharm
81
+ el-Sheikh).
82
+ }
83
+
84
+ tests {
85
+ # Examples taken from:
86
+ # https://unstats.un.org/unsd/geoinfo/geonames/
87
+ test "شَرم الشَيْخ", "Sharm el-Sheikh"
88
+ test "الكَفر القَدِيم", "El-Kafr el-Qadîm"
89
+ }
90
+
91
+ dependency "un-ara-Arab-Latn-2017", as: arablatn
92
+
93
+ stage {
94
+
95
+
96
+ # CHARACTERS
97
+ parallel {
98
+
99
+
100
+ # special pointed letters
101
+ sub "\u0639\u064e", "‛a" # عَ
102
+ sub "\u0639\u0650", "‛i" # عِ
103
+ sub "\u0639\u064f", "‛û" # عُ
104
+ # handle MacOS regex difference
105
+ sub "\u0639\u064f\u0648", "‛û" # عُو damma followed by و
106
+ sub "\u0650\u064a", "î" # ـِي kasra followed by ي
107
+ sub "\u0650\u064a\u0651\u064e", "îy" # ـِيَّ
108
+ sub "\u064f\u0648", "û" # ـُو damma followed by و
109
+ sub "\u064e\u0627", any(["â", "a"]) # ـَا fatha followed by ا
110
+ sub "\u064e\u0649", "a" # ـَى fatha followed by ى which is ا not ي
111
+ sub "\u064e\u0648\u0652", any(["ô", "au"]) # ـَوْ
112
+ sub "\u064e\u064a\u0652", any(["ei", "ai"]) # ـَيْ
113
+ sub "\u0622", any(["â", "a"]) # آ
114
+
115
+ # ta' marboota in iso-233-1984 is all the same `a`
116
+ sub "\u0629" + line_end, "a"
117
+ sub "\u0629", "a", before: boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
118
+ sub "\u0629", "a", before: boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
119
+ sub "\u0629", "a", before: boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
120
+ sub "\u0629", "a", before: boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
121
+ sub "\u0629", "a", before: boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
122
+ sub "\u0629", "a", before: boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
123
+ sub "\u0629", "a", before: boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
124
+ sub "\u0629", "a", before: boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
125
+ sub "\u0629", "a", before: boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
126
+ sub "\u0629", "a", before: boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
127
+ sub "\u0629", "a", before: boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
128
+ sub "\u0629", "a", before: boundary + "\u0627\u0644" + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff") + any("\u0600".."\u06ff")
129
+
130
+
131
+ # Sun letters
132
+ sub boundary + "\u0627\u0644\u062a", "el-t" # الت
133
+ sub boundary + "\u0627\u0644\u062b", any(["el-th", "el-t"]) # الث
134
+ sub boundary + "\u0627\u0644\u062f", "el-d" # الد
135
+ sub boundary + "\u0627\u0644\u0630", any(["el-dh", "el-z"]) # الذ
136
+ sub boundary + "\u0627\u0644\u0631", "el-r" # الر
137
+ sub boundary + "\u0627\u0644\u0632", "el-z" # الز
138
+ sub boundary + "\u0627\u0644\u0633", any(["el-s", "el-c"]) # الس
139
+ sub boundary + "\u0627\u0644\u0634", "el-sh" # الش
140
+ sub boundary + "\u0627\u0644\u0635", "el-ṣ" # الص
141
+ sub boundary + "\u0627\u0644\u0636", "el-ḍ" # الض
142
+ sub boundary + "\u0627\u0644\u0637", "el-ṭ" # الط
143
+ sub boundary + "\u0627\u0644\u0638", any(["el-ẓ", "el-d"]) # الظ
144
+ sub boundary + "\u0627\u0644\u0644", "el-l" # الل
145
+ sub boundary + "\u0627\u0644\u0646", "el-n" # الن
146
+
147
+
148
+ # shadda
149
+ sub "\u062b\u0651", any(["thth", "tt"]) # ث
150
+ sub "\u062c\u0651", any(["gg", "jj"]) # ج
151
+ sub "\u062d\u0651", "ḥḥ" # ح
152
+ sub "\u062e\u0651", "khkh" # خ
153
+
154
+ sub "\u0633\u0651", any(["ss", "cc"]) # س
155
+ sub "\u0635\u0651", "ṣṣ" # ص
156
+ sub "\u0636\u0651", "ḍḍ" # ض
157
+ sub "\u0637\u0651", "ṭṭ" # ط
158
+ sub "\u0638\u0651", any(["ẓẓ", "dd"]) # ظ
159
+ sub "\u0642\u0651", any(["qq", "kk"]) # ق
160
+
161
+ sub boundary + "\u0627\u0644", "el-" # ال
162
+
163
+ # normal letters
164
+ sub "\u062c", any(["g", "j"]) # ج
165
+ sub "\ufe9f", any(["g", "j"]) # ﺟ
166
+ sub "\ufea0", any(["g", "j"]) # ﺠ
167
+ sub "\ufe9e", any(["g", "j"]) # ﺞ
168
+
169
+ sub "\u062d", "ḥ" # ح
170
+ sub "\ufea3", "ḥ" # ﺣ
171
+ sub "\ufea4", "ḥ" # ﺤ
172
+ sub "\ufea2", "ḥ" # ﺢ
173
+
174
+ sub "\u062e", "kh" # خ
175
+ sub "\ufea7", "kh" # ﺧ
176
+ sub "\ufea8", "kh" # ﺨ
177
+ sub "\ufea6", "kh" # ﺦ
178
+
179
+ sub "\u0630", any(["dh", "z"]) # ذ
180
+ sub "\ufeac", any(["dh", "z"]) # ﺬ
181
+
182
+
183
+ sub "\u0633", any(["s", "c"]) # س
184
+ sub "\ufeb3", any(["s", "c"]) # ﺳ
185
+ sub "\ufeb4", any(["s", "c"]) # ﺴ
186
+ sub "\ufeb2", any(["s", "c"]) # ﺲ
187
+
188
+ sub "\u0635", "ṣ" # ص
189
+ sub "\ufebb", "ṣ" # ﺻ
190
+ sub "\ufebc", "ṣ" # ﺼ
191
+ sub "\ufeba", "ṣ" # ﺺ
192
+
193
+ sub "\u0636", "ḍ" # ض
194
+ sub "\ufebf", "ḍ" # ﺿ
195
+ sub "\ufec0", "ḍ" # ﻀ
196
+ sub "\ufebe", "ḍ" # ﺾ
197
+
198
+ sub "\u0637", "ṭ" # ط
199
+ sub "\ufec3", "ṭ" # ﻃ
200
+ sub "\ufec4", "ṭ" # ﻄ
201
+ sub "\ufec2", "ṭ" # ﻂ
202
+
203
+ sub "\u0639", "‛" # ع
204
+ sub "\ufecb", "‛" # ﻋ
205
+ sub "\ufecc", "‛" # ﻌ
206
+ sub "\ufeca", "‛" # ﻊ
207
+
208
+ sub "\u0638", any(["ẓ", "d"]) # ظ
209
+ sub "\ufec7", any(["ẓ", "d"]) # ظ
210
+ sub "\ufec8", any(["ẓ", "d"]) # ظ
211
+ sub "\ufec6", any(["ẓ", "d"]) # ظ
212
+
213
+ sub "\u0642", any(["q", "k"]) # ق
214
+ sub "\ufed7", any(["q", "k"]) # ﻗ
215
+ sub "\ufed8", any(["q", "k"]) # ﻘ
216
+ sub "\ufed6", any(["q", "k"]) # ﻖ
217
+ }
218
+
219
+ run map.arablatn.stage.main
220
+
221
+ # POSTRULES
222
+ sub " El-", " el-" # الص
223
+
224
+
225
+ }
@@ -0,0 +1,171 @@
1
+ metadata {
2
+ authority_id: stategeocadastre
3
+ id: 1993
4
+ language: iso-639-2:ukr
5
+ source_script: Cyrl
6
+ destination_script: Latn
7
+ name: PROVISIONAL RULES OF REPRODUCING LETTERS OF THE UKRAINIAN ALPHABET WITH LATIN (ENGLISH) CHARACTERS
8
+ url: https://unstats.un.org/unsd/geoinfo/UNGEGN/docs/17th-gegn-docs/17th_gegn_WP73.pdf
9
+ creation_date: 1993
10
+ description: |
11
+ These Rules are intended for Romanized transliteration of Ukrainian
12
+ geographic names in international cartographic editions.
13
+
14
+ Geographic names of Russia, Byelorussia, Bulgaria and other states
15
+ using the Cyrillic alphabet are transliterated according to rules
16
+ accepted in those states.
17
+
18
+ These Rules come into effect from the moment of their approval by
19
+ the Main Administration of Geodesy, Cartography and Cadastre and
20
+ will be effective until the introduction of a State standard of
21
+ Ukraine regulating the Romanized transliteration of the Ukrainian
22
+ alphabet.
23
+
24
+ notes:
25
+ - No apostrophe (’) is used in transliteration, the combination "ьо" is transliterated as "io"
26
+ - Use of capitals in Latin version of Ukrainian geographic names correspond to the Ukrainian spelling
27
+ - Generics geographical terms standing before or after a name in full or abbreviated form are transliterated
28
+ - Romanized versions of complex and compound Ukrainian toponyms (one word, hyphenated or separate words) will follow the Ukrainian spelling
29
+ - In indexes of Romanized geographical names entries must be arranged in the order of the Latin (English) alphabet
30
+ - Geographic names of Russia, Byelorussia, Bulgaria and other states using the Cyrillic alphabet are transliterated according to rules accepted in those states.
31
+ - "Ed: There seems to be a mistake in the source document. 'ц' should be replaced with ts instead 'tz'."
32
+ }
33
+
34
+ tests {
35
+ test "Кам’янка", "Kamianka" # note[1]
36
+ test "Сьомаки", "Siomaky" # note[1]
37
+ test "Усть-Чорна", "Ust’-Chorna" # note[2]
38
+ test "Чорне море", "Chorne more" # note[2]
39
+ test "оз. Сиваш", "oz. Syvash" # note[3]
40
+ test "Кримський канал", "Kryms’kyi kanal" # note[3] # ! Example had typo in original document "Krums’kyi kanal"
41
+ test "Гола Пристань", "Hola Prystan’"
42
+ test "Корсунь Шевченківський", "Korsun’ Shevchenkivs’kyi"
43
+ test "Верхньодніпровськ", "Verkhniodniprovs’k"
44
+ test "Варва", "Varva"
45
+ test "Броди", "Brody"
46
+ test "Верховина", "Verkhovyna"
47
+ test "Глухів", "Hlukhiv"
48
+ test "Великий", "Velykyi"
49
+ test "Ґрунь(гора)", "Grun’(hora)"
50
+ test "Димер", "Dymer"
51
+ test "Срібне", "Sribne"
52
+ test "Євпаторія", "Yevpatoriia"
53
+ test "Єнакієве", "Yenakiieve"
54
+ test "Жолква", "Zholkva"
55
+ test "Затока", "Zatoka"
56
+ test "Житомир", "Zhytomyr"
57
+ test "Інгул", "Inhul"
58
+ test "Зміїв", "Zmiïv"
59
+ test "Йосипівка", "Yosypivka"
60
+ test "Стрий", "Stryi"
61
+ test "Калуш", "Kalush"
62
+ test "Лубни", "Lubny"
63
+ test "Миколаїв", "Mykolaïv"
64
+ test "Ніжин", "Nizhyn"
65
+ test "Острог", "Ostroh"
66
+ test "Печеніги", "Pechenihy"
67
+ test "Рівне", "Rivne"
68
+ test "Сарата", "Sarata"
69
+ test "Тячів", "Tiachiv"
70
+ test "Узин", "Uzyn"
71
+ test "Форос", "Foros"
72
+ test "Харків", "Kharkiv"
73
+ test "Цюрупінськ", "Tsiurupins’k"
74
+ test "Черемош", "Cheremosh"
75
+ test "Шацьк", "Shats’k"
76
+ test "Щорс", "Shchors"
77
+ test "Хмельницький", "Khmel’nyts’kyi" # ! Example had typo in original document "Khmel’nyts’ky"
78
+ test "Юрівка", "Yurivka"
79
+ test "Любеч", "Liubech"
80
+ test "Ялта", "Yalta"
81
+ test "Ясіня", "Yasinia"
82
+ }
83
+
84
+ stage {
85
+
86
+ # RULES
87
+ sub boundary + "\u0404", "Ye", not_before: "\u2019" # Є in initial position -> Ye
88
+ sub boundary + "\u0454", "ye", not_before: "\u2019" # є in initial position -> ye
89
+ sub boundary + "\u0419", "Y", not_before: "\u2019" # Й in initial position -> Y
90
+ sub boundary + "\u0419", "y", not_before: "\u2019" # й in initial position -> y
91
+ sub boundary + "\u042e", "Yu", not_before: "\u2019" # Ю in initial position -> Yu
92
+ sub boundary + "\u044e", "yu", not_before: "\u2019" # ю in initial position -> yu
93
+ sub boundary + "\u042f", "Ya", not_before: "\u2019" # Я in initial position -> Ya
94
+ sub boundary + "\u044f", "ya", not_before: "\u2019" # я in initial position -> ya
95
+ # note[1]
96
+ sub boundary + "\u2019" + boundary, "" # remove ’
97
+ sub "\u042c\u041e", "IO"
98
+ sub "\u044c\u043e", "io"
99
+
100
+
101
+ # CHARACTERS
102
+ parallel {
103
+ sub "А", "A" # А
104
+ sub "Б", "B" # Б
105
+ sub "В", "V" # В
106
+ sub "Г", "H" # Г
107
+ sub "Ґ", "G" # Ґ
108
+ sub "Д", "D" # Д
109
+ sub "Е", "E" # Е
110
+ sub "Є", "Ie" # Є
111
+ sub "Ж", "Zh" # Ж
112
+ sub "З", "Z" # З
113
+ sub "И", "Y" # И
114
+ sub "І", "I" # І
115
+ sub "Ї", "Ï" # Ї
116
+ sub "Й", "I" # Й
117
+ sub "К", "K" # К
118
+ sub "Л", "L" # Л
119
+ sub "М", "M" # М
120
+ sub "Н", "N" # Н
121
+ sub "О", "O" # О
122
+ sub "П", "P" # П
123
+ sub "Р", "R" # Р
124
+ sub "С", "S" # С
125
+ sub "Т", "T" # Т
126
+ sub "У", "U" # У
127
+ sub "Ф", "F" # Ф
128
+ sub "Х", "Kh" # Х
129
+ sub "Ц", "Ts" # Ц note[7]
130
+ sub "Ч", "Ch" # Ч
131
+ sub "Ш", "Sh" # Ш
132
+ sub "Щ", "Shch" # Щ
133
+ sub "Ь", "’" # Ь
134
+ sub "Ю", "Iu" # Ю
135
+ sub "Я", "Ia" # Я
136
+ sub "а", "a" # а
137
+ sub "б", "b" # б
138
+ sub "в", "v" # в
139
+ sub "г", "h" # г
140
+ sub "ґ", "g" # ґ
141
+ sub "д", "d" # д
142
+ sub "е", "e" # е
143
+ sub "є", "ie" # є
144
+ sub "ж", "zh" # ж
145
+ sub "з", "z" # з
146
+ sub "и", "y" # и
147
+ sub "і", "i" # і
148
+ sub "ї", "i" # ї
149
+ sub "й", "i" # й
150
+ sub "к", "k" # к
151
+ sub "л", "l" # л
152
+ sub "м", "m" # м
153
+ sub "н", "n" # н
154
+ sub "о", "o" # о
155
+ sub "п", "p" # п
156
+ sub "р", "r" # р
157
+ sub "с", "s" # с
158
+ sub "т", "t" # т
159
+ sub "у", "u" # у
160
+ sub "ф", "f" # ф
161
+ sub "х", "kh" # х
162
+ sub "ц", "ts" # ц note[7]
163
+ sub "ч", "ch" # ч
164
+ sub "ш", "sh" # ш
165
+ sub "щ", "shch" # щ
166
+ sub "ю", "iu" # ю
167
+ sub "я", "ia" # я
168
+ sub "ь", "’" # ь
169
+ }
170
+
171
+ }
@@ -0,0 +1,149 @@
1
+ metadata {
2
+ authority_id: ua
3
+ id: 1996
4
+ language: iso-639-2:ukr
5
+ source_script: Cyrl
6
+ destination_script: Latn
7
+ name: Government of Ukraine Ukrainian System (1996)
8
+ url: http://transliteration.eki.ee/pdf/Ukrainian.pdf
9
+ creation_date: 1996
10
+ description: Romanization table for Ukrainian. The current national system of romanization.
11
+
12
+ notes:
13
+ - gh is used in the romanization of зг zgh.
14
+ - In initial position є -> ye, ї -> yi, й -> y, ю -> yu, я -> ya.
15
+ }
16
+
17
+ tests {
18
+ test "Алушта", "Alushta"
19
+ test "Борщагівка", "Borschahivka"
20
+ test "Вишгород", "Vyshhorod"
21
+ test "Гадяч", "Hadiach"
22
+ test "Згорани", "Zghorany"
23
+ test "Ґалаґан", "Galagan"
24
+ test "Дон", "Don"
25
+ test "Рівне", "Rivne"
26
+ test "Єнакієве", "Yenakiieve"
27
+ test "Наєнко", "Naienko"
28
+ test "Житомир", "Zhytomyr"
29
+ test "Запоріжжя", "Zaporizhzhia"
30
+ test "Закарпаття", "Zakarpattia"
31
+ test "Медвин", "Medvyn"
32
+ test "Іршава", "Irshava"
33
+ test "Їжакевич", "Yizhakevych"
34
+ test "Кадіївка", "Kadiivka"
35
+ test "Йосипівка", "Yosypivka"
36
+ test "Київ", "Kyiv"
37
+ test "Лебедин", "Lebedyn"
38
+ test "Миколаїв", "Mykolaiv"
39
+ test "Ніжин", "Nizhyn"
40
+ test "Одеса", "Odesa"
41
+ test "Полтава", "Poltava"
42
+ test "Ромни", "Romny"
43
+ test "Суми", "Sumy"
44
+ test "Тетерів", "Teteriv"
45
+ test "Ужгород", "Uzhhorod"
46
+ test "Фастів", "Fastiv"
47
+ test "Харків", "Kharkiv"
48
+ test "Біла Церква", "Bila Tserkva"
49
+ test "Чернівці", "Chernivtsi"
50
+ test "Шостка", "Shostka"
51
+ test "Гоща", "Hoscha"
52
+ test "Русь", "Rus’"
53
+ test "Юрій", "Yurii"
54
+ test "Крюківка", "Kriukivka"
55
+ test "Яготин", "Yahotyn"
56
+ test "Ічня", "Ichnia"
57
+ test "Знам’янка", "Znam”ianka"
58
+ }
59
+
60
+ stage {
61
+
62
+ # RULES
63
+ sub "\u0413", "Gh", before: any("Зз") # Г after З or з
64
+ sub "\u0433", "gh", before: any("Зз") # г after З or з
65
+ sub boundary + "\u0404", "Ye", not_before: boundary + "\u2019" # Є in initial position -> Ye
66
+ sub boundary + "\u0454", "ye", not_before: boundary + "\u2019" # є in initial position -> ye
67
+ sub boundary + "\u0407", "Yi", not_before: boundary + "\u2019" # Ї in initial position -> Yi
68
+ sub boundary + "\u0457", "yi", not_before: boundary + "\u2019" # ї in initial position -> yi
69
+ sub boundary + "\u0419", "Y", not_before: boundary + "\u2019" # Й in initial position -> Y
70
+ sub boundary + "\u0419", "y", not_before: boundary + "\u2019" # й in initial position -> y
71
+ sub boundary + "\u042e", "Yu", not_before: boundary + "\u2019" # Ю in initial position -> Yu
72
+ sub boundary + "\u044e", "yu", not_before: boundary + "\u2019" # ю in initial position -> yu
73
+ sub boundary + "\u042f", "Ya", not_before: boundary + "\u2019" # Я in initial position -> Ya
74
+ sub boundary + "\u044f", "ya", not_before: boundary + "\u2019" # я in initial position -> ya
75
+ sub boundary + "\u2019" + boundary, "”" # ’ in the middle of a word -> ”
76
+
77
+
78
+ # CHARACTERS
79
+ parallel {
80
+ sub "А", "A" # А
81
+ sub "Б", "B" # Б
82
+ sub "В", "V" # В
83
+ sub "Г", "H" # Г
84
+ sub "Ґ", "G" # Ґ
85
+ sub "Д", "D" # Д
86
+ sub "Е", "E" # Е
87
+ sub "Є", "Ie" # Є
88
+ sub "Ж", "Zh" # Ж
89
+ sub "З", "Z" # З
90
+ sub "И", "Y" # И
91
+ sub "І", "I" # І
92
+ sub "Ї", "I" # Ї
93
+ sub "Й", "I" # Й
94
+ sub "К", "K" # К
95
+ sub "Л", "L" # Л
96
+ sub "М", "M" # М
97
+ sub "Н", "N" # Н
98
+ sub "О", "O" # О
99
+ sub "П", "P" # П
100
+ sub "Р", "R" # Р
101
+ sub "С", "S" # С
102
+ sub "Т", "T" # Т
103
+ sub "У", "U" # У
104
+ sub "Ф", "F" # Ф
105
+ sub "Х", "Kh" # Х
106
+ sub "Ц", "Ts" # Ц
107
+ sub "Ч", "Ch" # Ч
108
+ sub "Ш", "Sh" # Ш
109
+ sub "Щ", "Sch" # Щ
110
+ sub "Ю", "Iu" # Ю
111
+ sub "Я", "Ia" # Я
112
+ sub "Ь", "’" # Ь -> ’
113
+ sub "а", "a" # а
114
+ sub "б", "b" # б
115
+ sub "в", "v" # в
116
+ sub "г", "h" # г
117
+ sub "ґ", "g" # ґ
118
+ sub "д", "d" # д
119
+ sub "е", "e" # е
120
+ sub "є", "ie" # є
121
+ sub "ж", "zh" # ж
122
+ sub "з", "z" # з
123
+ sub "и", "y" # и
124
+ sub "і", "i" # і
125
+ sub "ї", "i" # ї
126
+ sub "й", "i" # й
127
+ sub "к", "k" # к
128
+ sub "л", "l" # л
129
+ sub "м", "m" # м
130
+ sub "н", "n" # н
131
+ sub "о", "o" # о
132
+ sub "п", "p" # п
133
+ sub "р", "r" # р
134
+ sub "с", "s" # с
135
+ sub "т", "t" # т
136
+ sub "у", "u" # у
137
+ sub "ф", "f" # ф
138
+ sub "х", "kh" # х
139
+ sub "ц", "ts" # ц
140
+ sub "ч", "ch" # ч
141
+ sub "ш", "sh" # ш
142
+ sub "щ", "sch" # щ
143
+ sub "ю", "iu" # ю
144
+ sub "я", "ia" # я
145
+ sub "ь", "’" # ь -> ’
146
+ }
147
+
148
+ }
149
+