interscript 0.1.4 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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: alalc
3
- id: 1997
4
- language: aze
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: ALA-LC Romanization Table -- Azerbaijani (1997)
8
- url: https://transliteration.eki.ee/pdf/Azerbaijani.pdf
9
- creation_date: 1997
10
- description: |
11
- ALA-LC Romanization Tables: Transliteration Schemes for Non-Roman Scripts. Randal K. Berry (ed.). Library of Congress, 1997.
12
-
13
- notes:
14
- - "Ј ј replaced Й й in 1959 (Roman: y; ISO 9: j; ALA-LC: ĭ)."
15
-
16
- tests: # from internet
17
- - source: Азәрбајҹан дили
18
- expected: Azărbaı̐jan dili
19
- - source: |
20
- Бүтүн инсанлар ләјагәт вә һүгугларына ҝөрә азад вә бәрабәр доғулурлар.
21
- Онларын шүурлары вә виҹданлары вар вә бир-бирләринә мүнасибәтдә гардашлыг руһунда давранмалыдырлар.
22
- expected: |
23
- Bu̇tu̇n insanlar lăı̐agăt vă ḣu̇guglaryna ġȯră azad vă bărabăr doghulurlar.
24
- Onlaryn shu̇urlary vă vijdanlary var vă bir-birlărină mu̇nasibătdă gardashlyg ruḣunda davranmalydyrlar.
25
- - source: |
26
- Азәрбајҹан! Азәрбајҹан!
27
- Еј гәһрәман өвладын шанлы Вәтәни!
28
- Сәндән өтрү ҹан вермәјә ҹүмлә һазырыз!
29
- Сәндән өтрү ган төкмәјә ҹүмлә гадириз!
30
- Үчрәнҝли бајрағынла мәсуд јаша!
31
- Үчрәнҝли бајрағынла мәсуд јаша!
32
- Минләрлә ҹан гурбан олду,
33
- Синән һәрбә мејдан олду!
34
- Һүгугундан кечән әсҝәр,
35
- Һәрә бир гәһрәман олду!
36
- Сән оласан ҝүлүстан,
37
- Сәнә һәр ан ҹан гурбан!
38
- Сәнә мин бир мәһәббәт
39
- Синәмдә тутмуш мәкан!
40
- Намусуну һифз етмәјә,
41
- Бајрағыны јүксәлтмәјә
42
- Намусуну һифз етмәјә,
43
- Ҹүмлә ҝәнҹләр мүштагдыр!
44
- Шанлы Вәтән! Шанлы Вәтән!
45
- Азәрбајҹан! Азәрбајҹан!
46
- Азәрбајҹан! Азәрбајҹан!
47
- expected: |
48
- Azărbaı̐jan! Azărbaı̐jan!
49
- Eı̐ găḣrăman ȯvladyn shanly Vătăni!
50
- Săndăn ȯtru̇ jan vermăı̐ă ju̇mlă ḣazyryz!
51
- Săndăn ȯtru̇ gan tȯkmăı̐ă ju̇mlă gadiriz!
52
- U̇chrănġli baı̐raghynla măsud ı̐asha!
53
- U̇chrănġli baı̐raghynla măsud ı̐asha!
54
- Minlărlă jan gurban oldu,
55
- Sinăn ḣărbă meı̐dan oldu!
56
- Ḣu̇gugundan kechăn ăsġăr,
57
- Ḣără bir găḣrăman oldu!
58
- Săn olasan ġu̇lu̇stan,
59
- Sănă ḣăr an jan gurban!
60
- Sănă min bir măḣăbbăt
61
- Sinămdă tutmush măkan!
62
- Namusunu ḣifz etmăı̐ă,
63
- Baı̐raghyny ı̐u̇ksăltmăı̐ă
64
- Namusunu ḣifz etmăı̐ă,
65
- Ju̇mlă ġănjlăr mu̇shtagdyr!
66
- Shanly Vătăn! Shanly Vătăn!
67
- Azărbaı̐jan! Azărbaı̐jan!
68
- Azărbaı̐jan! Azărbaı̐jan!
69
-
70
- map:
71
- characters:
72
- '\u0410': 'A' # А
73
- '\u0411': 'B' # Б
74
- '\u0412': 'V' # В
75
- '\u0413': 'G' # Г
76
- '\u0492': 'Gh' # Ғ
77
- '\u0414': 'D' # Д
78
- '\u0415': 'E' # Е
79
- '\u04D8': "A\u0306" # Ә
80
- '\u0416': 'Zh' # Ж
81
- '\u0417': 'Z' # З
82
- '\u0418': 'I' # И
83
- '\u042B': 'Y' # Ы
84
- '\u0408': "I\u0310" # Ј
85
- '\u0419': 'Y' # Й note[1]
86
- '\u0419': 'Y' # Й
87
- '\u041A': 'K' # К
88
- '\u049C': "G\u0307" # Ҝ
89
- '\u041B': 'L' # Л
90
- '\u041C': 'M' # М
91
- '\u041D': 'N' # Н
92
- '\u041E': 'O' # О
93
- '\u04E8': "O\u0307" # Ө
94
- '\u041F': 'P' # П
95
- '\u0420': 'R' # Р
96
- '\u0421': 'S' # С
97
- '\u0422': 'T' # Т
98
- '\u0423': 'U' # У
99
- '\u04AE': "U\u0307" # Ү
100
- '\u0424': 'F' # Ф
101
- '\u0425': 'Kh' # Х
102
- '\u04BA': "H\u0307" # Һ
103
- '\u0427': 'Ch' # Ч
104
- '\u04B8': 'J' # Ҹ
105
- '\u0428': 'Sh' # Ш
106
-
107
- '\u0430': 'a' # а
108
- '\u0431': 'b' # б
109
- '\u0432': 'v' # в
110
- '\u0433': 'g' # г
111
- '\u0493': 'gh' # ғ
112
- '\u0434': 'd' # д
113
- '\u0435': 'e' # e
114
- '\u04D9': "a\u0306" # ә
115
- '\u0436': 'zh' # ж
116
- '\u0437': 'z' # з
117
- '\u0438': 'i' # и
118
- '\u044B': 'y' # ы
119
- '\u0458': "\u0131\u0310" # ј
120
- '\u0439': 'y' # й note[1]
121
- '\u043A': 'k' # к
122
- '\u049D': "g\u0307" # ҝ
123
- '\u043B': 'l' # л
124
- '\u043C': 'm' # м
125
- '\u043D': 'n' # н
126
- '\u043E': 'o' # о
127
- '\u04E9': "o\u0307" # ө
128
- '\u043F': 'p' # п
129
- '\u0440': 'r' # р
130
- '\u0441': 's' # с
131
- '\u0442': 't' # т
132
- '\u0443': 'u' # у
133
- '\u04AF': "u\u0307" # ү
134
- '\u0444': 'f' # ф
135
- '\u0445': 'kh' # х
136
- '\u04BB': "h\u0307" # һ
137
- '\u0447': 'ch' # ч
138
- '\u04B9': 'j' # ҹ
139
- '\u0448': 'sh' # ш
140
-
141
- '\u2019': '\u2019'
@@ -1,125 +0,0 @@
1
- ---
2
- authority_id: alalc
3
- id: 1997
4
- language: bel
5
- source_script: Cyrl
6
- destination_script: Latn
7
- name: ALA-LC Romanization Table -- Byelorussian (1997)
8
- url: http://catdir.loc.gov/catdir/cpso/romanization/beloruss.pdf
9
- creation_date: 1997
10
-
11
- notes:
12
- - Ґ letter found in Old Belarusian and in modern publications in Tarashkevitsa orthography.
13
- - Do not confuse with the digraph кг (also romanized as “kh”). Manual review may be needed when transcribing data in vernacular characters in order to distinguish х from кг.
14
- - The apostrophe (´) is not transliterated.
15
- - Soft sign (prime) is USMARC hexadecimal code A7 ~ U+02B9 Unicode character
16
-
17
- tests:
18
- # https://en.wikipedia.org/wiki/Romanization_of_Belarusian#Examples
19
- # https://img.tyt.by/n/02/d/belorusskiy_translit.jpg - with issues
20
- - source: Беларусь
21
- expected: Belarusʹ
22
- - source: Магілёў
23
- expected: Mahili͡oŭ
24
- - source: Лукашэнка
25
- expected: Lukashėnka
26
- - source: сям´я
27
- expected: si͡ami͡a
28
- - source: Уручча
29
- expected: Uruchcha
30
- - source: Барысаўскі тракт
31
- expected: Barysaŭski trakt
32
- - source: Усход
33
- expected: Uskhod
34
- - source: Маскоўская
35
- expected: Maskoŭskai͡a
36
- - source: Парк Чалюскінцаў
37
- expected: Park Chali͡uskintsaŭ
38
- - source: Акадэмія навук
39
- expected: Akadėmii͡a navuk
40
- - source: Плошча Якуба Коласа
41
- expected: Ploshcha I͡Akuba Kolasa
42
- - source: Плошча Перамогі
43
- expected: Ploshcha Peramohi
44
- - source: Кастрычніцкая
45
- expected: Kastrychnitskai͡a
46
- - source: Плошча Леніна
47
- expected: Ploshcha Lenina
48
- - source: Інстытут Культуры
49
- expected: Instytut Kulʹtury
50
-
51
- map:
52
- characters:
53
- # Apostrophes
54
- '\u00B4' : '' # official english Apostrophe
55
- '\u02BC' : ''
56
- '\u0027' : '' # from belarussian keyboard
57
-
58
- # Characters
59
- '\u0410' : 'A' # A
60
- '\u0411' : 'B' # Б
61
- '\u0412' : 'V' # B
62
- '\u0413' : 'H' # Г
63
- '\u0490' : 'G' # Ґ
64
- '\u0414' : 'D' # Д
65
- '\u0415' : 'E' # Е
66
- '\u0401' : "I\u0361O" # Ё : I͡O
67
- '\u0416' : "Z\u0361H" # Ж : Z͡H
68
- '\u0417' : 'Z' # З
69
- '\u0406' : 'I' # І
70
- '\u0419' : "\u012C" # Й : Ĭ
71
- '\u041A' : 'K' # К
72
- '\u041B' : 'L' # Л
73
- '\u041C' : 'M' # М
74
- '\u041D' : 'N' # Н
75
- '\u041E' : 'O' # О
76
- '\u041F' : 'P' # П
77
- '\u0420' : 'R' # Р
78
- '\u0421' : 'S' # С
79
- '\u0422' : 'T' # Т
80
- '\u0423' : 'U' # У
81
- '\U040E' : "\u016C" # Ў : Ŭ
82
- '\u0424' : 'F' # Ф
83
- '\u0425' : 'Kh' # Х
84
- '\u0426' : 'Ts' # Ц
85
- '\u0427' : 'Ch' # Ч
86
- '\u0428' : 'Sh' # Ш
87
- '\u042B' : 'Y' # Ы
88
- '\u042C' : "\u02B9" # Ь : ʹ
89
- '\u042D' : "\u0116" # Э : Ė
90
- '\u042E' : "I\u0361U" # Ю : I͡U
91
- '\u042F' : "I\u0361A" # Я : I͡A
92
-
93
- '\u0430' : 'a' # а
94
- '\u0431' : 'b' # б
95
- '\u0432' : 'v' # в
96
- '\u0433' : 'h' # г
97
- '\u0491' : 'g' # ґ
98
- '\u0434' : 'd' # д
99
- '\u0435' : 'e' # е
100
- '\u0451' : "i\u0361o" # ё : i͡o
101
- '\u0436' : "z\u0361h" # ж : z͡h
102
- '\u0437' : 'z' # з
103
- '\u0456' : 'i' # і
104
- '\u0439' : "\u012D" # й : ĭ
105
- '\u043A' : 'k' # к
106
- '\u043B' : 'l' # л
107
- '\u043C' : 'm' # м
108
- '\u043D' : 'n' # н
109
- '\u043E' : 'o' # о
110
- '\u043F' : 'p' # п
111
- '\u0440' : 'r' # р
112
- '\u0441' : 's' # с
113
- '\u0442' : 't' # т
114
- '\u0443' : 'u' # у
115
- '\u045E' : "\u016D" # ў : ŭ
116
- '\u0444' : 'f' # ф
117
- '\u0445' : 'kh' # х
118
- '\u0446' : 'ts' # Ц
119
- '\u0447' : 'ch' # ч
120
- '\u0448' : 'sh' # ш
121
- '\u044B' : 'y' # ы
122
- '\u044C' : "\u02B9" # ь : ʹ
123
- '\u044D' : "\u0117" # э : ė
124
- '\u044E' : "i\u0361u" # ю : i͡u
125
- '\u044F' : "i\u0361a" # я : i͡a
@@ -1,130 +0,0 @@
1
- ---
2
- authority_id: alalc
3
- id: 2017
4
- language: ben
5
- source_script: Beng
6
- destination_script: Latn
7
- name: Bengali Romanization, 2017
8
- url: https://www.loc.gov/catdir/cpso/romanization/bengali.pdf
9
- creation_date: 2017
10
- description: |
11
- ALA-LC Romanization table for Bengali
12
-
13
- notes:
14
-
15
- - Only the vowel forms that appear at the beginning of a syllable are
16
- listed; the forms used for vowels following a consonant can be found in
17
- grammars; no distinction between the two is made in transliteration.
18
-
19
- - |
20
- The vowel a is implicit after all consonants and consonant clusters
21
- and is supplied in transliteration, with the following exceptions:
22
-
23
- a) when another vowel is indicated by its appropriate sign; and
24
- b) when the absence of any vowel is indicated by the subscript symbol ( ্ )
25
- called hasanta or birāma.
26
-
27
- - ব is used both as a labial and as a semivowel. When it occurs as the
28
- second or subsequent consonant of a consonant cluster, it is
29
- transliterated va. When ব is doubled, it is transliterated bba.
30
-
31
- - Candrabindu before guttural, palatal, cerebral, and dental occlusives
32
- is transliterated n̐. Before labials, sibilants, semivowels, the
33
- aspirate, vowels, and in final position it is transliterated m̐.
34
-
35
- - When doubled, abagraha is transliterated by two apostrophes ( ’’ ).
36
-
37
- tests:
38
- - source: "র্ক"
39
- expected: "rka"
40
- - source: "গ্র"
41
- expected: "gra"
42
- - source: "ত্য"
43
- expected: "tya"
44
-
45
- map:
46
- inherit: "un-ben-Beng-Latn-2016"
47
-
48
- characters:
49
-
50
- # I. Vowels and Diphthongs (see Note 1)
51
-
52
- 'অ': 'a'
53
- 'ৠ': 'ṝ'
54
- 'আ': 'ā'
55
- 'ঌ': 'ḹ'
56
- 'ই': 'I'
57
- 'এ': 'e'
58
- 'ঈ': 'ī'
59
- 'ঐ': 'ai'
60
- 'উ': 'u'
61
- 'ও': 'o'
62
- 'ঊ': 'ū'
63
- 'ঔ': 'au'
64
- 'ঋ': 'ṛ'
65
-
66
- # II. Consonants (see Note 2)
67
- # Gutturals
68
- 'ক': 'ka'
69
- 'খ': 'kha'
70
- 'গ': 'ga'
71
- 'ঘ': 'gha'
72
- 'ঙ': 'ṅa'
73
-
74
- # Palatals
75
- 'চ': 'ca'
76
- 'ছ': 'cha'
77
- 'জ': 'ja'
78
- 'ঝ': 'jha'
79
- 'ঞ': 'ña'
80
-
81
- # Cerebrals
82
- 'ট': 'ṭa'
83
- 'ঠ': 'ṭha'
84
- 'ড': 'ḍa'
85
- 'ড়': 'ṛa'
86
- 'ঢ': 'ḍha'
87
- 'ঢ়': 'ṛha'
88
- 'ণ': 'ṇa'
89
-
90
- # Dentals
91
- 'ত': 'ta'
92
- 'ৎ': 't'
93
- 'থ': 'tha'
94
- 'দ': 'da'
95
- 'ধ': 'dha'
96
- 'ন': 'na'
97
-
98
- # Labials
99
- 'প': 'pa'
100
- 'ফ': 'pha'
101
- 'ব': 'ba' # see Note 3
102
- 'ভ': 'bha'
103
- 'ম': 'ma'
104
-
105
- # Semivowels
106
- 'য': 'ya'
107
- 'য়': 'ẏa'
108
- 'র': 'ra'
109
- 'ল': 'la'
110
- 'ব': 'ba' # see Note 3
111
-
112
- # Sibilants
113
- 'শ': 'śa'
114
- 'ষ': 'sha'
115
- 'স': 'sa'
116
-
117
- # Aspirate
118
- 'হ': 'ha'
119
-
120
- # Anusvāra
121
- ' ং': 'ṃ'
122
-
123
- # Bisarga
124
- ' ঃ': 'ḥ'
125
-
126
- # Candrabindu (anunāsika) see note 4
127
- '\u0981': 'n̐' # ঁ : n̐, m̐
128
-
129
- # Abagraha (see Note 5)
130
- 'ऽ': '’' # (apostrophe)
@@ -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]