interscript 0.1.4 → 2.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (183) 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 +76 -128
  21. data/lib/interscript/command.rb +6 -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 -223
  63. data/README.adoc +0 -297
  64. data/bin/rspec +0 -29
  65. data/lib/g2pwrapper.py +0 -34
  66. data/lib/interscript/mapping.rb +0 -125
  67. data/lib/model-7 +0 -0
  68. data/lib/tha-pt-b-7 +0 -0
  69. data/maps/acadsin-zho-Hani-Latn-2002.yaml +0 -38912
  70. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +0 -141
  71. data/maps/alalc-bel-cyrl-latn-1997.yaml +0 -125
  72. data/maps/alalc-ben-Beng-Latn-2017.yaml +0 -130
  73. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +0 -94
  74. data/maps/alalc-ell-Grek-Latn-1997.yaml +0 -625
  75. data/maps/alalc-ell-Grek-Latn-2010.yaml +0 -628
  76. data/maps/alalc-kat-Geok-Latn-1997.yaml +0 -112
  77. data/maps/alalc-kat-Geor-Latn-1997.yaml +0 -146
  78. data/maps/alalc-kor-Hang-Latn-1997.yaml +0 -94
  79. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +0 -103
  80. data/maps/alalc-mkd-cyrl-latn-1997.yaml +0 -114
  81. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +0 -222
  82. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +0 -162
  83. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +0 -114
  84. data/maps/alalc-srp-cyrl-latn-2013.yaml +0 -135
  85. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +0 -141
  86. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +0 -16
  87. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +0 -283
  88. data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +0 -175
  89. data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +0 -169
  90. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +0 -294
  91. data/maps/bgn-kor-Hang-Latn-1943.yaml +0 -31
  92. data/maps/bgn-kor-Kore-Latn-1943.yaml +0 -31
  93. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +0 -208
  94. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +0 -208
  95. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +0 -108
  96. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +0 -104
  97. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +0 -184
  98. data/maps/bgnpcgn-bel-cyrl-latn-1979.yaml +0 -285
  99. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +0 -115
  100. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +0 -38
  101. data/maps/bgnpcgn-chn-Hans-Latn-1979.yaml +0 -7456
  102. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +0 -702
  103. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +0 -20
  104. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +0 -257
  105. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +0 -127
  106. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +0 -43
  107. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +0 -253
  108. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +0 -48
  109. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +0 -48
  110. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +0 -159
  111. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +0 -190
  112. data/maps/bgnpcgn-per-Arab-Latn-1956.yaml +0 -93
  113. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +0 -314
  114. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +0 -166
  115. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +0 -163
  116. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +0 -208
  117. data/maps/by-bel-Cyrl-Latn-1998.yaml +0 -168
  118. data/maps/by-bel-Cyrl-Latn-2007.yaml +0 -115
  119. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +0 -685
  120. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +0 -681
  121. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +0 -20
  122. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +0 -32
  123. data/maps/ggg-kat-Geor-Latn-2002.yaml +0 -89
  124. data/maps/gki-bel-cyrl-latn-1992.yaml +0 -33
  125. data/maps/gki-bel-cyrl-latn-2000.yaml +0 -201
  126. data/maps/gost-rus-cyrl-latn-16876-71-1983.yaml +0 -186
  127. data/maps/hk-yue-Hani-Latn-1888.yaml +0 -38497
  128. data/maps/icao-bel-Cyrl-Latn-9303.yaml +0 -141
  129. data/maps/icao-bul-Cyrl-Latn-9303.yaml +0 -122
  130. data/maps/icao-heb-Hebr-Latn-9303.yaml +0 -151
  131. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +0 -117
  132. data/maps/icao-per-Arab-Latn-9303.yaml +0 -104
  133. data/maps/icao-rus-Cyrl-Latn-9303.yaml +0 -118
  134. data/maps/icao-srp-Cyrl-Latn-9303.yaml +0 -117
  135. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +0 -120
  136. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +0 -610
  137. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +0 -41
  138. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +0 -62
  139. data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +0 -272
  140. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +0 -109
  141. data/maps/kp-kor-Hang-Latn-2002.yaml +0 -901
  142. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +0 -44820
  143. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +0 -411
  144. data/maps/moct-kor-Hang-Latn-2000.yaml +0 -803
  145. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +0 -541
  146. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +0 -225
  147. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +0 -63
  148. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +0 -110
  149. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +0 -37
  150. data/maps/nil-kor-Hang-Hang-jamo.yaml +0 -11193
  151. data/maps/odni-bel-Cyrl-Latn-2015.yaml +0 -148
  152. data/maps/odni-bul-Cyrl-Latn-2015.yaml +0 -96
  153. data/maps/odni-kat-Geor-Latn-2015.yaml +0 -88
  154. data/maps/odni-rus-Cyrl-Latn-2015.yaml +0 -77
  155. data/maps/odni-srp-Cyrl-Latn-2015.yaml +0 -129
  156. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +0 -157
  157. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +0 -167
  158. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +0 -90
  159. data/maps/royin-tha-Thai-Latn-1968.yaml +0 -179
  160. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +0 -180
  161. data/maps/royin-tha-Thai-Latn-1999.yaml +0 -76
  162. data/maps/sac-zho-Hans-Latn-1979.yaml +0 -24759
  163. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +0 -222
  164. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +0 -193
  165. data/maps/un-bel-Cyrl-Latn-2007.yaml +0 -114
  166. data/maps/un-ben-Beng-Latn-2016.yaml +0 -534
  167. data/maps/un-ell-Grek-Latn-1987-tl.yaml +0 -32
  168. data/maps/un-ell-Grek-Latn-1987-ts.yaml +0 -20
  169. data/maps/un-ell-Grek-Latn-phonetic-1987.yaml +0 -780
  170. data/maps/un-mon-Mong-Latn-2013.yaml +0 -93
  171. data/maps/un-rus-Cyrl-Latn-1987.yaml +0 -166
  172. data/maps/un-ukr-cyrl-latn-1998.yaml +0 -30
  173. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +0 -406
  174. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +0 -386
  175. data/maps/var-kor-Hang-Latn-mr-1939.yaml +0 -1054
  176. data/maps/var-kor-Kore-Hang-2013.yaml +0 -59754
  177. data/maps/var-kor-Kore-Latn-mr-1939.yaml +0 -37
  178. data/maps/var-tha-Thai-Thai-phonemic.yaml +0 -59
  179. data/maps/var-tha-Thai-Zsym-ipa.yaml +0 -301
  180. data/maps/var-zho-Hani-Latn-1979.yaml +0 -38908
  181. data/spec/interscript/mapping_spec.rb +0 -42
  182. data/spec/interscript_spec.rb +0 -26
  183. data/spec/spec_helper.rb +0 -3
