interscript 0.1.5 → 2.1.0a8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (200) 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 +3 -39
  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/exe/interscript +6 -0
  19. data/interscript.gemspec +31 -0
  20. data/lib/interscript.rb +81 -123
  21. data/lib/interscript/command.rb +5 -5
  22. data/lib/interscript/compiler.rb +22 -0
  23. data/lib/interscript/compiler/javascript.rb +292 -0
  24. data/lib/interscript/compiler/ruby.rb +262 -0
  25. data/lib/interscript/dsl.rb +67 -0
  26. data/lib/interscript/dsl/aliases.rb +23 -0
  27. data/lib/interscript/dsl/document.rb +46 -0
  28. data/lib/interscript/dsl/group.rb +45 -0
  29. data/lib/interscript/dsl/group/parallel.rb +6 -0
  30. data/lib/interscript/dsl/items.rb +89 -0
  31. data/lib/interscript/dsl/metadata.rb +26 -0
  32. data/lib/interscript/dsl/stage.rb +6 -0
  33. data/lib/interscript/dsl/symbol_mm.rb +11 -0
  34. data/lib/interscript/dsl/tests.rb +12 -0
  35. data/lib/interscript/interpreter.rb +251 -0
  36. data/lib/interscript/node.rb +25 -0
  37. data/lib/interscript/node/alias_def.rb +15 -0
  38. data/lib/interscript/node/dependency.rb +13 -0
  39. data/lib/interscript/node/document.rb +45 -0
  40. data/lib/interscript/node/group.rb +34 -0
  41. data/lib/interscript/node/group/parallel.rb +9 -0
  42. data/lib/interscript/node/group/sequential.rb +2 -0
  43. data/lib/interscript/node/item.rb +52 -0
  44. data/lib/interscript/node/item/alias.rb +42 -0
  45. data/lib/interscript/node/item/any.rb +61 -0
  46. data/lib/interscript/node/item/capture.rb +50 -0
  47. data/lib/interscript/node/item/group.rb +51 -0
  48. data/lib/interscript/node/item/repeat.rb +40 -0
  49. data/lib/interscript/node/item/stage.rb +23 -0
  50. data/lib/interscript/node/item/string.rb +51 -0
  51. data/lib/interscript/node/metadata.rb +18 -0
  52. data/lib/interscript/node/rule.rb +6 -0
  53. data/lib/interscript/node/rule/funcall.rb +18 -0
  54. data/lib/interscript/node/rule/run.rb +15 -0
  55. data/lib/interscript/node/rule/sub.rb +65 -0
  56. data/lib/interscript/node/stage.rb +19 -0
  57. data/lib/interscript/node/tests.rb +15 -0
  58. data/lib/interscript/stdlib.rb +211 -0
  59. data/lib/interscript/utils/regexp_converter.rb +283 -0
  60. data/lib/interscript/version.rb +1 -1
  61. data/requirements.txt +1 -0
  62. metadata +73 -311
  63. data/README.adoc +0 -298
  64. data/bin/rspec +0 -29
  65. data/lib/__pycache__/g2pwrapper.cpython-38.pyc +0 -0
  66. data/lib/g2pwrapper.py +0 -34
  67. data/lib/interscript-opal.rb +0 -2
  68. data/lib/interscript/fs.rb +0 -69
  69. data/lib/interscript/mapping.rb +0 -142
  70. data/lib/interscript/opal.rb +0 -23
  71. data/lib/interscript/opal/maps.js.erb +0 -7
  72. data/lib/interscript/opal_map_translate.rb +0 -12
  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 -38912
  76. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +0 -141
  77. data/maps/alalc-bel-cyrl-latn-1997.yaml +0 -125
  78. data/maps/alalc-ben-Beng-Latn-2017.yaml +0 -130
  79. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +0 -94
  80. data/maps/alalc-ell-Grek-Latn-1997.yaml +0 -625
  81. data/maps/alalc-ell-Grek-Latn-2010.yaml +0 -628
  82. data/maps/alalc-kat-Geok-Latn-1997.yaml +0 -112
  83. data/maps/alalc-kat-Geor-Latn-1997.yaml +0 -146
  84. data/maps/alalc-kor-Hang-Latn-1997.yaml +0 -94
  85. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +0 -103
  86. data/maps/alalc-mkd-cyrl-latn-1997.yaml +0 -114
  87. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +0 -222
  88. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +0 -162
  89. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +0 -114
  90. data/maps/alalc-srp-cyrl-latn-2013.yaml +0 -135
  91. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +0 -141
  92. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +0 -16
  93. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +0 -283
  94. data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +0 -175
  95. data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +0 -169
  96. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +0 -294
  97. data/maps/bgn-kor-Hang-Latn-1943.yaml +0 -31
  98. data/maps/bgn-kor-Kore-Latn-1943.yaml +0 -31
  99. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +0 -208
  100. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +0 -208
  101. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +0 -108
  102. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +0 -104
  103. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +0 -184
  104. data/maps/bgnpcgn-bel-cyrl-latn-1979.yaml +0 -285
  105. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +0 -115
  106. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +0 -38
  107. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +0 -702
  108. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +0 -20
  109. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +0 -257
  110. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +0 -127
  111. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +0 -43
  112. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +0 -253
  113. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +0 -48
  114. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +0 -48
  115. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +0 -159
  116. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +0 -190
  117. data/maps/bgnpcgn-per-Arab-Latn-1956.yaml +0 -93
  118. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +0 -314
  119. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +0 -166
  120. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +0 -163
  121. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +0 -208
  122. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +0 -7456
  123. data/maps/by-bel-Cyrl-Latn-1998.yaml +0 -168
  124. data/maps/by-bel-Cyrl-Latn-2007.yaml +0 -115
  125. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +0 -685
  126. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +0 -681
  127. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +0 -20
  128. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +0 -32
  129. data/maps/ggg-kat-Geor-Latn-2002.yaml +0 -89
  130. data/maps/gki-bel-cyrl-latn-1992.yaml +0 -33
  131. data/maps/gki-bel-cyrl-latn-2000.yaml +0 -201
  132. data/maps/gost-rus-cyrl-latn-16876-71-1983.yaml +0 -186
  133. data/maps/hk-yue-Hani-Latn-1888.yaml +0 -38497
  134. data/maps/icao-bel-Cyrl-Latn-9303.yaml +0 -141
  135. data/maps/icao-bul-Cyrl-Latn-9303.yaml +0 -122
  136. data/maps/icao-heb-Hebr-Latn-9303.yaml +0 -151
  137. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +0 -117
  138. data/maps/icao-per-Arab-Latn-9303.yaml +0 -104
  139. data/maps/icao-rus-Cyrl-Latn-9303.yaml +0 -118
  140. data/maps/icao-srp-Cyrl-Latn-9303.yaml +0 -117
  141. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +0 -120
  142. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +0 -610
  143. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +0 -41
  144. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +0 -62
  145. data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +0 -272
  146. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +0 -109
  147. data/maps/kp-kor-Hang-Latn-2002.yaml +0 -901
  148. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +0 -44820
  149. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +0 -411
  150. data/maps/moct-kor-Hang-Latn-2000.yaml +0 -803
  151. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +0 -541
  152. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +0 -225
  153. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +0 -63
  154. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +0 -110
  155. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +0 -37
  156. data/maps/nil-kor-Hang-Hang-jamo.yaml +0 -11193
  157. data/maps/odni-aze-Cyrl-Latn-2015.yaml +0 -144
  158. data/maps/odni-bel-Cyrl-Latn-2015.yaml +0 -148
  159. data/maps/odni-bul-Cyrl-Latn-2015.yaml +0 -96
  160. data/maps/odni-kat-Geor-Latn-2015.yaml +0 -88
  161. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +0 -148
  162. data/maps/odni-kir-Cyrl-Latn-2015.yaml +0 -136
  163. data/maps/odni-mkd-cyrl-latn-2015.yaml +0 -122
  164. data/maps/odni-rus-Cyrl-Latn-2015.yaml +0 -77
  165. data/maps/odni-srp-Cyrl-Latn-2015.yaml +0 -129
  166. data/maps/odni-tat-Cyrl-Latn-2015.yaml +0 -142
  167. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +0 -148
  168. data/maps/odni-uig-Cyrl-Latn-2015.yaml +0 -138
  169. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +0 -157
  170. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +0 -167
  171. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +0 -90
  172. data/maps/royin-tha-Thai-Latn-1968.yaml +0 -179
  173. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +0 -180
  174. data/maps/royin-tha-Thai-Latn-1999.yaml +0 -76
  175. data/maps/sac-zho-Hans-Latn-1979.yaml +0 -24759
  176. data/maps/ses-ara-arab-latn-1930.yaml +0 -275
  177. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +0 -222
  178. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +0 -193
  179. data/maps/un-ara-Arab-Latn-1971.yaml +0 -127
  180. data/maps/un-ara-Arab-Latn-1972.yaml +0 -152
  181. data/maps/un-ara-Arab-Latn-2017.yaml +0 -383
  182. data/maps/un-bel-Cyrl-Latn-2007.yaml +0 -114
  183. data/maps/un-ben-Beng-Latn-2016.yaml +0 -534
  184. data/maps/un-ell-Grek-Latn-1987-tl.yaml +0 -32
  185. data/maps/un-ell-Grek-Latn-1987-ts.yaml +0 -20
  186. data/maps/un-ell-Grek-Latn-phonetic-1987.yaml +0 -780
  187. data/maps/un-mon-Mong-Latn-2013.yaml +0 -93
  188. data/maps/un-rus-Cyrl-Latn-1987.yaml +0 -166
  189. data/maps/un-ukr-cyrl-latn-1998.yaml +0 -30
  190. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +0 -406
  191. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +0 -386
  192. data/maps/var-kor-Hang-Latn-mr-1939.yaml +0 -1054
  193. data/maps/var-kor-Kore-Hang-2013.yaml +0 -59754
  194. data/maps/var-kor-Kore-Latn-mr-1939.yaml +0 -37
  195. data/maps/var-tha-Thai-Thai-phonemic.yaml +0 -59
  196. data/maps/var-tha-Thai-Zsym-ipa.yaml +0 -301
  197. data/maps/var-zho-Hani-Latn-1979.yaml +0 -38908
  198. data/spec/interscript/mapping_spec.rb +0 -42
  199. data/spec/interscript_spec.rb +0 -26
  200. data/spec/spec_helper.rb +0 -3
