interscript 0.1.2 → 0.1.7

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 (261) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +250 -17
  3. data/lib/g2pwrapper.py +34 -0
  4. data/lib/interscript.rb +142 -20
  5. data/lib/interscript/command.rb +28 -0
  6. data/lib/interscript/fs.rb +69 -0
  7. data/lib/interscript/mapping.rb +142 -0
  8. data/lib/interscript/opal.rb +57 -0
  9. data/lib/interscript/opal/entrypoint.rb +12 -0
  10. data/lib/interscript/opal/map_translate.rb +7 -0
  11. data/lib/interscript/opal/maps.js.erb +10 -0
  12. data/lib/interscript/version.rb +1 -1
  13. data/lib/model-7 +0 -0
  14. data/lib/tha-pt-b-7 +0 -0
  15. data/maps/acadsin-zho-Hani-Latn-2002.yaml +38916 -0
  16. data/maps/alalc-amh-Ethi-Latn-1997.yaml +513 -0
  17. data/maps/alalc-amh-Ethi-Latn-2011.yaml +138 -0
  18. data/maps/alalc-ara-Arab-Latn-1997.yaml +1287 -0
  19. data/maps/alalc-asm-Deva-Latn-1997.yaml +165 -0
  20. data/maps/alalc-asm-Deva-Latn-2012.yaml +40 -0
  21. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +145 -0
  22. data/maps/alalc-bel-Cyrl-Latn-1997.yaml +129 -0
  23. data/maps/alalc-ben-Beng-Latn-2017.yaml +130 -0
  24. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +98 -0
  25. data/maps/alalc-ell-Grek-Latn-1997.yaml +628 -0
  26. data/maps/alalc-ell-Grek-Latn-2010.yaml +626 -0
  27. data/maps/alalc-guj-Gujr-Latn-1997.yaml +266 -0
  28. data/maps/alalc-guj-Gujr-Latn-2011.yaml +64 -0
  29. data/maps/alalc-hin-Deva-Latn-1997.yaml +211 -0
  30. data/maps/alalc-hin-Deva-Latn-2011.yaml +47 -0
  31. data/maps/alalc-kat-Geok-Latn-1997.yaml +111 -0
  32. data/maps/alalc-kat-Geor-Latn-1997.yaml +150 -0
  33. data/maps/alalc-kor-Hang-Latn-1997.yaml +98 -0
  34. data/maps/alalc-mal-Mlym-Latn-1997.yaml +303 -0
  35. data/maps/alalc-mal-Mlym-Latn-2012.yaml +73 -0
  36. data/maps/alalc-mar-Deva-Latn-1997.yaml +189 -0
  37. data/maps/alalc-mar-Deva-Latn-2011.yaml +45 -0
  38. data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +114 -0
  39. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +103 -0
  40. data/maps/alalc-mon-Cyrl-Latn-1997.yaml +220 -0
  41. data/maps/alalc-pan-Guru-Latn-1997.yaml +256 -0
  42. data/maps/alalc-pan-Guru-Latn-2011.yaml +78 -0
  43. data/maps/alalc-per-Arab-Latn-1997.yaml +375 -0
  44. data/maps/alalc-pli-Deva-Latn-2012.yaml +144 -0
  45. data/maps/alalc-pra-Deva-Latn-2012.yaml +47 -0
  46. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +225 -0
  47. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +162 -0
  48. data/maps/alalc-san-Deva-Latn-2012.yaml +172 -0
  49. data/maps/alalc-sin-Sinh-Latn-1997.yaml +292 -0
  50. data/maps/alalc-sin-Sinh-Latn-2011.yaml +71 -0
  51. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +118 -0
  52. data/maps/alalc-srp-Cyrl-Latn-2013.yaml +135 -0
  53. data/maps/alalc-tam-Taml-Latn-1997.yaml +62 -0
  54. data/maps/alalc-tam-Taml-Latn-2011.yaml +58 -0
  55. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +145 -0
  56. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +16 -0
  57. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +283 -0
  58. data/maps/{bas-rus-Cyrl-Latn-bss.yaml → bas-rus-Cyrl-Latn-2017-bss.yaml} +58 -33
  59. data/maps/{bas-rus-Cyrl-Latn-oss.yaml → bas-rus-Cyrl-Latn-2017-oss.yaml} +55 -35
  60. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +292 -0
  61. data/maps/bgn-kor-Hang-Latn-1943.yaml +35 -0
  62. data/maps/bgn-kor-Kore-Latn-1943.yaml +31 -0
  63. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +208 -0
  64. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +208 -0
  65. data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +532 -0
  66. data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +596 -0
  67. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +2 -3
  68. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +104 -0
  69. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +188 -0
  70. data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +289 -0
  71. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +119 -0
  72. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +15 -65
  73. data/maps/bgnpcgn-che-Cyrl-Latn-2008.yaml +184 -0
  74. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +705 -0
  75. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +23 -0
  76. data/maps/{bgnpcgn-per-Arab-Latn-1956.yaml → bgnpcgn-fas-Arab-Latn-1956.yaml} +5 -2
  77. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +257 -0
  78. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +131 -0
  79. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +42 -0
  80. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +253 -0
  81. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +48 -0
  82. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +48 -0
  83. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +163 -0
  84. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +190 -0
  85. data/maps/bgnpcgn-mon-Cyrl-Latn-1964.yaml +223 -0
  86. data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +230 -0
  87. data/maps/bgnpcgn-per-Arab-Latn-1958.yaml +336 -0
  88. data/maps/bgnpcgn-prs-Arab-Latn-2007.yaml +639 -0
  89. data/maps/bgnpcgn-prs-Arab-Latn-yaghoubi.yaml +459 -0
  90. data/maps/bgnpcgn-rue-Cyrl-Latn-2016.yaml +168 -0
  91. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +150 -65
  92. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +170 -0
  93. data/maps/bgnpcgn-tat-Cyrl-Latn-2007.yaml +220 -0
  94. data/maps/bgnpcgn-tgk-Cyrl-Latn-1994.yaml +240 -0
  95. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +80 -4
  96. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +119 -0
  97. data/maps/bgnpcgn-uzb-Cyrl-Latn-1979.yaml +127 -0
  98. data/maps/bgnpcgn-uzb-Cyrl-Latn-2000.yaml +82 -0
  99. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +7456 -0
  100. data/maps/bis-asm-Beng-Latn-13194-1991.yaml +159 -0
  101. data/maps/bis-ben-Beng-Latn-13194-1991.yaml +156 -0
  102. data/maps/bis-dev-Deva-Latn-13194-1991.yaml +184 -0
  103. data/maps/bis-guj-Gujr-Latn-13194-1991.yaml +181 -0
  104. data/maps/bis-knd-Knda-Latn-13194-1991.yaml +173 -0
  105. data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +176 -0
  106. data/maps/bis-ori-Orya-Latn-13194-1991.yaml +160 -0
  107. data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +175 -0
  108. data/maps/bis-tel-Telu-Latn-13194-1991.yaml +170 -0
  109. data/maps/bis-tml-Taml-Latn-13194-1991.yaml +155 -0
  110. data/maps/by-bel-Cyrl-Latn-1998.yaml +172 -0
  111. data/maps/by-bel-Cyrl-Latn-2007.yaml +115 -0
  112. data/maps/din-grc-Grek-Latn-31634-2011-t1.yaml +899 -0
  113. data/maps/din-hin-Deva-Latn-33904-2018.yaml +100 -0
  114. data/maps/din-kat-Geor-Latn-32707-2010.yaml +145 -0
  115. data/maps/din-mar-Deva-Latn-33904-2018.yaml +84 -0
  116. data/maps/din-nep-Deva-Latn-33904-2018.yaml +119 -0
  117. data/maps/din-pli-Deva-Latn-33904-2018.yaml +75 -0
  118. data/maps/din-pra-Deva-Latn-33904-2018.yaml +63 -0
  119. data/maps/din-san-Deva-Latn-33904-2018.yaml +338 -0
  120. data/maps/din-tam-Taml-Latn-33903-2016.yaml +213 -0
  121. data/maps/dos-nep-Deva-Latn-1997.yaml +47 -0
  122. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +684 -0
  123. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +680 -0
  124. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +19 -0
  125. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +31 -0
  126. data/maps/ggg-kat-Geor-Latn-2002.yaml +92 -0
  127. data/maps/gki-bel-Cyrl-Latn-1992.yaml +33 -0
  128. data/maps/gki-bel-Cyrl-Latn-2000.yaml +201 -0
  129. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +190 -0
  130. data/maps/gost-rus-Cyrl-Latn-7.79-2000-2002.yaml +157 -0
  131. data/maps/hk-yue-Hani-Latn-1888.yaml +38497 -0
  132. data/maps/icao-bel-Cyrl-Latn-9303.yaml +109 -98
  133. data/maps/icao-bul-Cyrl-Latn-9303.yaml +2 -7
  134. data/maps/{icao-per-Arab-Latn-9303.yaml → icao-fas-Arab-Latn-9303.yaml} +6 -8
  135. data/maps/icao-heb-Hebr-Latn-9303.yaml +119 -125
  136. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +2 -3
  137. data/maps/icao-rus-Cyrl-Latn-9303.yaml +2 -4
  138. data/maps/icao-srp-Cyrl-Latn-9303.yaml +2 -3
  139. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +2 -4
  140. data/maps/iso-ara-Arab-Latn-233-1984.yaml +323 -0
  141. data/maps/iso-asm-Beng-Latn-15919-2001.yaml +75 -0
  142. data/maps/iso-ben-Beng-Latn-15919-2001.yaml +175 -0
  143. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +613 -0
  144. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +44 -0
  145. data/maps/iso-guj-Gujr-Latn-15919-2001.yaml +220 -0
  146. data/maps/iso-hin-Deva-Latn-15919-2001.yaml +87 -0
  147. data/maps/iso-inc-Deva-Latn-15919-2001.yaml +61 -0
  148. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +66 -0
  149. data/maps/iso-kan-Knda-Latn-15919-2001.yaml +220 -0
  150. data/maps/iso-kat-Geor-Latn-9984-1996.yaml +145 -0
  151. data/maps/iso-kor-Hang-Latn-1996-method1.yaml +240 -0
  152. data/maps/iso-kor-Hang-Latn-1996-method2.yaml +226 -0
  153. data/maps/iso-mal-Mlym-Latn-15919-2001.yaml +281 -0
  154. data/maps/iso-mar-Deva-Latn-15919-2001.yaml +75 -0
  155. data/maps/iso-nep-Deva-Latn-15919-2001.yaml +87 -0
  156. data/maps/iso-ori-Orya-Latn-15919-2001.yaml +193 -0
  157. data/maps/iso-pan-Guru-Latn-15919-2001.yaml +222 -0
  158. data/maps/iso-pli-Beng-Latn-15919-2001.yaml +73 -0
  159. data/maps/iso-pli-Deva-Latn-15919-2001.yaml +74 -0
  160. data/maps/iso-pli-Sinh-Latn-15919-2001.yaml +219 -0
  161. data/maps/iso-pli-Thai-Latn-15919-2001.yaml +55 -0
  162. data/maps/iso-pra-Deva-Latn-15919-2001.yaml +59 -0
  163. data/maps/iso-prs-Arab-Latn-233-3-1999.yaml +366 -0
  164. data/maps/{iso-rus-Cyrl-Latn-iso9.yaml → iso-rus-Cyrl-Latn-9-1995.yaml} +4 -6
  165. data/maps/iso-san-Deva-Latn-15919-2001.yaml +220 -0
  166. data/maps/iso-tam-Taml-Latn-15919-2001.yaml +159 -0
  167. data/maps/iso-tel-Telu-Latn-15919-2001.yaml +220 -0
  168. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +109 -0
  169. data/maps/kp-kor-Hang-Latn-2002.yaml +909 -0
  170. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +44820 -0
  171. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +411 -0
  172. data/maps/mns-mon-Cyrl-Latn-5217-2012.yaml +163 -0
  173. data/maps/mns-mon-Latn-Cyrl-5217-2012.yaml +200 -0
  174. data/maps/moct-kor-Hang-Latn-2000.yaml +807 -0
  175. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +541 -0
  176. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +225 -0
  177. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +63 -0
  178. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +109 -0
  179. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +37 -0
  180. data/maps/odni-ara-Arab-Latn-2015.yaml +425 -0
  181. data/maps/odni-aze-Cyrl-Latn-2015.yaml +144 -0
  182. data/maps/odni-bel-Cyrl-Latn-2015.yaml +148 -0
  183. data/maps/odni-bul-Cyrl-Latn-2015.yaml +96 -0
  184. data/maps/odni-che-Cyrl-Latn-2015.yaml +169 -0
  185. data/maps/odni-fas-Arab-Latn-2015.yaml +406 -0
  186. data/maps/odni-hin-Deva-Latn-2015.yaml +258 -0
  187. data/maps/odni-kat-Geor-Latn-2015.yaml +87 -0
  188. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +148 -0
  189. data/maps/odni-kir-Cyrl-Latn-2015.yaml +136 -0
  190. data/maps/odni-kor-Hang-Latn-2015.yaml +375 -0
  191. data/maps/odni-mkd-Cyrl-Latn-2015.yaml +122 -0
  192. data/maps/odni-per-Arab-Latn-2015.yaml +228 -0
  193. data/maps/odni-rus-Cyrl-Latn-2015.yaml +77 -0
  194. data/maps/odni-srp-Cyrl-Latn-2015.yaml +129 -0
  195. data/maps/odni-tat-Cyrl-Latn-2015.yaml +142 -0
  196. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +148 -0
  197. data/maps/odni-uig-Cyrl-Latn-2015.yaml +138 -0
  198. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +157 -0
  199. data/maps/odni-urd-Arab-Latn-2015.yaml +221 -0
  200. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +166 -0
  201. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +90 -0
  202. data/maps/royin-tha-Thai-Latn-1968.yaml +183 -0
  203. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +180 -0
  204. data/maps/royin-tha-Thai-Latn-1999.yaml +80 -0
  205. data/maps/{cn-chn-Hans-Latn-pinyin.yaml → sac-zho-Hans-Latn-1979.yaml} +11 -8
  206. data/maps/sasm-mon-Mong-Latn-general-1978.yaml +389 -0
  207. data/maps/sasm-mon-Mong-Latn-phonetic-1978.yaml +354 -0
  208. data/maps/ses-ara-Arab-Latn-1930.yaml +283 -0
  209. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +222 -0
  210. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +197 -0
  211. data/maps/ua-ukr-Cyrl-Latn-2007.yaml +75 -0
  212. data/maps/ua-ukr-Cyrl-Latn-2010.yaml +192 -0
  213. data/maps/un-amh-Ethi-Latn-2016.yaml +602 -0
  214. data/maps/un-ara-Arab-Latn-1971.yaml +139 -0
  215. data/maps/un-ara-Arab-Latn-1972.yaml +159 -0
  216. data/maps/un-ara-Arab-Latn-2017.yaml +420 -0
  217. data/maps/un-bel-Cyrl-Latn-2007.yaml +114 -0
  218. data/maps/un-ben-Beng-Latn-2016.yaml +534 -0
  219. data/maps/un-ell-Grek-Latn-1987-phonetic.yaml +780 -0
  220. data/maps/un-ell-Grek-Latn-1987-tl.yaml +31 -0
  221. data/maps/un-ell-Grek-Latn-1987-ts.yaml +19 -0
  222. data/maps/un-hin-Deva-Latn-2016.yaml +222 -0
  223. data/maps/un-mar-Deva-Latn-2016.yaml +91 -0
  224. data/maps/un-mon-Mong-Latn-general-2013.yaml +264 -0
  225. data/maps/un-mon-Mong-Latn-phonetic-2013.yaml +264 -0
  226. data/maps/un-nep-Deva-Latn-1972.yaml +350 -0
  227. data/maps/un-nep-Deva-Latn-2013.yaml +74 -0
  228. data/maps/un-rus-Cyrl-Latn-1987.yaml +166 -0
  229. data/maps/un-ukr-Cyrl-Latn-1998.yaml +53 -0
  230. data/maps/un-ukr-Cyrl-Latn-2012.yaml +162 -0
  231. data/maps/var-hin-Deva-Latn-hunterian-1872.yaml +221 -0
  232. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +406 -0
  233. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +386 -0
  234. data/maps/var-kor-Hang-Hang-jamo.yaml +11193 -0
  235. data/maps/var-kor-Hang-Latn-mr-1939.yaml +1054 -0
  236. data/maps/var-kor-Kore-Hang-2013.yaml +59754 -0
  237. data/maps/var-kor-Kore-Latn-mr-1939.yaml +36 -0
  238. data/maps/var-mar-Deva-Latn-hunterian-1872.yaml +43 -0
  239. data/maps/var-mon-Mong-Latn-1930.yaml +102 -0
  240. data/maps/var-mon-Mong-Latn-lessing.yaml +272 -0
  241. data/maps/var-mon-Mong-Latn-vpmc.yaml +274 -0
  242. data/maps/var-pra-Deva-Latn-iast-1912.yaml +30 -0
  243. data/maps/var-san-Deva-Latn-iast-1912.yaml +149 -0
  244. data/maps/var-tha-Thai-Thai-phonemic.yaml +59 -0
  245. data/maps/var-tha-Thai-Zsym-ipa.yaml +301 -0
  246. data/maps/var-zho-Hani-Latn-wd-1979.yaml +38912 -0
  247. data/spec/interscript/filenames_spec.rb +384 -0
  248. data/spec/interscript/mapping_spec.rb +42 -0
  249. data/spec/interscript_spec.rb +23 -5
  250. data/spec/spec_helper.rb +3 -1
  251. metadata +364 -34
  252. data/bin/interscript +0 -20
  253. data/bin/rspec +0 -29
  254. data/maps/bgnpcgn-chn-Hans-Latn-pinyin.yaml +0 -7503
  255. data/maps/historic-jpn-Hrkt-Latn-hepburn.yaml +0 -336
  256. data/maps/icao-gre-Grek-Latn-9303.yaml +0 -101
  257. data/maps/mext-jpn-Hrkt-Latn-hepburn.yaml +0 -330
  258. data/maps/mext-jpn-Hrkt-Latn-kunrei.yaml +0 -308
  259. data/maps/un-jpn-Hrkt-Latn-hepburn.yaml +0 -313
  260. data/maps/un-jpn-Hrkt-Latn-kunrei.yaml +0 -354
  261. data/maps/un-mon-Mong-Latn-2013.yaml +0 -80