@@ -1,141 +0,0 @@
1
- ---
2
- authority_id: icao
3
- id: 9303
4
- language: bel
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Belorussian Cyrillic to Latin
8
- url: https://www.icao.int/publications/pages/publication.aspx?docnum=9303
9
- creation_date: 2015
10
- description: |
11
- Part 3 defines specifications that are common to TD1, TD2 and TD3
12
- size machine readable travel documents (MRTDs) including those
13
- necessary for global interoperability using visual inspection and
14
- machine readable (optical character recognition) means.
15
-
16
- Since only Latin-alphabet characters are allowed in the VIZ, if
17
- mandatory data elements are in a national language that does not use
18
- the Latin alphabet, a transcription or transliteration shall also be
19
- provided.
20
-
21
- This document defines the transliteration mappings used to produce
22
- this transcription or transliteration.
23
-
24
- tests:
25
- - source: Бабрыковіч Аляксандр
26
- expected: Babrykovich Aliaksandr
27
- - source: Міховіч Марыя
28
- expected: Mikhovich Maryia
29
- - source: Максім
30
- expected: Maksim
31
- - source: Іван
32
- expected: Ivan
33
- - source: СВЯТЛАНА
34
- expected: SVIATLANA
35
- - source: Ігар
36
- expected: Ihar
37
- - source: Палто Алена
38
- expected: Palto Alena
39
- - source: Мікалай
40
- expected: Mikalai
41
-
42
- map:
43
- # https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf
44
- characters:
45
- "\u0027": "" # '
46
- "\u0410": "A" # А
47
- "\u0411": "B" # Б
48
- "\u0414": "D" # Д
49
- "\u0401": "IO" # Ё
50
- "\u0415": "E" # Е
51
- "\u042D": "E" # Э
52
- "\u0424": "F" # Ф
53
- "\u0413": "H" # Г
54
- "\u0418": "I" # И
55
- "\u0419": "I" # Й
56
- "\u041A": "K" # К
57
- "\u041B": "L" # Л
58
- "\u041C": "M" # М
59
- "\u041D": "N" # Н
60
- "\u041E": "O" # О
61
- "\u041F": "P" # П
62
- "\u0420": "R" # Р
63
- "\u0421": "S" # С
64
- "\u0422": "T" # Т
65
- "\u0423": "U" # У
66
- "\u0412": "V" # В
67
- "\u042B": "Y" # Ы
68
- "\u0417": "Z" # З
69
- "\u0427": "CH" # Ч
70
- "\u042F": "IA" # Я
71
- "\u042E": "IU" # Ю
72
- "\u0425": "KH" # Х
73
- "\u0428": "SH" # Ш
74
- "\u0429": "SHCH" # Щ
75
- "\u0426": "TS" # Ц
76
- "\u0416": "ZH" # Ж
77
- "\u0490": "G" # Ґ
78
- "\u040E": "U" # Ў
79
- "\u046A": "U" # Ѫ
80
- "\u0402": "D" # Ђ
81
- "\u0405": "DZ" # Ѕ
82
- "\u0408": "J" # Ј
83
- "\u0409": "LJ" # Љ
84
- "\u040A": "NJ" # Њ
85
- "\u04BA": "C" # Һ
86
- "\u040F": "DZ" # Џ
87
- "\u0404": "IE" # Є
88
- "\u0407": "I" # Ї
89
- "\u0403": "G" # Ѓ
90
- "\u0406": "I" # І
91
-
92
- "\u0430": "a" # а
93
- "\u0431": "b" # б
94
- "\u0434": "d" # д
95
- "\u0451": "io" # ё
96
- "\u0435": "e" # e
97
- "\u044D": "e" # э
98
- "\u0444": "f" # ф
99
- "\u0433": "h" # г
100
- "\u0438": "i" # и
101
- "\u0439": "i" # й
102
- "\u043A": "k" # к
103
- "\u043B": "l" # л
104
- "\u043C": "m" # м
105
- "\u043D": "n" # н
106
- "\u043E": "o" # о
107
- "\u043F": "p" # п
108
- "\u0440": "r" # р
109
- "\u0441": "s" # с
110
- "\u0442": "t" # т
111
- "\u0443": "" # у
112
- "\u0432": "v" # в
113
- "\u044B": "y" # ы
114
- "\u0437": "z" # з
115
- "\u0447": "ch" # ч
116
- "\u044F": "ia" # я
117
- "\u044E": "i" # ю
118
- "\u0445": "kh" # х
119
- "\u0448": "sh" # ш
120
- "\u0449": "shch" # щ
121
- "\u0446": "ts" # ц
122
- "\u0436": "zh" # ж
123
- "\u0491": "g" # ґ
124
- "\u045E": "" # ў
125
- "\u046B": "" # ѫ
126
- "\u0452": "d" # ђ
127
- "\u0455": "dz" # ѕ
128
- "\u0458": "j" # ј
129
- "\u0459": "lj" # љ
130
- "\u045A": "nj" # њ
131
- "\u04BB": "c" # һ
132
- "\u045F": "dz" # џ
133
- "\u0454": "ie" # є
134
- "\u0457": "i" # ї
135
- "\u0453": "g" # ѓ
136
- "\u0456": "i" # і
137
-
138
-
139
-
140
-
141
-
@@ -1,122 +0,0 @@
1
- ---
2
- authority_id: icao
3
- id: 9303
4
- language: bul
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Bulgarian Cyrillic to Latin
8
- url: https://www.icao.int/publications/pages/publication.aspx?docnum=9303
9
- creation_date: 2015
10
- description: |
11
- Part 3 defines specifications that are common to TD1, TD2 and TD3
12
- size machine readable travel documents (MRTDs) including those
13
- necessary for global interoperability using visual inspection and
14
- machine readable (optical character recognition) means.
15
-
16
- Since only Latin-alphabet characters are allowed in the VIZ, if
17
- mandatory data elements are in a national language that does not use
18
- the Latin alphabet, a transcription or transliteration shall also be
19
- provided.
20
-
21
- This document defines the transliteration mappings used to produce
22
- this transcription or transliteration.
23
- tests:
24
-
25
- map:
26
- # https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf
27
- characters:
28
- "\u0027": "" # '
29
- "\u0410": "A" # А
30
- "\u0411": "B" # Б
31
- "\u0414": "D" # Д
32
- "\u0401": "E" # Ё
33
- "\u0415": "E" # Е
34
- "\u042D": "E" # Э
35
- "\u0424": "F" # Ф
36
- "\u0413": "G" # Г
37
- "\u0418": "I" # И
38
- "\u0419": "I" # Й
39
- "\u041A": "K" # К
40
- "\u041B": "L" # Л
41
- "\u041C": "M" # М
42
- "\u041D": "N" # Н
43
- "\u041E": "O" # О
44
- "\u041F": "P" # П
45
- "\u0420": "R" # Р
46
- "\u0421": "S" # С
47
- "\u0422": "T" # Т
48
- "\u0423": "U" # У
49
- "\u0412": "V" # В
50
- "\u042B": "Y" # Ы
51
- "\u0417": "Z" # З
52
- "\u0427": "CH" # Ч
53
- "\u042F": "IA" # Я
54
- "\u042E": "IU" # Ю
55
- "\u0425": "KH" # Х
56
- "\u0428": "SH" # Ш
57
- "\u0429": "SHT" # Щ
58
- "\u0426": "TS" # Ц
59
- "\u0416": "ZH" # Ж
60
- "\u0490": "G" # Ґ
61
- "\u040E": "U" # Ў
62
- "\u046A": "U" # Ѫ
63
- "\u0402": "D" # Ђ
64
- "\u0405": "DZ" # Ѕ
65
- "\u0408": "J" # Ј
66
- "\u0409": "LJ" # Љ
67
- "\u040A": "NJ" # Њ
68
- "\u04BA": "C" # Һ
69
- "\u040F": "DZ" # Џ
70
- "\u0404": "IE" # Є
71
- "\u0407": "I" # Ї
72
- "\u0403": "G" # Ѓ
73
- "\u0027": "" # '
74
-
75
- "\u0430": "a" # а
76
- "\u0431": "b" # б
77
- "\u0434": "d" # д
78
- "\u0451": "e" # ё
79
- "\u0435": "e" # e
80
- "\u044D": "e" # э
81
- "\u0444": "f" # ф
82
- "\u0433": "g" # г
83
- "\u0438": "i" # и
84
- "\u0439": "i" # й
85
- "\u043A": "k" # к
86
- "\u043B": "l" # л
87
- "\u043C": "m" # м
88
- "\u043D": "n" # н
89
- "\u043E": "o" # о
90
- "\u043F": "p" # п
91
- "\u0440": "r" # р
92
- "\u0441": "s" # с
93
- "\u0442": "t" # т
94
- "\u0443": "" # у
95
- "\u0432": "v" # в
96
- "\u044B": "y" # ы
97
- "\u0437": "z" # з
98
- "\u0447": "ch" # ч
99
- "\u044F": "ia" # я
100
- "\u044E": "i" # ю
101
- "\u0445": "kh" # х
102
- "\u0448": "sh" # ш
103
- "\u0449": "sht" # щ
104
- "\u0446": "ts" # ц
105
- "\u0436": "zh" # ж
106
- "\u0491": "g" # ґ
107
- "\u045E": "" # ў
108
- "\u046B": "" # ѫ
109
- "\u0452": "d" # ђ
110
- "\u0455": "dz" # ѕ
111
- "\u0458": "j" # ј
112
- "\u0459": "lj" # љ
113
- "\u045A": "nj" # њ
114
- "\u04BB": "c" # һ
115
- "\u045F": "dz" # џ
116
- "\u0454": "ie" # є
117
- "\u0457": "i" # ї
118
- "\u0453": "g" # ѓ
119
-
120
-
121
-
122
-
@@ -1,151 +0,0 @@
1
- ---
2
- authority_id: icao
3
- id: 9303
4
- language: heb
5
- source_script: Hebr
6
- destination_script: Latn
7
- name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Hebrew to Latin
8
- url: https://www.icao.int/publications/pages/publication.aspx?docnum=9303
9
- creation_date: 2015
10
- description: |
11
- Part 3 defines specifications that are common to TD1, TD2 and TD3
12
- size machine readable travel documents (MRTDs) including those
13
- necessary for global interoperability using visual inspection and
14
- machine readable (optical character recognition) means.
15
-
16
- Since only Latin-alphabet characters are allowed in the VIZ, if
17
- mandatory data elements are in a national language that does not use
18
- the Latin alphabet, a transcription or transliteration shall also be
19
- provided.
20
-
21
- This document defines the transliteration mappings used to produce
22
- this transcription or transliteration.
23
- tests:
24
-
25
- map:
26
- # https://en.wikipedia.org/wiki/Romanization_of_Hebrew
27
-
28
- characters:
29
- "\u0027": "" # '
30
-
31
- # Consonants
32
- "\u05D0": "" # א
33
- "\u05D1": "V" # ב
34
- "\u05D1\u05BC": "B" # בּ
35
- "\uFB31": "B" # בּ
36
- "\u05D2": "G" # ג
37
- "\u05D2\u05BC": "G" # גּ
38
- "\uFB32": "G" # גּ‬‬
39
- "\u05D2\u05F3": "J" # ג׳
40
- "\u05D3": "D" # ד
41
- "\u05D3\u05BC": "D" # דּ
42
- "\uFB33": "D" # דּ
43
- "\u05D3\u05F3": "DH" # ד׳
44
- "\u05D4": "H" # ה
45
- "\u05D4\u05BC": "H" # הּ
46
- "\uFB34": "H" # הּ
47
- "\u05D5": "V" # ו‬
48
- "\u05D5\u202C": "V" # ו‬
49
- "\u05D5\u05BC": "V" # וּ
50
- # "\uFB35": "V" # וּ # To vowels "U"
51
- "\u05D6": "Z" # ז
52
- "\u05D6\u05BC": "Z" # זּ
53
- "\uFB36": "Z" # זּ‬
54
- "\u05D6\u05F3": "ZH" # ז׳
55
- "\u05D7": "CH" # ח
56
- "\u05D8": "T" # ט
57
- "\u05D8\u05BC": "T" # טּ
58
- "\uFB38": "T" # טּ
59
- "\u05D9": "Y" # י
60
- "\u05D9\u05BC": "Y" # יּ
61
- "\u05D9\u05BC\u202C": "Y" # יּ‬
62
- "\uFB39": "Y" # יּ‬
63
- "\u05DB": "CH" # כ
64
- "\u05DB\u05BC": "CH" # כּ
65
- "\u05DB\u05BC\u202C": "CH" # כּ
66
- "\uFB3B": "C" # כּ
67
- "\u05DA": "CH" # ך
68
- "\u05DA\u05BC": "CH" # ךּ
69
- "\u05DA\u05BC\u202C": "CH" # ךּ‬
70
- "\uFB3A": "CH" # ךּ
71
- "\u05DC": "L" # ל‬
72
- "\u05DC\u05BC": "L" # לּ
73
- "\uFB3C": "L" # לּ
74
- "\u05DD": "M" # ם
75
- "\u05DE": "M" # מ‬
76
- "\u05DE\u05BC": "M" # מּ
77
- "\uFB3E": "M" # מּ‬
78
- "\u05DF": "N" # ן
79
- "\u05E0": "N" # נ
80
- "\u05E0\u05BC": "N" # נּ
81
- "\uFB40": "N" # נּ
82
- "\u05E1": "S" # ס
83
- "\u05E1\u05BC": "S" # סּ
84
- "\uFB41": "S" # סּ
85
- "\u05E2": "" # ע
86
- "\u05E3": "F" # ף
87
- "\u05E3\u05BC": "P" # Possible problem u05BC # ףּ
88
- "\uFB43": "P" # ףּ
89
- "\u05E4": "F" # פ‬
90
- "\u05E4\u05BC": "P" # פּ
91
- "\uFB44": "P" # פּ
92
- "\u05E5": "TZ" # ץ
93
- "\u05E5\u05F3": "TSH" # Possible problem u05F3 # ץ׳
94
- "\u05E6": "TZ" # צ‬
95
- "\u05E6\u05BC": "TZ" # צּ
96
- "\uFB46": "TZ" # צּ‬
97
- "\u05E6\u05F3": "TSH" # Possible problem u05F3 # צ׳
98
- "\u05E7": "Q" # ק
99
- "\u05E7\u05BC": "Q" # קּ
100
- "\uFB47": "Q" # קּ‬
101
- "\u05E8": "R" # ר
102
- "\u05E8\u05BC": "R" # רּ
103
- "\uFB48": "R" # רּ
104
- "\u05E9": "S" # ש
105
- "\u05E9\u05BC": "S" # שּ
106
- "\uFB49": "S" # שּ‬
107
- "\u05E9\u05C2\u202C": "S" # שׂ
108
- "\uFB2B": "S" # שׂ
109
- "\u05E9\u05C1": "SH" # שׁ
110
- "\uFB2A": "SH" # שׁ
111
- "\u05E9\u05BC\u05C2\u202C": "S" # שּׂ‬
112
- "\uFB2D": "S" # שּׂ
113
- "\u05EA": "T" # ת
114
- "\u05EA\u05BC": "T" # תּ
115
- "\uFB4A": "T" # תּ
116
- "\u05EA\u05F3": "T" # ת׳
117
-
118
- # Niqqud vowels
119
- "\u05B0": "E" # ( ְ‬ )
120
- "\u05B1": "E" # ( ֱ )
121
- "\u05B2": "A" # ( ֲ )
122
- "\u05B3": "O" # ( ֲ )
123
- "\u05B4": "I" # ( ִ )
124
- "\u05B5": "E" # ( ֵ )
125
- "\u05B6": "E" # ( ֶ )
126
- "\u05B7": "A" # ( ַ )
127
- "\u05B8": "O" # ( ָ ) # It could be "A" too
128
- "\u05B9": "O" # ( ֹ )
129
- "\u05BB": "U" # ( ֻ )
130
- "\u05D5\u05BC": "U" # ( וּ )
131
- "\uFB35": "U" # ( וּ )
132
-
133
- # Diphthongs
134
- "\u05B5\u05D9": "EI" # ( ֵי )
135
- "\u05B6\u05D9": "EI" # ( ֶי )
136
- "\u05B7\u05D9": "AI" # ( ַי )
137
- "\u05B7\u05D9\u05B0": "AI" # ( ַיְ )
138
- "\u05B7\u05D9\u05B0\u202C": "AI" # ( ַיְ‬ )
139
- "\u05B8\u05D9": "AI" # ( ָי )
140
- "\u05B8\u05D9\u202C": "AI" # ( ָי‬ )
141
- "\u05B8\u05D9\u05B0": "AI" # ( ָיְ )
142
- "\u05B8\u05D9\u05B0\u202C": "AI" # ( ָיְ‬ )
143
- "\u05B9\u05D9": "OI" # ( ֹי )
144
- "\u05B9\u05D9\u05B0": "OI" # ( ֹיְ )
145
- "\u05B9\u05D9\u05B0\u202C": "OI" # ( ֹיְ‬ )
146
- "\u05BB\u05D9": "UI" # ( ֻי )
147
- "\u05BB\u05D9\u05B0": "UI" # ( ֻיְ )
148
- "\u05BB\u05D9\u05B0\u202C": "UI" # ( ֻיְ‬ )
149
- "\u05D5\u05BC\u05D9": "UI" # ( וּי )
150
- "\u05D5\u05BC\u05D9\u05B0": "UI" # ( וּיְ )
151
- "\u05D5\u05BC\u05D9\u05B0\u202C": "UI" # ( וּיְ‬ )
@@ -1,117 +0,0 @@
1
- ---
2
- authority_id: icao
3
- id: 9303
4
- language: mkd
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: ICAO Doc 9303 Machine Readable Travel Documents Part 3 -- Macedonian Cyrillic to Latin
8
- url: https://www.icao.int/publications/pages/publication.aspx?docnum=9303
9
- creation_date: 2015
10
- description: |
11
- Part 3 defines specifications that are common to TD1, TD2 and TD3
12
- size machine readable travel documents (MRTDs) including those
13
- necessary for global interoperability using visual inspection and
14
- machine readable (optical character recognition) means.
15
-
16
- Since only Latin-alphabet characters are allowed in the VIZ, if
17
- mandatory data elements are in a national language that does not use
18
- the Latin alphabet, a transcription or transliteration shall also be
19
- provided.
20
-
21
- This document defines the transliteration mappings used to produce
22
- this transcription or transliteration.
23
- tests:
24
-
25
- map:
26
- # https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf
27
- characters:
28
- "\u0027": "" # '
29
- "\u0410": "A" # А
30
- "\u0411": "B" # Б
31
- "\u0414": "D" # Д
32
- "\u0401": "E" # Ё
33
- "\u0415": "E" # Е
34
- "\u042D": "E" # Э
35
- "\u0424": "F" # Ф
36
- "\u0413": "G" # Г
37
- "\u0418": "I" # И
38
- "\u0419": "I" # Й
39
- "\u041A": "KJ" # К
40
- "\u041B": "L" # Л
41
- "\u041C": "M" # М
42
- "\u041D": "N" # Н
43
- "\u041E": "O" # О
44
- "\u041F": "P" # П
45
- "\u0420": "R" # Р
46
- "\u0421": "S" # С
47
- "\u0422": "T" # Т
48
- "\u0423": "U" # У
49
- "\u0412": "V" # В
50
- "\u042B": "Y" # Ы
51
- "\u0417": "Z" # З
52
- "\u0427": "CH" # Ч
53
- "\u042F": "IA" # Я
54
- "\u042E": "IU" # Ю
55
- "\u0425": "H" # Х
56
- "\u0428": "SH" # Ш
57
- "\u0429": "SHCH" # Щ
58
- "\u0426": "C" # Ц
59
- "\u0416": "ZH" # Ж
60
- "\u0490": "G" # Ґ
61
- "\u040E": "U" # Ў
62
- "\u046A": "U" # Ѫ
63
- "\u0402": "D" # Ђ
64
- "\u0405": "DZ" # Ѕ
65
- "\u0408": "J" # Ј
66
- "\u0409": "LJ" # Љ
67
- "\u040A": "NJ" # Њ
68
- "\u04BA": "C" # Һ
69
- "\u040F": "DJ" # Џ
70
- "\u0404": "IE" # Є
71
- "\u0407": "I" # Ї
72
- "\u0403": "GJ" # Ѓ
73
-
74
- "\u0430": "a" # а
75
- "\u0431": "b" # б
76
- "\u0434": "d" # д
77
- "\u0451": "e" # ё
78
- "\u0435": "e" # e
79
- "\u044D": "e" # э
80
- "\u0444": "f" # ф
81
- "\u0433": "g" # г
82
- "\u0438": "i" # и
83
- "\u0439": "i" # й
84
- "\u043A": "kj" # к
85
- "\u043B": "l" # л
86
- "\u043C": "m" # м
87
- "\u043D": "n" # н
88
- "\u043E": "o" # о
89
- "\u043F": "p" # п
90
- "\u0440": "r" # р
91
- "\u0441": "s" # с
92
- "\u0442": "t" # т
93
- "\u0443": "" # у
94
- "\u0432": "v" # в
95
- "\u044B": "y" # ы
96
- "\u0437": "z" # з
97
- "\u0447": "ch" # ч
98
- "\u044F": "ia" # я
99
- "\u044E": "i" # ю
100
- "\u0445": "h" # х
101
- "\u0448": "sh" # ш
102
- "\u0449": "shch" # щ
103
- "\u0446": "c" # ц
104
- "\u0436": "zh" # ж
105
- "\u0491": "g" # ґ
106
- "\u045E": "" # ў
107
- "\u046B": "" # ѫ
108
- "\u0452": "d" # ђ
109
- "\u0455": "dz" # ѕ
110
- "\u0458": "j" # ј
111
- "\u0459": "lj" # љ
112
- "\u045A": "nj" # њ
113
- "\u04BB": "c" # һ
114
- "\u045F": "dj" # џ
115
- "\u0454": "ie" # є
116
- "\u0457": "i" # ї
117
- "\u0453": "gj" # ѓ