@@ -1,93 +0,0 @@
1
- ---
2
- authority_id: un
3
- id: 2013
4
- language: mon
5
- source_script: Mong
6
- destination_script: Latn
7
- name: Mongolian Romanization in China, Version 4.0
8
- url: http://www.eki.ee/wgrs/rom1_mnc.htm
9
- creation_date: 2013-09
10
- description: |
11
- The United Nations resolution III/8 in 1977 recognized the Scheme for
12
- a Chinese Phonetic Alphabet (Pinyin) as China’s official Roman alphabet
13
- scheme and recommended the alphabet as the international system for the
14
- romanization of Chinese geographical names. In China Mongolian
15
- geographical names are transcribed directly from the Mongolian script
16
- into Pinyin. The scheme was published in Toponymic Guidelines for Map
17
- and Other Editors: China, 19821.
18
-
19
- The system is used in China and in international cartographic
20
- products.
21
-
22
- Mongolian uses a vertical script. Transcription of Mongolian names is
23
- made from their proper pronunciation based on the written form of the
24
- Mongolian language and Qahar vernacular, with Zhenglan as its
25
- representative pronunciation. Due to the complex nature of the script
26
- the romanization scheme is not reversible, e.g. the name of the city
27
- Hohhot is written ᠬᠥᠬᠡᠬᠣᠲᠠ but may be transliterated as kökeqota.
28
-
29
- notes:
30
- - The long and short Mongolian vowels are not distinguished in the
31
- spelling for general use, but in recording the pronunciation of
32
- place-names, the long vowel is represented by duplication.
33
- - Where two Roman equivalents are given, the second (in brackets) is
34
- used for recording the pronunciation of place-names while the first
35
- form is for general use.
36
- - In the table only word-initial character variants are shown.
37
- Depending on the position in the word many variants of the characters
38
- are used as well as some ligatures. These features are not covered here.
39
- - For technical reasons the characters of the Mongolian script are
40
- turned 90˚ anti-clockwise.
41
-
42
- tests:
43
- - source: "ᠬᠥᠬᠡᠬᠣᠲᠠ"
44
- expected: "kökeqota"
45
- map:
46
- characters:
47
- "ᠠ": "a"
48
- "ᠪ": "b"
49
- "ᠼ": "c"
50
- "ᠲ": "d"
51
- "ᠳ": "d"
52
- "ᠡ": "e"
53
- "ᠹ": "f"
54
- "ᠭ": "g"
55
- "ᠺ": "g"
56
- "ᠬ": "h"
57
- "ᠾ": "h"
58
- "ᠢ": "i"
59
- "ᠵ": "j"
60
- "ᠺ": "k"
61
- "ᠯ": "l"
62
- "ᠮ": "m"
63
- "ᠨ": "n"
64
- "ᠥ": "o"
65
- "ᠫ": "p"
66
- "ᠴ": "q"
67
- "ᠷ": "r"
68
- "ᠰ": "s"
69
- "ᠲ": "t"
70
- "ᠦ": "u"
71
- "ᠸ": "w"
72
- "ᠱ": "x"
73
- "ᠶ": "y"
74
- "ᠽ": "z"
75
- "ᠣ": "o"
76
- # - "o" # General use
77
- # - "ô" # For place names
78
- "ᠤ": "u"
79
- # - "u" # General use
80
- # - "û" # For place names
81
-
82
-
83
- # @TODO Exceptional
84
- #
85
- # This is failing the whole test suite, but as far as I understood
86
- # from the comment, this city name is exceptional, so we are temporarliy
87
- # adding it as execeptional rules for now.
88
- #
89
- # But, we will need some natives attension to help us out here, and maybe
90
- # come up with some basic rules for this exceptional pattern.
91
- #
92
-
93
- "ᠬᠥᠬᠡᠬᠣᠲᠠ": "kökeqota"
@@ -1,166 +0,0 @@
1
- ---
2
- authority_id: ungegn
3
- id: 1987
4
- language: rus
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: REPORT ON THE CURRENT STATUS OF UNITED NATIONS ROMANIZATION SYSTEMS FOR GEOGRAPHICAL NAMES -- Russian Romanization system
8
- url: http://www.eki.ee/wgrs/rom1_ru.htm
9
- creation_date: 1987
10
- confirmation_date: 2016
11
- description: |
12
- The United Nations recommended system was approved in 1987 (V/18),
13
- based on the official system of the Main Administration of Geodesy and
14
- Cartography of the former Soviet Union, also known as the GOST 1983
15
- system (GOST 16876-71). The table was published as an annex to the
16
- resolution.
17
-
18
- The system is used in the Russian Federation and increasingly in
19
- international cartographic products.
20
-
21
- Russian uses the Cyrillic script which is alphabetic. The
22
- romanization table is unambiguous and can be applied automatically. The
23
- system is reversible, although rarely there can be ambiguities.
24
-
25
- notes:
26
- - "Cursive forms of some characters might be formed differently: Аа Бб
27
- Вв Гг Дд Ее Ёё Жж Зз Ии Йй Кк Лл Мм Нн Оо Пп Рр Сс Тт Уу Фф Хх Цц Чч Шш
28
- Щщ Ъъ Ыы Ьь Ээ Юю Яя."
29
-
30
- - Fifth United Nations Conference on the Standardization of
31
- Geographical Names. Montreal, 18–31 August 1987. Vol. I. Report of the
32
- Conference, pp. 40–41.
33
-
34
- tests:
35
- - source: Aнaпa
36
- expected: Anapa
37
-
38
- - source: Бaбушкин
39
- expected: Babuškin
40
-
41
- - source: Вaвилово
42
- expected: Vavilovo
43
-
44
- - source: Гaгaрин
45
- expected: Gagarin
46
-
47
- - source: Дудинкa
48
- expected: Dudinka
49
-
50
- - source: Елисeeвкa
51
- expected: Eliseevka
52
-
53
- - source: Ёлкино
54
- expected: "\u00CBlkino"
55
-
56
- - source: Псëл
57
- expected: Psël
58
-
59
- - source: Жужa
60
- expected: Žuža
61
-
62
- - source: Звëздный
63
- expected: Zvëzdnyj
64
-
65
- - source: Идрицa
66
- expected: Idrica
67
-
68
- - source: Зaрaйск
69
- expected: Zarajsk
70
-
71
- - source: Кокaнд
72
- expected: Kokand
73
-
74
- - source: Лaлвaр
75
- expected: Lalvar
76
-
77
- - source: Мaймaк
78
- expected: Majmak
79
-
80
- - source: Нeжин
81
- expected: Nežin
82
-
83
- - source: Обoдoвкa
84
- expected: Obodovka
85
-
86
- - source: Пaп
87
- expected: Pap
88
-
89
- - source: Рeбрихa
90
- expected: Rebriha
91
-
92
- - source: Сaсoвo
93
- expected: Sasovo
94
-
95
- - source: Тaттa
96
- expected: Tatta
97
-
98
- - source: Уржум
99
- expected: Uržum
100
-
101
- - source: Фoфaнoвo
102
- expected: Fofanovo
103
-
104
- - source: Хoхломa
105
- expected: Hohloma
106
-
107
- - source: Цвeткoвo
108
- expected: Cvetkovo
109
-
110
- - source: Чeчeльник
111
- expected: Čečel’nik
112
-
113
- - source: Шишкинo
114
- expected: Šiškino
115
-
116
- - source: Щукинo
117
- expected: Ščukino
118
-
119
- - source: Пoдъячeвo
120
- expected: Pod”jačevo
121
-
122
- - source: Ыныкчaнский
123
- expected: Ynykčanskij
124
-
125
- - source: Пaрaньгa
126
- expected: Paran’ga
127
-
128
- - source: Кaзaнь
129
- expected: Kazan’
130
-
131
- - source: Щучьe
132
- expected: Ščuč’e
133
-
134
- - source: Элистa
135
- expected: Èlista
136
-
137
- - source: Юринo
138
- expected: Jurino
139
-
140
- - source: Юхнoв
141
- expected: Juhnov
142
-
143
- - source: Юрюзaнь
144
- expected: Jurjuzan’
145
-
146
- - source: Ямaл
147
- expected: Jamal
148
-
149
- - source: Язъявaн
150
- expected: Jaz”javan
151
-
152
- - source: Яя
153
- expected: Jaja
154
-
155
- - source: Вязьмa
156
- expected: Vjaz’ma
157
-
158
-
159
- map:
160
- inherit: gost-rus-cyrl-latn-16876-71-1983
161
-
162
- characters:
163
- '\u042A' : '”' # Ъ
164
- '\u042C' : '’' # Ь
165
- '\u044A' : '”' # ъ
166
- '\u044C' : '’' # ь
@@ -1,30 +0,0 @@
1
- ---
2
- authority_id: un
3
- id: 1998
4
- language: ukr
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: ROMANIZATION SYSTEM FOR BELARUSIAN, RUSSIAN AND UKRAINIAN CYRILLIC
8
- url: https://unstats.un.org/unsd/geoinfo/UNGEGN/docs/7th-uncsgn-docs/econf/7th_UNCSGN_econf.91_3_Add1.pdf
9
- creation_date: 1998
10
-
11
- tests:
12
-
13
- map:
14
- inherit: gost-rus-cyrl-latn-16876-71-1983
15
-
16
- characters:
17
- '\u0490' : '?' # Ґ
18
- '\u0491' : '?' # ґ
19
-
20
- '\u0404' : "Je" # Є
21
- '\u0454' : "je" # є
22
-
23
- '\u0406' : 'I' # І
24
- '\u0456' : 'i' # і
25
-
26
- '\u0407' : 'I' # Ї
27
- '\u0457' : 'i' # ї
28
-
29
- '\u2019' : '?'
30
- "'" : '?'
@@ -1,406 +0,0 @@
1
- ---
2
- authority_id: var
3
- id: hepburn-1886
4
- language: jpn
5
- source_script: Hrkt
6
- destination_script: Latn
7
- name: Traditional Hepburn
8
- url: http://www.ab.cyberhome.ne.jp/~kaizu/roomazi/doc/hep3.html
9
- creation_date: 1886
10
- adoption_date:
11
- description:
12
- This is a traditional version of Hepburn romanization.
13
-
14
- notes:
15
- "
16
- The book was published before the Japanese orthographic reform,
17
- and this map takes the reformed orthography in Kana as the source
18
- form.
19
- https://en.wikipedia.org/wiki/Historical_kana_orthography
20
-
21
- The distinction for long-vowel vs. repeating vowels has not been
22
- implemented.
23
- For example, the consecutive o's in these words are considered
24
- a case of long vowel, and is transliterated as ō:
25
-
26
- 氷 (こおり) - kōri, 大阪(おおさか)- Ōsaka
27
-
28
- If there are two consecutive o's in a string, but they belong to
29
- different morpheme, then they should be transliterated separately.
30
-
31
- 小躍り(こおどり)- koodori
32
-
33
- The same goes for the combinations o+u, u+u as well.
34
-
35
- However, this cannot be easily determined from the Kana.
36
- Lexical knowledge is needed, and sometimes the Kanji representation
37
- will give more hints about morpheme boundary.
38
-
39
- For now, this map will assume that all o+o, o+u, u+u combinations to
40
- be instances of long vowels.
41
- "
42
-
43
- tests:
44
- - source: "ぐんま"
45
- expected: "gumma"
46
- - source: "しんよう"
47
- expected: "shin-yō"
48
- - source: "きんようび"
49
- expected: "kin-yōbi"
50
- - source: "とうきょう"
51
- expected: "tōkyō"
52
- - source: "しんばし"
53
- expected: "shimbashi"
54
-
55
- map:
56
-
57
- rules:
58
- # Add a dash (-) between ん and a vowel sound or ya, yu, yo
59
- - pattern: "([んン])(?=[あいうえおやゆよアイウエオヤユヨ])"
60
- result: "\\1-"
61
-
62
- # Convert ん into m before b, m, p
63
- - pattern: "[んン](?=[ばびぶべぼまみむめもぱぴぷぺぽバビブベボマミムメモパピプペポ])"
64
- result: "m"
65
-
66
- postrules:
67
- # Handling of っ/ッ
68
- #
69
- # The kana っ/ッ is a geminate marker.
70
- # When followed by a consonant, repeat the first letter of
71
- # the following syllable. Exception: the combination -cch-
72
- # should be transliterated as -tch-
73
- #
74
- # If っ/ッ is not followed by a consonant, then it is usually
75
- # phonetically realised as an abrupt stop or shorterning of
76
- # the previous syllable. There is no documented or commonly
77
- # accepted way to transliterate this sound.
78
-
79
- - pattern: "[っッ]([BbDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvWwXxYyZz])"
80
- result: "\\1\\1"
81
- - pattern: "[っッ]([Cc])" # ッ followed by ch-
82
- result: "t\\1"
83
- - pattern: "[っッ]" # drop all other っッ.
84
- result: ""
85
-
86
- # In Traditional Hepburn, long o (which can be o+o or o+u), and long u
87
- # are transliterated as ō and ū.
88
- #
89
- # Macron should not be used if two repeating letters split across
90
- # a morpheme boundary.
91
- #
92
- # Long vowels in loanwords are indicated with a macron instead
93
- # of letter doubling.
94
-
95
- - pattern: "a[ー]"
96
- result: "ā"
97
- - pattern: "i[ー]"
98
- result: "ī"
99
- - pattern: "u[ーu]"
100
- result: "ū"
101
- - pattern: "e[ー]"
102
- result: "ē"
103
- - pattern: "o[ーo]"
104
- result: "ō"
105
-
106
- characters:
107
-
108
- # Hiragana
109
-
110
- "あ": "a"
111
- "い": "i"
112
- "う": "u"
113
- "え": "e"
114
- "お": "o"
115
- "おう": "ō"
116
-
117
- "か": "ka"
118
- "き": "ki"
119
- "く": "ku"
120
- "け": "ke"
121
- "こ": "ko"
122
- "きゃ": "kya"
123
- "きゅ": "kyu"
124
- "きょ": "kyo"
125
- "きょう": "kyō"
126
- "こう": "kō"
127
-
128
- "さ": "sa"
129
- "し": "shi"
130
- "す": "su"
131
- "せ": "se"
132
- "そ": "so"
133
- "しゃ": "sha"
134
- "しゅ": "shu"
135
- "しょ": "sho"
136
- "しょう": "shō"
137
- "そう": "sō"
138
-
139
- "た": "ta"
140
- "ち": "chi"
141
- "つ": "tsu"
142
- "て": "te"
143
- "と": "to"
144
- "ちゃ": "cha"
145
- "ちゅ": "chu"
146
- "ちょ": "cho"
147
- "とう": "tō"
148
- "ちょう": "chō"
149
-
150
- "な": "na"
151
- "に": "ni"
152
- "ぬ": "nu"
153
- "ね": "ne"
154
- "の": "no"
155
- "にゃ": "nya"
156
- "にゅ": "nyu"
157
- "にょ": "nyo"
158
- "にょう": "nyō"
159
- "のう": "nō"
160
-
161
- "は": "ha"
162
- "ひ": "hi"
163
- "ふ": "fu"
164
- "へ": "he"
165
- "ほ": "ho"
166
- "ひゃ": "hya"
167
- "ひゅ": "hyu"
168
- "ひょ": "hyo"
169
- "ひょう": "hyō"
170
- "ほう": "hō"
171
-
172
- "ま": "ma"
173
- "み": "mi"
174
- "む": "mu"
175
- "め": "me"
176
- "も": "mo"
177
- "みゃ": "mya"
178
- "みゅ": "myu"
179
- "みょ": "myo"
180
- "みょう": "myō"
181
- "もう": "mō"
182
-
183
- "や": "ya"
184
- "ゆ": "yu"
185
- "よ": "yo"
186
- "よう": "yō"
187
-
188
- "ら": "ra"
189
- "り": "ri"
190
- "る": "ru"
191
- "れ": "re"
192
- "ろ": "ro"
193
- "りゃ": "rya"
194
- "りゅ": "ryu"
195
- "りょ": "ryo"
196
- "りょう": "ryō"
197
- "ろう": "rō"
198
-
199
- "わ": "wa"
200
- "を": "wo"
201
-
202
- "が": "ga"
203
- "ぎ": "gi"
204
- "ぐ": "gu"
205
- "げ": "ge"
206
- "ご": "go"
207
- "ぎゃ": "gya"
208
- "ぎゅ": "gyu"
209
- "ぎょ": "gyo"
210
- "ぎょう": "gyō"
211
- "ごう": "gō"
212
-
213
- "ざ": "za"
214
- "じ": "ji"
215
- "ず": "zu"
216
- "ぜ": "ze"
217
- "ぞ": "zo"
218
- "じゃ": "ja"
219
- "じゅ": "ju"
220
- "じょ": "jo"
221
- "じょう": "jō"
222
- "ぞう": "zō"
223
-
224
- "だ": "da"
225
- "ぢ": "ji"
226
- "づ": "zu"
227
- "で": "de"
228
- "ど": "do"
229
- "ぢゃ": "ja"
230
- "ぢゅ": "ju"
231
- "ぢょ": "jo"
232
- "どう": "dō"
233
-
234
- "ば": "ba"
235
- "び": "bi"
236
- "ぶ": "bu"
237
- "べ": "be"
238
- "ぼ": "bo"
239
- "びゃ": "bya"
240
- "びゅ": "byu"
241
- "びょ": "byo"
242
- "びょう": "byō"
243
- "ぼう": "bō"
244
-
245
- "ぱ": "pa"
246
- "ぴ": "pi"
247
- "ぷ": "pu"
248
- "ぺ": "pe"
249
- "ぽ": "po"
250
- "ぴゃ": "pya"
251
- "ぴゅ": "pyu"
252
- "ぴょ": "pyo"
253
- "ぴょう": "pyō"
254
- "ぽう": "pō"
255
-
256
- "ん": "n"
257
-
258
- # Katakana
259
-
260
- "ア": "a"
261
- "イ": "i"
262
- "ウ": "u"
263
- "エ": "e"
264
- "オ": "o"
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
- "シ": "shi"
280
- "ス": "su"
281
- "セ": "se"
282
- "ソ": "so"
283
- "シャ": "sha"
284
- "シュ": "shu"
285
- "ショ": "sho"
286
- "ショウ": "shō"
287
- "ソウ": "sō"
288
-
289
- "タ": "ta"
290
- "チ": "chi"
291
- "ツ": "tsu"
292
- "テ": "te"
293
- "ト": "to"
294
- "チャ": "cha"
295
- "チュ": "chu"
296
- "チョ": "cho"
297
- "チョウ": "chō"
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
- "フ": "fu"
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
- "ヲ": "wo"
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
- "ジ": "ji"
365
- "ズ": "zu"
366
- "ゼ": "ze"
367
- "ゾ": "zo"
368
- "ジャ": "ja"
369
- "ジュ": "ju"
370
- "ジョ": "jo"
371
- "ジョウ": "jō"
372
- "ゾウ": "zō"
373
-
374
- "ダ": "da"
375
- "ヂ": "ji"
376
- "ヅ": "zu"
377
- "デ": "de"
378
- "ド": "do"
379
- "ヂャ": "ja"
380
- "ヂュ": "ju"
381
- "ヂョ": "jo"
382
- "ドウ": "dō"
383
-
384
- "バ": "ba"
385
- "ビ": "bi"
386
- "ブ": "bu"
387
- "ベ": "be"
388
- "ボ": "bo"
389
- "ビャ": "bya"
390
- "ビュ": "byu"
391
- "ビョ": "byo"
392
- "ビョウ": "byō"
393
- "ボウ": "bō"
394
-
395
- "パ": "pa"
396
- "ピ": "pi"
397
- "プ": "pu"
398
- "ペ": "pe"
399
- "ポ": "po"
400
- "ピャ": "pya"
401
- "ピュ": "pyu"
402
- "ピョ": "pyo"
403
- "ピョウ": "pyō"
404
- "ポウ": "pō"
405
-
406
- "ン": "n"