interscript 0.1.6 → 2.1.0a9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (226) 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 -127
  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 +75 -339
  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 -71
  69. data/lib/interscript/mapping.rb +0 -142
  70. data/lib/interscript/opal.rb +0 -27
  71. data/lib/interscript/opal/maps.js.erb +0 -10
  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-amh-Ethi-Latn-1997.yaml +0 -509
  77. data/maps/alalc-amh-Ethi-Latn-2011.yaml +0 -138
  78. data/maps/alalc-ara-Arab-Latn-1997.yaml +0 -1283
  79. data/maps/alalc-asm-Deva-Latn-1997.yaml +0 -159
  80. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +0 -141
  81. data/maps/alalc-bel-Cyrl-Latn-1997.yaml +0 -125
  82. data/maps/alalc-ben-Beng-Latn-2017.yaml +0 -130
  83. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +0 -94
  84. data/maps/alalc-ell-Grek-Latn-1997.yaml +0 -624
  85. data/maps/alalc-ell-Grek-Latn-2010.yaml +0 -627
  86. data/maps/alalc-hin-Deva-Latn-2020.yaml +0 -159
  87. data/maps/alalc-kat-Geok-Latn-1997.yaml +0 -111
  88. data/maps/alalc-kat-Geor-Latn-1997.yaml +0 -146
  89. data/maps/alalc-kor-Hang-Latn-1997.yaml +0 -94
  90. data/maps/alalc-mar-Deva-Latn-1997.yaml +0 -170
  91. data/maps/alalc-mkd-Cyrl-Latn-1997.yaml +0 -114
  92. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +0 -103
  93. data/maps/alalc-pan-Deva-Latn-1997.yaml +0 -237
  94. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +0 -221
  95. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +0 -162
  96. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +0 -114
  97. data/maps/alalc-srp-Cyrl-Latn-2013.yaml +0 -135
  98. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +0 -141
  99. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +0 -16
  100. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +0 -283
  101. data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +0 -174
  102. data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +0 -169
  103. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +0 -292
  104. data/maps/bgn-kor-Hang-Latn-1943.yaml +0 -31
  105. data/maps/bgn-kor-Kore-Latn-1943.yaml +0 -31
  106. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +0 -208
  107. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +0 -208
  108. data/maps/bgnpcgn-amh-Ethi-Latn-1967.yaml +0 -528
  109. data/maps/bgnpcgn-ara-Arab-Latn-1956.yaml +0 -592
  110. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +0 -108
  111. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +0 -104
  112. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +0 -184
  113. data/maps/bgnpcgn-bel-Cyrl-Latn-1979.yaml +0 -285
  114. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +0 -115
  115. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +0 -38
  116. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +0 -701
  117. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +0 -19
  118. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +0 -257
  119. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +0 -127
  120. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +0 -42
  121. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +0 -253
  122. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +0 -48
  123. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +0 -48
  124. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +0 -159
  125. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +0 -190
  126. data/maps/bgnpcgn-nep-Deva-Latn-2011.yaml +0 -200
  127. data/maps/bgnpcgn-per-Arab-Latn-1956.yaml +0 -92
  128. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +0 -314
  129. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +0 -166
  130. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +0 -162
  131. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +0 -208
  132. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +0 -7456
  133. data/maps/bis-asm-Beng-Latn-13194-1991.yaml +0 -159
  134. data/maps/bis-ben-Beng-Latn-13194-1991.yaml +0 -156
  135. data/maps/bis-dev-Deva-Latn-13194-1991.yaml +0 -184
  136. data/maps/bis-gjr-Gujr-Latn-13194-1991.yaml +0 -166
  137. data/maps/bis-knd-Knda-Latn-13194-1991.yaml +0 -173
  138. data/maps/bis-mlm-Mlym-Latn-13194-1991.yaml +0 -176
  139. data/maps/bis-ori-Orya-Latn-13194-1991.yaml +0 -160
  140. data/maps/bis-pnj-Guru-Latn-13194-1991.yaml +0 -175
  141. data/maps/bis-tel-Telu-Latn-13194-1991.yaml +0 -170
  142. data/maps/bis-tml-Taml-Latn-13194-1991.yaml +0 -155
  143. data/maps/by-bel-Cyrl-Latn-1998.yaml +0 -168
  144. data/maps/by-bel-Cyrl-Latn-2007.yaml +0 -115
  145. data/maps/dos-nep-Deva-Latn-1997.yaml +0 -33
  146. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +0 -684
  147. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +0 -680
  148. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +0 -19
  149. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +0 -31
  150. data/maps/ggg-kat-Geor-Latn-2002.yaml +0 -88
  151. data/maps/gki-bel-Cyrl-Latn-1992.yaml +0 -33
  152. data/maps/gki-bel-Cyrl-Latn-2000.yaml +0 -201
  153. data/maps/gost-rus-Cyrl-Latn-16876-71-1983.yaml +0 -186
  154. data/maps/hk-yue-Hani-Latn-1888.yaml +0 -38497
  155. data/maps/icao-bel-Cyrl-Latn-9303.yaml +0 -136
  156. data/maps/icao-bul-Cyrl-Latn-9303.yaml +0 -118
  157. data/maps/icao-heb-Hebr-Latn-9303.yaml +0 -151
  158. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +0 -117
  159. data/maps/icao-per-Arab-Latn-9303.yaml +0 -103
  160. data/maps/icao-rus-Cyrl-Latn-9303.yaml +0 -117
  161. data/maps/icao-srp-Cyrl-Latn-9303.yaml +0 -117
  162. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +0 -119
  163. data/maps/iso-ara-Arab-Latn-233-1984.yaml +0 -323
  164. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +0 -609
  165. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +0 -40
  166. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +0 -62
  167. data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +0 -271
  168. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +0 -109
  169. data/maps/kp-kor-Hang-Latn-2002.yaml +0 -901
  170. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +0 -44820
  171. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +0 -411
  172. data/maps/moct-kor-Hang-Latn-2000.yaml +0 -803
  173. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +0 -541
  174. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +0 -225
  175. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +0 -63
  176. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +0 -109
  177. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +0 -37
  178. data/maps/nil-kor-Hang-Hang-jamo.yaml +0 -11193
  179. data/maps/odni-aze-Cyrl-Latn-2015.yaml +0 -144
  180. data/maps/odni-bel-Cyrl-Latn-2015.yaml +0 -148
  181. data/maps/odni-bul-Cyrl-Latn-2015.yaml +0 -96
  182. data/maps/odni-hin-Deva-Latn-2015.yaml +0 -258
  183. data/maps/odni-kat-Geor-Latn-2015.yaml +0 -87
  184. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +0 -148
  185. data/maps/odni-kir-Cyrl-Latn-2015.yaml +0 -136
  186. data/maps/odni-mkd-Cyrl-Latn-2015.yaml +0 -122
  187. data/maps/odni-rus-Cyrl-Latn-2015.yaml +0 -77
  188. data/maps/odni-srp-Cyrl-Latn-2015.yaml +0 -129
  189. data/maps/odni-tat-Cyrl-Latn-2015.yaml +0 -142
  190. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +0 -148
  191. data/maps/odni-uig-Cyrl-Latn-2015.yaml +0 -138
  192. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +0 -157
  193. data/maps/odni-urd-Arab-Latn-2015.yaml +0 -221
  194. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +0 -166
  195. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +0 -90
  196. data/maps/royin-tha-Thai-Latn-1968.yaml +0 -179
  197. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +0 -180
  198. data/maps/royin-tha-Thai-Latn-1999.yaml +0 -76
  199. data/maps/sac-zho-Hans-Latn-1979.yaml +0 -24759
  200. data/maps/ses-ara-Arab-Latn-1930.yaml +0 -279
  201. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +0 -222
  202. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +0 -193
  203. data/maps/un-ara-Arab-Latn-1971.yaml +0 -139
  204. data/maps/un-ara-Arab-Latn-1972.yaml +0 -159
  205. data/maps/un-ara-Arab-Latn-2017.yaml +0 -420
  206. data/maps/un-bel-Cyrl-Latn-2007.yaml +0 -114
  207. data/maps/un-ben-Beng-Latn-2016.yaml +0 -534
  208. data/maps/un-ell-Grek-Latn-1987-tl.yaml +0 -31
  209. data/maps/un-ell-Grek-Latn-1987-ts.yaml +0 -19
  210. data/maps/un-ell-Grek-Latn-phonetic-1987.yaml +0 -780
  211. data/maps/un-mon-Mong-Latn-2013.yaml +0 -99
  212. data/maps/un-nep-Deva-Latn-1972.yaml +0 -163
  213. data/maps/un-rus-Cyrl-Latn-1987.yaml +0 -166
  214. data/maps/un-ukr-Cyrl-Latn-1998.yaml +0 -30
  215. data/maps/ungegn-amh-Ethi-Latn-2016.yaml +0 -575
  216. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +0 -406
  217. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +0 -386
  218. data/maps/var-kor-Hang-Latn-mr-1939.yaml +0 -1054
  219. data/maps/var-kor-Kore-Hang-2013.yaml +0 -59754
  220. data/maps/var-kor-Kore-Latn-mr-1939.yaml +0 -36
  221. data/maps/var-tha-Thai-Thai-phonemic.yaml +0 -59
  222. data/maps/var-tha-Thai-Zsym-ipa.yaml +0 -301
  223. data/maps/var-zho-Hani-Latn-1979.yaml +0 -38908
  224. data/spec/interscript/mapping_spec.rb +0 -42
  225. data/spec/interscript_spec.rb +0 -26
  226. data/spec/spec_helper.rb +0 -3