@@ -0,0 +1,411 @@
1
+ ---
2
+ authority_id: mext
3
+ id: 1954
4
+ language: iso-639-2:jpn
5
+ source_script: Hrkt
6
+ destination_script: Latn
7
+ name: 内閣告示第一号 -- ローマ字のつづり方
8
+ url: http://www.mext.go.jp/b_menu/hakusho/nc/k19541209001/k19541209001.html
9
+ creation_date: 1954
10
+ adoption_date: 1954-12-09 # 昭和二十九年十二月九日
11
+ description:
12
+ jp: |
13
+ 国語を書き表わす場合に用いるローマ字のつづり方を次のように定める。
14
+
15
+ まえがき
16
+ 1 一般に国語を書き表わす場合は、第1表に掲げたつづり方によるものとする。
17
+ 2 国際的関係その他従来の慣例をにわかに改めがたい事情にある場合に限り、第2表に掲げたつづり方によつてもさしつかえない。
18
+ 3 前二項のいずれの場合においても、おおむねそえがきを適用する。
19
+ en: |
20
+ The spelling method for Roman characters used when writing Japanese language is as follows.
21
+
22
+ Preface
23
+ 1. In general, when the language is written, the spelling shown in Table 1 shall be used.
24
+ 2. The spelling methods listed in Table 2 can be used only when there is a situation that is difficult to change due to international relations or other conventional practices.
25
+ 3. In either case of the preceding two paragraphs, the general introduction will apply.
26
+
27
+ notes:
28
+ - jp: はねる音「ン」はすべてnと書く。
29
+ en: ン / ん is romanized always n in Kunrei-siki
30
+ - jp: はねる音を表わすnと次にくる母音字またはyとを切り離す必要がある場合には、nの次に’を入れる。
31
+ en: When it is necessary to separate the sound n from the vowel or y to follow, the apostrophe is added after the n.
32
+ - jp: つまる音は、最初の子音字を重ねて表わす。
33
+ en: The clogged sound is represented by overlapping the first consonant characters.
34
+ - jp: 長音は母音字の上に^をつけて表わす。なお、大文字の場合は母音字を並べてもよい。
35
+ en: Long vowels are expressed in Kunrei-siki by placing a circumflex (^) over a vowel. In the case of capital letters, vowel characters may be arranged.
36
+ - jp: 特殊音の書き表わし方は自由とする。
37
+ en: The way of writing special sounds is free.
38
+ - jp: 文の書きはじめ、および固有名詞は語頭を大文字で書く。なお、固有名詞以外の名詞の語頭を大文字で書いてもよい。
39
+ en: Begin writing sentences and proper nouns with capital letters. Note that the beginning of nouns other than proper nouns may be written in capital letters.
40
+
41
+
42
+ tests:
43
+ - source: かんおう
44
+ expected: kan'ô
45
+ - source: かのう
46
+ expected: kanô
47
+ - source: きんゆう
48
+ expected: kin'yû
49
+ - source: とうきょう
50
+ expected: tôkyô
51
+ - source: がっこう
52
+ expected: gakkô
53
+ - source: かごっま
54
+ expected: kagomma
55
+ - source: ぽっぽっや
56
+ expected: poppoyya
57
+ - source: てっら
58
+ expected: terra
59
+ - source: にゃっほー
60
+ expected: nyahhô
61
+ - source: ゴッホ
62
+ expected: gohho
63
+
64
+ map:
65
+ rules:
66
+ - pattern: "([んン])(?=[あいうえおやゆよアイウエオヤユヨ])"
67
+ result: "\\1'"
68
+
69
+ postrules:
70
+ # Handling of っ/ッ
71
+ #
72
+ # The kana っ/ッ is a geminate marker.
73
+ # When followed by a consonant, repeat the first letter of
74
+ # the following syllable.
75
+ #
76
+ # If っ/ッ is not followed by a consonant, then it is usually
77
+ # phonetically realised as an abrupt stop or shorterning of
78
+ # the previous syllable. There is no documented or commonly
79
+ # accepted way to transliterate this sound.
80
+
81
+ - pattern: "[っッ]([BbCcDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvWwXxYyZz])" # っ or ッ folloved by consonant
82
+ result: "\\1\\1"
83
+ - pattern: "[っッ]" # drop all other っッ.
84
+ result: ""
85
+
86
+ - pattern: "a[ーa]"
87
+ result: "â"
88
+ - pattern: "i[ーi]"
89
+ result: "î"
90
+ - pattern: "u[ーu]"
91
+ result: "û"
92
+ - pattern: "e[ーe]"
93
+ result: "ê"
94
+ - pattern: "o[ーo]"
95
+ result: "ô"
96
+
97
+ characters:
98
+ "あ": "a"
99
+ "い": "i"
100
+ "う": "u"
101
+ "え": "e"
102
+ "お": "o"
103
+
104
+ # Long vowels, note 4
105
+ "おう": "ô"
106
+
107
+
108
+ "か": "ka"
109
+ "き": "ki"
110
+ "く": "ku"
111
+ "け": "ke"
112
+ "こ": "ko"
113
+ "きゃ": "kya"
114
+ "きゅ": "kyu"
115
+ "きょ": "kyo"
116
+ "きょう": "kyô"
117
+ "こう": "kô"
118
+
119
+ "さ": "sa"
120
+ "し": "si"
121
+ "す": "su"
122
+ "せ": "se"
123
+ "そ": "so"
124
+ "しゃ": "sya"
125
+ "しゅ": "syu"
126
+ "しょ": "syo"
127
+ "しょう": "syô"
128
+ "そう": "sô"
129
+
130
+ "た": "ta"
131
+ "ち": "ti"
132
+ "つ": "tu"
133
+ "て": "te"
134
+ "と": "to"
135
+ "ちゃ": "tya"
136
+ "ちゅ": "tyu"
137
+ "ちょ": "tyo"
138
+ "ちょう": "tyô"
139
+ "とう": "tô"
140
+
141
+ "な": "na"
142
+ "に": "ni"
143
+ "ぬ": "nu"
144
+ "ね": "ne"
145
+ "の": "no"
146
+ "にゃ": "nya"
147
+ "にゅ": "nyu"
148
+ "にょ": "nyo"
149
+ "にょう": "nyô"
150
+ "のう": "nô"
151
+
152
+ "は": "ha"
153
+ "ひ": "hi"
154
+ "ふ": "hu"
155
+ "へ": "he"
156
+ "ほ": "ho"
157
+ "ひゃ": "hya"
158
+ "ひゅ": "hyu"
159
+ "ひょ": "hyo"
160
+ "ひょう": "hyô"
161
+ "ほう": "hô"
162
+
163
+ "ま": "ma"
164
+ "み": "mi"
165
+ "む": "mu"
166
+ "め": "me"
167
+ "も": "mo"
168
+ "みゃ": "mya"
169
+ "みゅ": "myu"
170
+ "みょ": "myo"
171
+ "みょう": "myô"
172
+ "もう": "mô"
173
+
174
+ "や": "ya"
175
+ "ゆ": "yu"
176
+ "よ": "yo"
177
+ "よう": "yô"
178
+
179
+ "ら": "ra"
180
+ "り": "ri"
181
+ "る": "ru"
182
+ "れ": "re"
183
+ "ろ": "ro"
184
+ "りゃ": "rya"
185
+ "りゅ": "ryu"
186
+ "りょ": "ryo"
187
+ "りょう": "ryô"
188
+ "ろう": "rô"
189
+
190
+ "わ": "wa"
191
+ "を": "o"
192
+
193
+ "が": "ga"
194
+ "ぎ": "gi"
195
+ "ぐ": "gu"
196
+ "げ": "ge"
197
+ "ご": "go"
198
+ "ぎゃ": "gya"
199
+ "ぎゅ": "gyu"
200
+ "ぎょ": "gyo"
201
+ "ぎゅう": "gyû"
202
+ "ぎょう": "gyô"
203
+ "ごう": "gô"
204
+
205
+ "ざ": "za"
206
+ "じ": "zi"
207
+ "ず": "zu"
208
+ "ぜ": "ze"
209
+ "ぞ": "zo"
210
+ "じゃ": "zya"
211
+ "じゅ": "zyu"
212
+ "じょ": "zyo"
213
+ "じょう": "zyô"
214
+ "ぞう": "zô"
215
+
216
+
217
+ "だ": "da"
218
+ "ぢ": "zi"
219
+ "づ": "zu"
220
+ "で": "de"
221
+ "ど": "do"
222
+ "ぢゃ": "zya"
223
+ "ぢゅ": "zyu"
224
+ "ぢょ": "zyo"
225
+ "ぢょう": "zyô"
226
+ "どう": "dô"
227
+
228
+ "ば": "ba"
229
+ "び": "bi"
230
+ "ぶ": "bu"
231
+ "べ": "be"
232
+ "ぼ": "bo"
233
+ "びゃ": "bya"
234
+ "びゅ": "byu"
235
+ "びょ": "byo"
236
+ "びょう": "byô"
237
+ "ぼう": "bô"
238
+
239
+ "ぱ": "pa"
240
+ "ぴ": "pi"
241
+ "ぷ": "pu"
242
+ "ぺ": "pe"
243
+ "ぽ": "po"
244
+ "ぴゃ": "pya"
245
+ "ぴゅ": "pyu"
246
+ "ぴょ": "pyo"
247
+ "ぴょう": "pyô"
248
+ "ぽう": "pô"
249
+
250
+ "ん": "n" # See note 2
251
+
252
+
253
+ # Note 3. つまる音は、最初の子音字を重ねて表わす。
254
+ # Handled by postrules
255
+
256
+ # Katakana
257
+
258
+ "ア": "a"
259
+ "イ": "i"
260
+ "ウ": "u"
261
+ "エ": "e"
262
+ "オ": "o"
263
+
264
+ # Long vowels, note 4
265
+ "オウ": "ô"
266
+
267
+ "カ": "ka"
268
+ "キ": "ki"
269
+ "ク": "ku"
270
+ "ケ": "ke"
271
+ "コ": "ko"
272
+ "キャ": "kya"
273
+ "キュ": "kyu"
274
+ "キョ": "kyo"
275
+ "キョウ": "kyô"
276
+ "コウ": "kô"
277
+
278
+ "サ": "sa"
279
+ "シ": "si"
280
+ "ス": "su"
281
+ "セ": "se"
282
+ "ソ": "so"
283
+ "シャ": "sya"
284
+ "シュ": "syu"
285
+ "ショ": "syo"
286
+ "ショウ": "syô"
287
+ "ソウ": "sô"
288
+
289
+ "タ": "ta"
290
+ "チ": "ti"
291
+ "ツ": "tu"
292
+ "テ": "te"
293
+ "ト": "to"
294
+ "チャ": "tya"
295
+ "チュ": "tyu"
296
+ "チョ": "tyo"
297
+ "チョウ": "tyô"
298
+ "トウ": "tô"
299
+
300
+ "ナ": "na"
301
+ "ニ": "ni"
302
+ "ヌ": "nu"
303
+ "ネ": "ne"
304
+ "ノ": "no"
305
+ "ニャ": "nya"
306
+ "ニュ": "nyu"
307
+ "ニョ": "nyo"
308
+ "ニョウ": "nyô"
309
+ "ノウ": "nô"
310
+
311
+ "ハ": "ha"
312
+ "ヒ": "hi"
313
+ "フ": "hu"
314
+ "ヘ": "he"
315
+ "ホ": "ho"
316
+ "ヒャ": "hya"
317
+ "ヒュ": "hyu"
318
+ "ヒョ": "hyo"
319
+ "ヒョウ": "hyô"
320
+ "ホウ": "hô"
321
+
322
+ "マ": "ma"
323
+ "ミ": "mi"
324
+ "ム": "mu"
325
+ "メ": "me"
326
+ "モ": "mo"
327
+ "ミャ": "mya"
328
+ "ミュ": "myu"
329
+ "ミョ": "myo"
330
+ "ミョウ": "myô"
331
+ "モウ": "mô"
332
+
333
+ "ヤ": "ya"
334
+ "ユ": "yu"
335
+ "ヨ": "yo"
336
+ "ヨウ": "yô"
337
+
338
+ "ラ": "ra"
339
+ "リ": "ri"
340
+ "ル": "ru"
341
+ "レ": "re"
342
+ "ロ": "ro"
343
+ "リャ": "rya"
344
+ "リュ": "ryu"
345
+ "リョ": "ryo"
346
+ "リョウ": "ryô"
347
+ "ロウ": "rô"
348
+
349
+ "ワ": "wa"
350
+ "ヲ": "o"
351
+
352
+ "ガ": "ga"
353
+ "ギ": "gi"
354
+ "グ": "gu"
355
+ "ゲ": "ge"
356
+ "ゴ": "go"
357
+ "ギャ": "gya"
358
+ "ギュ": "gyu"
359
+ "ギョ": "gyo"
360
+ "ギョウ": "gyô"
361
+ "ゴウ": "gô"
362
+
363
+ "ザ": "za"
364
+ "ジ": "zi"
365
+ "ズ": "zu"
366
+ "ゼ": "ze"
367
+ "ゾ": "zo"
368
+ "ジャ": "zya"
369
+ "ジュ": "zyu"
370
+ "ジョ": "zyo"
371
+ "ジョウ": "zyô"
372
+ "ゾウ": "zô"
373
+
374
+ "ダ": "da"
375
+ "ヂ": "zi"
376
+ "ヅ": "zu"
377
+ "デ": "de"
378
+ "ド": "do"
379
+ "ヂャ": "zya"
380
+ "ヂュ": "zyu"
381
+ "ヂョ": "zyo"
382
+ "ヂョウ": "zyô"
383
+ "ドウ": "dô"
384
+
385
+ "バ": "ba"
386
+ "ビ": "bi"
387
+ "ブ": "bu"
388
+ "ベ": "be"
389
+ "ボ": "bo"
390
+ "ビャ": "bya"
391
+ "ビュ": "byu"
392
+ "ビョ": "byo"
393
+ "ビョウ": "byô"
394
+ "ボウ": "bô"
395
+
396
+ "パ": "pa"
397
+ "ピ": "pi"
398
+ "プ": "pu"
399
+ "ペ": "pe"
400
+ "ポ": "po"
401
+ "ピャ": "pya"
402
+ "ピュ": "pyu"
403
+ "ピョ": "pyo"
404
+ "ピョウ": "pyô"
405
+ "ポウ": "pô"
406
+
407
+ "ン": "n" # See note 1
408
+
409
+
410
+ # Note 3. つまる音は、最初の子音字を重ねて表わす。
411
+ # Handled by postrules
@@ -0,0 +1,163 @@
1
+ ---
2
+ authority_id: mns
3
+ id: 2012
4
+ language: iso-639-2:mon
5
+ source_script: Cyrl
6
+ destination_script: Latn
7
+ name: Transliteration of Mongolian Cyrillic characters into Latin
8
+ url: http://estandard.gov.mn/standard/reader/4635
9
+ creation_date:
10
+ confirmation_date: 2012-02
11
+ description: |
12
+ The standard MNS 5217:2012 is a standard of the Mongolian Agency for Standardization and Metrology
13
+ for transliteration from Cyrillic Mongolian in Latin alphabet. It repeats and supplements the previous
14
+ standard dating from 2003 (MNS 5217:2003).
15
+
16
+ This standard differs from the ISO 9 system for Cyrillic adopted by Russia, Armenia, Azerbaijan,
17
+ Belarus, Kazakhstan, Kyrgyzstan, Uzbekistan, Tajikistan and Turkmenistan.
18
+
19
+ tests:
20
+ - source: Аварга, халбага, аав
21
+ expected: Avarga, khalbaga, aav
22
+ - source: Бага, самбар
23
+ expected: Baga, sambar
24
+ - source: Аварга, вагон, сав
25
+ expected: Avarga, vagon, sav
26
+ - source: Газар, гэрээ, хэрэг
27
+ expected: Gazar, geree, khereg
28
+ - source: Дадлага, ахмад
29
+ expected: Dadlaga, akhmad
30
+ - source: Еэвэн, ерөөл
31
+ expected: Yeeven, yerööl
32
+ - source: Ёроол, оёдол
33
+ expected: Yorool, oyodol
34
+ - source: Жуулчин, ажил, Жон
35
+ expected: Juulchin, ajil, Jon
36
+ - source: Зам, азарга, бааз
37
+ expected: Zam, azarga, baaz
38
+ - source: Кино, километр, академи
39
+ expected: Kino, kilomyetr, akadyemi # Kino, kilometr, akademi - Provided sample is wrong
40
+ - source: Ишиг, бичиг, хань
41
+ expected: Ishig, bichig, khani
42
+ - source: Ийм, ээжийн
43
+ expected: Iim, eejiin
44
+ - source: Лам, алаг, мал
45
+ expected: Lam, alag, mal
46
+ - source: Мал, хамар, нам
47
+ expected: Mal, khamar, nam
48
+ - source: Нар, хана, үнэн
49
+ expected: Nar, khana, ünen
50
+ - source: Орон, боловсрол, тооно
51
+ expected: Oron, bolovsrol, toono
52
+ - source: Өдөр, өнөөдөр, өөрөөсөө
53
+ expected: Ödör, önöödör, ööröösöö
54
+ - source: Пуужин, апарат
55
+ expected: Puujin, aparat
56
+ - source: Рашаан, радио, сар
57
+ expected: Rashaan, radio, sar
58
+ - source: Сар, асар, эцэс
59
+ expected: Sar, asar, etses
60
+ - source: Тамга, татлага
61
+ expected: Tamga, tatlaga
62
+ - source: Уран, нуруу
63
+ expected: Uran, nuruu
64
+ - source: Үнэн, түргэн, тэргүүн
65
+ expected: Ünen, türgen, tergüün
66
+ - source: Фото, фонд
67
+ expected: Foto, fond
68
+ - source: Хавар, нөхөр, эх
69
+ expected: Khavar, nökhör, ekh
70
+ - source: Цацаг, цэцэг
71
+ expected: Tsatsag, tsetseg
72
+ - source: Чимэг, чадал, ач
73
+ expected: Chimeg, chadal, ach
74
+ - source: Шашин, ааш
75
+ expected: Shashin, aash
76
+ - source: Щедрин, щорс
77
+ expected: Shyedrin, shors # Shedrin, Shors - Provided sample is wrong
78
+ - source: Оръё, суръя, гаръя
79
+ expected: Oriyo, suriya, gariya
80
+ - source: Хааны, ахын
81
+ expected: Khaany, akhyn
82
+ - source: Харь, барь
83
+ expected: Khari, bari
84
+ - source: Эзэн, энэ, эмээл
85
+ expected: Ezen, ene, emeel
86
+ - source: Юм, юүдэн
87
+ expected: Yum, yuüden
88
+ - source: Ямар, ядуу, ая
89
+ expected: Yamar, yaduu, aya
90
+
91
+ map:
92
+
93
+ characters:
94
+ "А": "A" # \u0410
95
+ "Б": "B" # \u0411
96
+ "В": "V" # \u0412
97
+ "Г": "G" # \u0413
98
+ "Д": "D" # \u0414
99
+ "Е": "Ye" # \u0415
100
+ "Ё": "Yo" # \u0401
101
+ "Ж": "J" # \u0416
102
+ "З": "Z" # \u0417
103
+ "И": "I" # \u0418
104
+ "Й": "I" # \u0419
105
+ "К": "K" # \u041a
106
+ "Л": "L" # \u041b
107
+ "М": "M" # \u041c
108
+ "Н": "N" # \u041d
109
+ "О": "O" # \u041e
110
+ "Ө": "Ö" # \u04e8
111
+ "П": "P" # \u041f
112
+ "Р": "R" # \u0420
113
+ "С": "S" # \u0421
114
+ "Т": "T" # \u0422
115
+ "У": "U" # \u0423
116
+ "Ү": "Ü" # \u04ae
117
+ "Ф": "F" # \u0424
118
+ "Х": "Kh" # \u0425
119
+ "Ц": "Ts" # \u0426
120
+ "Ч": "Ch" # \u0427
121
+ "Ш": "Sh" # \u0428
122
+ "Щ": "Sh" # \u0429
123
+ "Ъ": "I" # \u042a
124
+ "Ы": "Y" # \u042b
125
+ "Ь": "I" # \u042c
126
+ "Э": "E" # \u042d
127
+ "Ю": "Yu" # \u042e
128
+ "Я": "Ya" # \u042f
129
+ "а": "a" # \u0430
130
+ "б": "b" # \u0431
131
+ "в": "v" # \u0432
132
+ "г": "g" # \u0433
133
+ "д": "d" # \u0434
134
+ "е": "ye" # \u0435
135
+ "ё": "yo" # \u0451
136
+ "ж": "j" # \u0436
137
+ "з": "z" # \u0437
138
+ "и": "i" # \u0438
139
+ "й": "i" # \u0439
140
+ "к": "k" # \u043a
141
+ "л": "l" # \u043b
142
+ "м": "m" # \u043c
143
+ "н": "n" # \u043d
144
+ "о": "o" # \u043e
145
+ "ө": "ö" # \u04e9
146
+ "п": "p" # \u043f
147
+ "р": "r" # \u0440
148
+ "с": "s" # \u0441
149
+ "т": "t" # \u0442
150
+ "у": "u" # \u0443
151
+ "ү": "ü" # \u04af
152
+ "ф": "f" # \u0444
153
+ "х": "kh" # \u0445
154
+ "ц": "ts" # \u0446
155
+ "ч": "ch" # \u0447
156
+ "ш": "sh" # \u0448
157
+ "щ": "sh" # \u0449
158
+ "ъ": "i" # \u044a
159
+ "ы": "y" # \u044b
160
+ "ь": "i" # \u044c
161
+ "э": "e" # \u044d
162
+ "ю": "yu" # \u044e
163
+ "я": "ya" # \u044f