@@ -1,94 +0,0 @@
1
- ---
2
- authority_id: alalc
3
- id: 1997
4
- language: bul
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: ALA-LC Romanization Table -- Bulgarian (1997)
8
- url: http://www.rechtertie.nl/databases/judd/downloads/Bulgarian.pdf
9
- creation_date: 1997
10
-
11
- notes:
12
- - |
13
- The letter Ъ in the initial and medial position is a vowel in Bulgarian and is romanized as ŭ.
14
- It appears in the final position chiefly in texts published before 1945, in which it serves as
15
- a hard sign and is romanized as ʺ.
16
- - The letters Ѣ and Ѫ are found chiefly in texts published before the orthographic reform of 1945.
17
-
18
- tests:
19
- # missing
20
-
21
- map:
22
- rules:
23
- # note[1]
24
- - pattern: (?<=)\u042a(?=\b)
25
- result: "\u02BA"
26
- - pattern: (?<=)u044a(?=\b)
27
- result: "\u02BA"
28
-
29
- characters:
30
- '\u0410': 'A'
31
- '\u0411': 'B'
32
- '\u0412': 'V'
33
- '\u0413': 'G'
34
- '\u0414': 'D'
35
- '\u0415': 'E'
36
- '\u0416': 'Zh'
37
- '\u0417': 'Z'
38
- '\u0418': 'I'
39
- '\u0419': "I\u0306" # Ĭ
40
- '\u041a': 'K'
41
- '\u041b': 'L'
42
- '\u041c': 'M'
43
- '\u041d': 'N'
44
- '\u041e': 'O'
45
- '\u041f': 'P'
46
- '\u0420': 'R'
47
- '\u0421': 'S'
48
- '\u0422': 'T'
49
- '\u0423': 'U'
50
- '\u0424': 'F'
51
- '\u0425': 'Kh'
52
- '\u0426': "T\u0361S"
53
- '\u0427': 'Ch'
54
- '\u0428': 'Sh'
55
- '\u0429': 'Sht'
56
- '\u042a': "U\u0306" # or ʺ check note[1]
57
- '\u042c': '\u02B9'
58
- '\u0462': "I\u0361E" # Ѣ check note [2]
59
- '\u042e': "I\u0361U"
60
- '\u042f': "I\u0361A"
61
- '\u046A': "U\u0310" # Ѫ check note [2]
62
-
63
- '\u0430': 'a'
64
- '\u0431': 'b'
65
- '\u0432': 'v'
66
- '\u0433': 'g'
67
- '\u0434': 'd'
68
- '\u0435': 'e'
69
- '\u0436': 'zh'
70
- '\u0437': 'z'
71
- '\u0438': 'i'
72
- '\u0439': "i\u0306" # ĭ
73
- '\u043a': 'k'
74
- '\u043b': 'l'
75
- '\u043c': 'm'
76
- '\u043d': 'n'
77
- '\u043e': 'o'
78
- '\u043f': 'p'
79
- '\u0440': 'r'
80
- '\u0441': 's'
81
- '\u0442': 't'
82
- '\u0443': 'u'
83
- '\u0444': 'f'
84
- '\u0445': 'kh'
85
- '\u0446': "t\u0361s"
86
- '\u0447': 'ch'
87
- '\u0448': 'sh'
88
- '\u0449': 'sht'
89
- '\u044a': "u\u0306" # or ʺ check note[1]
90
- '\u044c': '\u02B9'
91
- '\u0463': "i\u0361e" # ѣ check note [2]
92
- '\u044e': "i\u0361u"
93
- '\u044f': "i\u0361a"
94
- '\u046B': "u\u0310" # ѫ check note [2]
@@ -1,624 +0,0 @@
1
- ---
2
- authority_id: alalc
3
- id: 1997
4
- language: ell
5
- source_script: Grek
6
- destination_script: Latn
7
- name: Greek Romanization, 1997
8
- url: http://catdir.loc.gov/catdir/cpso/romanization/greek.pdf
9
- creation_date: 1997
10
- description: |
11
- ALA-LC Romanization table for Greek
12
-
13
- note:
14
- - Applies to texts after 1453 (Modern Greek)
15
- - This table presupposes monotonic accentuation; rough breathings are accordingly not addressed.
16
- - The diphthong definition for upsilon is taken from the 2010 version
17
- - Generalised gramma digraph rule to capitals
18
-
19
- tests:
20
-
21
- - source: |
22
- Ένα πράμα μόνον με παρακίνησε κι εμένα να γράψω ότι τούτην την πατρίδα την έχομεν όλοι μαζί, και σοφοί κι αμαθείς και πλούσιοι και φτωχοί και πολιτικοί και στρατιωτικοί και οι πλέον μικρότεροι άνθρωποι· όσοι αγωνιστήκαμεν, αναλόγως ο καθείς, έχομεν να ζήσομεν εδώ. Το λοιπόν δουλέψαμεν όλοι μαζί, να την φυλάμεν κι όλοι μαζί και να μην λέγει ούτε ο δυνατός «εγώ» ούτε ο αδύνατος. Ξέρετε πότε να λέγει ο καθείς «εγώ»; Όταν αγωνιστεί μόνος του και φκιάσει ή χαλάσει, να λέγει «εγώ»· όταν όμως αγωνίζονται πολλοί και φκιάνουν, τότε να λένε «εμείς». Είμαστε εις το «εμείς» κι όχι εις το «εγώ». Και εις το εξής να μάθομεν γνώση, αν θέλομεν να φκιάσομεν χωριόν, να ζήσομεν όλοι μαζί.
23
-
24
- Γιάννης Μακρυγιάννης.
25
-
26
- expected: |
27
- Ena prama monon me parakinēse ki emena na grapsō oti toutēn tēn patrida tēn echomen oloi mazi, kai sophoi ki amatheis kai plousioi kai phtōchoi kai politikoi kai stratiōtikoi kai oi pleon mikroteroi anthrōpoi; osoi agōnistēkamen, analogōs o katheis, echomen na zēsomen edō. To loipon doulepsamen oloi mazi, na tēn phylamen ki oloi mazi kai na mēn legei oute o dynatos «egō» oute o adynatos. Xerete pote na legei o katheis «egō»? Otan agōnistei monos tou kai phkiasei ē chalasei, na legei «egō»; otan omōs agōnizontai polloi kai phkianoun, tote na lene «emeis». Eimaste eis to «emeis» ki ochi eis to «egō». Kai eis to exēs na mathomen gnōsē, an thelomen na phkiasomen chōrion, na zēsomen oloi mazi.
28
-
29
- Giannēs Makrygiannēs.
30
-
31
-
32
- - source: ΑΘΗΝΑ
33
- expected: ATHĒNA
34
- - source: μπαμπάκι
35
- expected: bampaki
36
- - source: νταντά
37
- expected: ḏanta
38
- - source: γκέγκε
39
- expected: nkenke
40
- - source: Γκαμπόν
41
- expected: Nkampon
42
- - source: Μάγχη
43
- expected: Manchē
44
- - source: κογξ
45
- expected: konx
46
- - source: υιός
47
- expected: uios
48
- - source: Υιός
49
- expected: Uios
50
- - source: νεράντζι
51
- expected: nerantzi
52
- - source: Γοίθιος
53
- expected: Goithios
54
- - source: μπέικον
55
- expected: beikon
56
- - source: μπέϊκον
57
- expected: beikon
58
- - source: βόλεϊ
59
- expected: volei
60
- - source: αθεΐα
61
- expected: atheia
62
- - source: Εϊγιαφιάτλαγιοκουτλ
63
- expected: Eigiaphiatlagiokoutl
64
- - source: Εΐτζι
65
- expected: Eitzi
66
- - source: Μυρτώο
67
- expected: Myrtōo
68
- - source: αέρας
69
- expected: aeras
70
- - source: γαυ γαυ
71
- expected: gau gau
72
- - source: Ταΰγετος
73
- expected: Taygetos
74
- - source: σπρέυ
75
- expected: sprey
76
-
77
- - source: Αθήνα
78
- expected: Athēna
79
- - source: Άγιον Όρος
80
- expected: Agion Oros
81
- - source: Άγραφα
82
- expected: Agrapha
83
- - source: Αγρίνιο
84
- expected: Agrinio
85
- - source: Αίγινα
86
- expected: Aigina
87
- - source: Αίγιο
88
- expected: Aigio
89
- - source: Αλεξανδρούπολη
90
- expected: Alexandroupolē
91
- - source: Αλεποχώρι
92
- expected: Alepochōri
93
- - source: Αμοργός
94
- expected: Amorgos
95
- - source: Άμφισσα
96
- expected: Amphissa
97
- - source: Αράχωβα
98
- expected: Arachōva
99
- - source: Άργος
100
- expected: Argos
101
- - source: Αρκαδία
102
- expected: Arkadia
103
- - source: Άρτα
104
- expected: Arta
105
- - source: Βελούχι
106
- expected: Velouchi
107
- - source: Βέροια
108
- expected: Veroia
109
- - source: Βοιωτία
110
- expected: Voiōtia
111
- - source: Βόλος
112
- expected: Volos
113
- - source: Βόνιτσα
114
- expected: Vonitsa
115
- - source: Γαλαξίδι
116
- expected: Galaxidi
117
- - source: Γαλάτσι
118
- expected: Galatsi
119
- - source: Γιαννιτσά
120
- expected: Giannitsa
121
- - source: Γλυφάδα
122
- expected: Glyphada
123
- - source: Γρανίτσα
124
- expected: Granitsa
125
- - source: Γρεβενά
126
- expected: Grevena
127
- - source: Γύθειο
128
- expected: Gytheio
129
- - source: Διόνυσος
130
- expected: Dionysos
131
- - source: Δίστομο
132
- expected: Distomo
133
- - source: Δολιανά
134
- expected: Doliana
135
- - source: Δράμα
136
- expected: Drama
137
- - source: Δωδεκάνησα
138
- expected: Dōdekanēsa
139
- - source: Έδεσσα
140
- expected: Edessa
141
- - source: Ελευσίνα
142
- expected: Eleusina
143
- - source: Επίδαυρος
144
- expected: Epidauros
145
- - source: Επτάνησα
146
- expected: Eptanēsa
147
- - source: Ερμούπολη
148
- expected: Ermoupolē
149
- - source: Εύβοια
150
- expected: Euvoia
151
- - source: Ζάκυνθος
152
- expected: Zakynthos
153
- - source: Ήπειρος
154
- expected: Ēpeiros
155
- - source: Ηράκλειο
156
- expected: Ērakleio
157
- - source: Θάσος
158
- expected: Thasos
159
- - source: Θεσσαλονίκη
160
- expected: Thessalonikē
161
- - source: Θεσσαλία
162
- expected: Thessalia
163
- - source: Θεσπρωτία
164
- expected: Thesprōtia
165
- - source: Θήβα
166
- expected: Thēva
167
- - source: Θράκη
168
- expected: Thrakē
169
- - source: Ιθάκη
170
- expected: Ithakē
171
- - source: Ίος
172
- expected: Ios
173
- - source: Ιωάννινα
174
- expected: Iōannina
175
- - source: Καβάλα
176
- expected: Kavala
177
- - source: Καλάβρυτα
178
- expected: Kalavryta
179
- - source: Καλαμάτα
180
- expected: Kalamata
181
- - source: Καλαμπάκα
182
- expected: Kalampaka
183
- - source: Καλύβια
184
- expected: Kalyvia
185
- - source: Κάλυμνος
186
- expected: Kalymnos
187
- - source: Καρδίτσα
188
- expected: Karditsa
189
- - source: Καρπενήσι
190
- expected: Karpenēsi
191
- - source: Κάρυστος
192
- expected: Karystos
193
- - source: Καστελλόριζο
194
- expected: Kastellorizo
195
- - source: Καστοριά
196
- expected: Kastoria
197
- - source: Κατερίνη
198
- expected: Katerinē
199
- - source: Κάτω Αχαΐα
200
- expected: Katō Achaia
201
- - source: Κερατέα
202
- expected: Keratea
203
- - source: Κέρκυρα
204
- expected: Kerkyra
205
- - source: Κεφαλλονιά
206
- expected: Kephallonia
207
- - source: Κηφισιά
208
- expected: Kēphisia
209
- - source: Κιλκίς
210
- expected: Kilkis
211
- - source: Κοζάνη
212
- expected: Kozanē
213
- - source: Κολωνός
214
- expected: Kolōnos
215
- - source: Κομοτηνή
216
- expected: Komotēnē
217
- - source: Κόρινθος
218
- expected: Korinthos
219
- - source: Κορώνη
220
- expected: Korōnē
221
- - source: Κρανίδι
222
- expected: Kranidi
223
- - source: Κρέστενα
224
- expected: Krestena
225
- - source: Κρήτη
226
- expected: Krētē
227
- - source: Κύθηρα
228
- expected: Kythēra
229
- - source: Κυκλάδες
230
- expected: Kyklades
231
- - source: Κύμη
232
- expected: Kymē
233
- - source: Κυψέλη
234
- expected: Kypselē
235
- - source: Κως
236
- expected: Kōs
237
- - source: Λαγκαδάς
238
- expected: Lankadas
239
- - source: Λαμία
240
- expected: Lamia
241
- - source: Λάρισα
242
- expected: Larisa
243
- - source: Λαύριο
244
- expected: Laurio
245
- - source: Λέρος
246
- expected: Leros
247
- - source: Λέσβος
248
- expected: Lesvos
249
- - source: Λευκάδα
250
- expected: Leukada
251
- - source: Λήμνος
252
- expected: Lēmnos
253
- - source: Λιβαδειά
254
- expected: Livadeia
255
- - source: Μακεδονία
256
- expected: Makedonia
257
- - source: Μάνη
258
- expected: Manē
259
- - source: Μαραθώνας
260
- expected: Marathōnas
261
- - source: Μαρκόπουλο
262
- expected: Markopoulo
263
- - source: Μαρούσι
264
- expected: Marousi
265
- - source: Μέγαρα
266
- expected: Megara
267
- - source: Μεσολόγγι
268
- expected: Mesolongi
269
- - source: Μεταξουργείο
270
- expected: Metaxourgeio
271
- - source: Μέτσοβο
272
- expected: Metsovo
273
- - source: Μήλος
274
- expected: Mēlos
275
- - source: Μύκονος
276
- expected: Mykonos
277
- - source: Μυστράς
278
- expected: Mystras
279
- - source: Μυτιλήνη
280
- expected: Mytilēnē
281
- - source: Νάξος
282
- expected: Naxos
283
- - source: Νάουσα
284
- expected: Naousa
285
- - source: Ναύπακτος
286
- expected: Naupaktos
287
- - source: Ναύπλιο
288
- expected: Nauplio
289
- - source: Νέα Σμύρνη
290
- expected: Nea Smyrnē
291
- - source: Νίσυρος
292
- expected: Nisyros
293
- - source: Ξάνθη
294
- expected: Xanthē
295
- - source: Όλυμπος
296
- expected: Olympos
297
- - source: Παγκράτι
298
- expected: Pankrati
299
- - source: Παπάγου
300
- expected: Papagou
301
- - source: Πάρος
302
- expected: Paros
303
- - source: Πασαλιμάνι
304
- expected: Pasalimani
305
- - source: Πατήσια
306
- expected: Patēsia
307
- - source: Πάτμος
308
- expected: Patmos
309
- - source: Πάτρα
310
- expected: Patra
311
- - source: Πειραιάς
312
- expected: Peiraias
313
- - source: Πελοπόννησος
314
- expected: Peloponnēsos
315
- - source: Περιστέρι
316
- expected: Peristeri
317
- - source: Πεύκη
318
- expected: Peukē
319
- - source: Πήλιο
320
- expected: Pēlio
321
- - source: Πολύγυρος
322
- expected: Polygyros
323
- - source: Πόρος
324
- expected: Poros
325
- - source: Πρέβεζα
326
- expected: Preveza
327
- - source: Πτολεμαΐδα
328
- expected: Ptolemaida
329
- - source: Πύλος
330
- expected: Pylos
331
- - source: Πύργος
332
- expected: Pyrgos
333
- - source: Ρέθυμνο
334
- expected: Rethymno
335
- - source: Ρόδος
336
- expected: Rodos
337
- - source: Ρούμελη
338
- expected: Roumelē
339
- - source: Σαλαμίνα
340
- expected: Salamina
341
- - source: Σαμοθράκη
342
- expected: Samothrakē
343
- - source: Σάμος
344
- expected: Samos
345
- - source: Σαντορίνη
346
- expected: Santorinē
347
- - source: Σέρρες
348
- expected: Serres
349
- - source: Σίκινος
350
- expected: Sikinos
351
- - source: Σίφνος
352
- expected: Siphnos
353
- - source: Σκιάθος
354
- expected: Skiathos
355
- - source: Σκόπελος
356
- expected: Skopelos
357
- - source: Σούλι
358
- expected: Souli
359
- - source: Σπάρτη
360
- expected: Spartē
361
- - source: Στερεά Ελλάδα
362
- expected: Sterea Ellada
363
- - source: Στύρα
364
- expected: Styra
365
- - source: Σύμη
366
- expected: Symē
367
- - source: Σύρος
368
- expected: Syros
369
- - source: Σφακιά
370
- expected: Sphakia
371
- - source: Τήλος
372
- expected: Tēlos
373
- - source: Τήνος
374
- expected: Tēnos
375
- - source: Τρίκαλα
376
- expected: Trikala
377
- - source: Τρίπολη
378
- expected: Tripolē
379
- - source: Τσακωνιά
380
- expected: Tsakōnia
381
- - source: Ύδρα
382
- expected: Ydra
383
- - source: Φάληρο
384
- expected: Phalēro
385
- - source: Φλώρινα
386
- expected: Phlōrina
387
- - source: Φολέγανδρος
388
- expected: Pholegandros
389
- - source: Χάλκη
390
- expected: Chalkē
391
- - source: Χαλκίδα
392
- expected: Chalkida
393
- - source: Χαλάνδρι
394
- expected: Chalandri
395
- - source: Χαλκιδική
396
- expected: Chalkidikē
397
- - source: Χανιά
398
- expected: Chania
399
- - source: Χίος
400
- expected: Chios
401
- - source: Ψαρά
402
- expected: Psara
403
- - source: Αβάνα
404
- expected: Avana
405
- - source: Αγγλία
406
- expected: Anglia
407
- - source: Αϊβαλί
408
- expected: Aivali
409
- - source: Αλεξάνδρεια
410
- expected: Alexandreia
411
- - source: Άμστερνταμ
412
- expected: Amsterntam
413
- - source: Βαυαρία
414
- expected: Vauaria
415
- - source: Βενετία
416
- expected: Venetia
417
- - source: Βερολίνο
418
- expected: Verolino
419
- - source: Βερόνα
420
- expected: Verona
421
- - source: Βιέννη
422
- expected: Viennē
423
- - source: Γένοβα
424
- expected: Genova
425
- - source: Δουβλίνο
426
- expected: Douvlino
427
- - source: Καλαβρία
428
- expected: Kalavria
429
- - source: Καλιφόρνια
430
- expected: Kaliphornia
431
- - source: Καύκασος
432
- expected: Kaukasos
433
- - source: Κονγκό
434
- expected: Konnko
435
- - source: Κορσική
436
- expected: Korsikē
437
- - source: Κουρδιστάν
438
- expected: Kourdistan
439
- - source: Κωνσταντινούπολη
440
- expected: Kōnstantinoupolē
441
- - source: Κατεχόμενη Κύπρος
442
- expected: Katechomenē Kypros
443
- - source: Λαπωνία
444
- expected: Lapōnia
445
- - source: Λευκωσία
446
- expected: Leukōsia
447
- - source: Λιβόρνο
448
- expected: Livorno
449
- - source: Λονδίνο
450
- expected: Londino
451
- - source: Λυών
452
- expected: Lyōn
453
- - source: Μάλαγα
454
- expected: Malaga
455
- - source: Μασσαλία
456
- expected: Massalia
457
- - source: Μικρονησία
458
- expected: Mikronēsia
459
- - source: Μιλάνο
460
- expected: Milano
461
- - source: Μόσχα
462
- expected: Moscha
463
- - source: Μπολόνια
464
- expected: Bolonia
465
- - source: Νάπολη
466
- expected: Napolē
467
- - source: Νταγκεστάν
468
- expected: Ḏankestan
469
- - source: Νέα Υόρκη
470
- expected: Nea Yorkē
471
- - source: Οξφόρδη
472
- expected: Oxphordē
473
- - source: Ουαλία
474
- expected: Oualia
475
- - source: Παρίσι
476
- expected: Parisi
477
- - source: Πάφος
478
- expected: Paphos
479
- - source: Πολυνησία
480
- expected: Polynēsia
481
- - source: Ρώμη
482
- expected: Rōmē
483
- - source: Σαμάρεια
484
- expected: Samareia
485
- - source: Σικελία
486
- expected: Sikelia
487
- - source: Σκανδιναβία
488
- expected: Skandinavia
489
- - source: Σκόπια
490
- expected: Skopia
491
- - source: Σκωτία
492
- expected: Skōtia
493
- - source: Σμύρνη
494
- expected: Smyrnē
495
- - source: Ταϊτή
496
- expected: Taitē
497
- - source: Ταταρστάν
498
- expected: Tatarstan
499
- - source: Τζαμάικα
500
- expected: Tzamaika
501
- - source: Τηλλυρία
502
- expected: Tēllyria
503
- - source: Τιρόλο
504
- expected: Tirolo
505
- - source: Τορίνο
506
- expected: Torino
507
- - source: Φανάρι
508
- expected: Phanari
509
- - source: Φλωρεντία
510
- expected: Phlōrentia
511
- - source: Χαβάη
512
- expected: Chavaē
513
- - source: Χονγκ Κονγκ
514
- expected: Chonnk Konnk
515
-
516
- map:
517
- # https://en.wikipedia.org/wiki/Romanization_of_Greek
518
- rules:
519
- - pattern: (?<=[ΑαΕεΟοΗηΩω])\u03A5 # Υ (after Α, Ε, Ο, Η, Ω)
520
- result: U
521
- - pattern: (?<=[ΑαΕεΟοΗηΩω])\u03C5 # υ (after Α, Ε, Ο, Η, Ω)
522
- result: u
523
- - pattern: (?<=[ΑαΕεΟοΗηΩω])\u03CD # ύ (after Α, Ε, Ο, Η, Ω)
524
- result: u
525
- - pattern: \u03A5(?=[Ιιί]) # Υ (before Ι)
526
- result: U
527
- - pattern: \u03C5(?=[Ιιί]) # Υ (before Ι)
528
- result: u
529
- - pattern: \u0393(?=[γΓκΚξΞχΧ]) # Γ (before Γ, Κ, Ξ, Χ)
530
- result: N
531
- - pattern: \u03B3(?=[γΓκΚξΞχΧ]) # γ (before Γ, Κ, Ξ, Χ)
532
- result: n
533
- - pattern: (?<=\b)\u039D\u03A4 # ΝΤ
534
- result: Ḏ
535
- - pattern: (?<=\b)\u039D\u03C4 # Ντ
536
- result: Ḏ
537
- - pattern: (?<=\b)\u03BD\u03C4 # ντ
538
- result: ḏ
539
- - pattern: (?<=\b)\u039C\u03A0 # ΜΠ
540
- result: B
541
- - pattern: (?<=\b)\u039C\u03C0 # Μπ
542
- result: B
543
- - pattern: (?<=\b)\u03BC\u03C0 # μπ
544
- result: b
545
- - pattern: \u037E # ;
546
- result: "?"
547
- - pattern: \u003B # ;
548
- result: "?"
549
-
550
- characters:
551
- "\u0027": ""
552
- "\u0386": "A" # Ά
553
- "\u0391": "A" # Α
554
- "\u0392": "V" # Β
555
- "\u0393": "G" # Γ
556
- "\u0394": "D" # Δ
557
- "\u0395": "E" # Ε
558
- "\u0396": "Z" # Ζ
559
- "\u0397": "Ē" # Η
560
- "\u0398": "Th" # Θ
561
- "\u0399": "I" # Ι
562
- "\u039A": "K" # Κ
563
- "\u039B": "L" # Λ
564
- "\u039C": "M" # Μ
565
- "\u039D": "N" # Ν
566
- "\u039E": "X" # Ξ
567
- "\u039F": "O" # Ο
568
- "\u03A0": "P" # Π
569
- "\u03A1": "R" # Ρ
570
- "\u03A3": "S" # Σ
571
- "\u03A4": "T" # Τ
572
- "\u03A5": "Y" # Υ
573
- "\u03A6": "Ph" # Φ
574
- "\u03A7": "Ch" # Χ
575
- "\u03A8": "Ps" # Ψ
576
- "\u03A9": "Ō" # Ω
577
- "\u0388": "E" # Έ
578
- "\u0389": "Ē" # Ή
579
- "\u038A": "I" # Ί
580
- "\u038C": "O" # Ό
581
- "\u038E": "Y" # Ύ
582
- "\u038F": "Ō" # Ώ
583
- "\u03AA": "I" # Ϊ
584
- "\u03AB": "Y" # Ϋ
585
-
586
- "\u03AC": "a" # ά
587
- "\u03B1": "a" # α
588
- "\u03B2": "v" # β
589
- "\u03B3": "g" # γ
590
- "\u03B4": "d" # δ
591
- "\u03B5": "e" # ε
592
- "\u03B6": "z" # ζ
593
- "\u03B7": "ē" # η
594
- "\u03B8": "th" # θ
595
- "\u03B9": "i" # ι
596
- "\u03BA": "k" # κ
597
- "\u03BB": "l" # λ
598
- "\u03BC": "m" # μ
599
- "\u03BD": "n" # ν
600
- "\u03BE": "x" # ξ
601
- "\u03BF": "o" # ο
602
- "\u03C0": "p" # π
603
- "\u03C1": "r" # ρ
604
- "\u03C3": "s" # σ
605
- "\u03C2": "s" # ς
606
- "\u03C4": "t" # τ
607
- "\u03C5": "y" # υ
608
- "\u03C6": "ph" # φ
609
- "\u03C7": "ch" # χ
610
- "\u03C8": "ps" # ψ
611
- "\u03C9": "ō" # ω
612
- "\u03AD": "e" # έ
613
- "\u03AE": "ē" # ή
614
- "\u03AF": "i" # ί
615
- "\u03CC": "o" # ό
616
- "\u03CD": "y" # ύ
617
- "\u03CE": "ō" # ώ
618
- "\u03CA": "i" # ϊ
619
- "\u03CB": "y" # ϋ
620
- "\u0390": "i" # ΐ
621
- "\u03B0": "y" # ΰ
622
-
623
- "\u0387": ";" # ·
624
- "\u00B7": ";" # ·