interscript 0.1.0 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +250 -17
  3. data/bin/interscript +36 -17
  4. data/bin/rspec +29 -0
  5. data/bin/setup +8 -0
  6. data/lib/__pycache__/g2pwrapper.cpython-38.pyc +0 -0
  7. data/lib/g2pwrapper.py +34 -0
  8. data/lib/interscript-opal.rb +2 -0
  9. data/lib/interscript.rb +138 -38
  10. data/lib/interscript/command.rb +28 -0
  11. data/lib/interscript/fs.rb +69 -0
  12. data/lib/interscript/mapping.rb +142 -0
  13. data/lib/interscript/opal.rb +23 -0
  14. data/lib/interscript/opal/maps.js.erb +7 -0
  15. data/lib/interscript/opal_map_translate.rb +12 -0
  16. data/lib/interscript/version.rb +1 -1
  17. data/lib/model-7 +0 -0
  18. data/lib/tha-pt-b-7 +0 -0
  19. data/maps/acadsin-zho-Hani-Latn-2002.yaml +38912 -0
  20. data/maps/alalc-aze-Cyrl-Latn-1997.yaml +141 -0
  21. data/maps/alalc-bel-cyrl-latn-1997.yaml +125 -0
  22. data/maps/alalc-ben-Beng-Latn-2017.yaml +130 -0
  23. data/maps/alalc-bul-Cyrl-Latn-1997.yaml +94 -0
  24. data/maps/alalc-ell-Grek-Latn-1997.yaml +625 -0
  25. data/maps/alalc-ell-Grek-Latn-2010.yaml +628 -0
  26. data/maps/alalc-kat-Geok-Latn-1997.yaml +112 -0
  27. data/maps/alalc-kat-Geor-Latn-1997.yaml +146 -0
  28. data/maps/alalc-kor-Hang-Latn-1997.yaml +94 -0
  29. data/maps/alalc-mkd-Cyrl-Latn-2013.yaml +103 -0
  30. data/maps/alalc-mkd-cyrl-latn-1997.yaml +114 -0
  31. data/maps/alalc-rus-Cyrl-Latn-1997.yaml +222 -0
  32. data/maps/alalc-rus-Cyrl-Latn-2012.yaml +162 -0
  33. data/maps/alalc-srp-Cyrl-Latn-1997.yaml +114 -0
  34. data/maps/alalc-srp-cyrl-latn-2013.yaml +135 -0
  35. data/maps/alalc-ukr-Cyrl-Latn-1997.yaml +141 -0
  36. data/maps/alalc-ukr-Cyrl-Latn-2011.yaml +16 -0
  37. data/maps/apcbg-bul-Cyrl-Latn-1995.yaml +283 -0
  38. data/maps/bas-rus-Cyrl-Latn-2017-bss.yaml +175 -0
  39. data/maps/bas-rus-Cyrl-Latn-2017-oss.yaml +169 -0
  40. data/maps/bgn-jpn-Hrkt-Latn-1962.yaml +294 -0
  41. data/maps/bgn-kor-Hang-Latn-1943.yaml +31 -0
  42. data/maps/bgn-kor-Kore-Latn-1943.yaml +31 -0
  43. data/maps/bgna-bul-Cyrl-Latn-2006.yaml +208 -0
  44. data/maps/bgna-bul-Cyrl-Latn-2009.yaml +208 -0
  45. data/maps/bgnpcgn-arm-Armn-Latn-1981.yaml +108 -0
  46. data/maps/bgnpcgn-aze-Cyrl-Latn-1993.yaml +104 -0
  47. data/maps/bgnpcgn-bak-Cyrl-Latn-2007.yaml +184 -0
  48. data/maps/bgnpcgn-bel-cyrl-latn-1979.yaml +285 -0
  49. data/maps/bgnpcgn-bul-Cyrl-Latn-1952.yaml +115 -0
  50. data/maps/bgnpcgn-bul-Cyrl-Latn-2013.yaml +38 -0
  51. data/maps/bgnpcgn-ell-Grek-Latn-1962.yaml +702 -0
  52. data/maps/bgnpcgn-ell-Grek-Latn-1996.yaml +20 -0
  53. data/maps/bgnpcgn-jpn-Hrkt-Latn-1976.yaml +257 -0
  54. data/maps/bgnpcgn-kat-Geor-Latn-1981.yaml +127 -0
  55. data/maps/bgnpcgn-kat-Geor-Latn-2009.yaml +43 -0
  56. data/maps/bgnpcgn-kor-Hang-Latn-kn-1945.yaml +253 -0
  57. data/maps/bgnpcgn-kor-Hang-Latn-rok-2011.yaml +48 -0
  58. data/maps/bgnpcgn-kor-Kore-Latn-rok-2011.yaml +48 -0
  59. data/maps/bgnpcgn-mkd-Cyrl-Latn-1981.yaml +159 -0
  60. data/maps/bgnpcgn-mkd-Cyrl-Latn-2013.yaml +190 -0
  61. data/maps/bgnpcgn-per-Arab-Latn-1956.yaml +93 -0
  62. data/maps/bgnpcgn-rus-Cyrl-Latn-1947.yaml +314 -0
  63. data/maps/bgnpcgn-srp-Cyrl-Latn-2005.yaml +166 -0
  64. data/maps/bgnpcgn-ukr-Cyrl-Latn-1965.yaml +163 -0
  65. data/maps/bgnpcgn-ukr-Cyrl-Latn-2019.yaml +208 -0
  66. data/maps/bgnpcgn-zho-Hans-Latn-1979.yaml +7456 -0
  67. data/maps/by-bel-Cyrl-Latn-1998.yaml +168 -0
  68. data/maps/by-bel-Cyrl-Latn-2007.yaml +115 -0
  69. data/maps/elot-ell-Grek-Latn-743-1982-tl.yaml +685 -0
  70. data/maps/elot-ell-Grek-Latn-743-1982-ts.yaml +681 -0
  71. data/maps/elot-ell-Grek-Latn-743-2001-tl.yaml +20 -0
  72. data/maps/elot-ell-Grek-Latn-743-2001-ts.yaml +32 -0
  73. data/maps/ggg-kat-Geor-Latn-2002.yaml +89 -0
  74. data/maps/gki-bel-cyrl-latn-1992.yaml +33 -0
  75. data/maps/gki-bel-cyrl-latn-2000.yaml +201 -0
  76. data/maps/gost-rus-cyrl-latn-16876-71-1983.yaml +186 -0
  77. data/maps/hk-yue-Hani-Latn-1888.yaml +38497 -0
  78. data/maps/icao-bel-Cyrl-Latn-9303.yaml +141 -0
  79. data/maps/icao-bul-Cyrl-Latn-9303.yaml +122 -0
  80. data/maps/icao-heb-Hebr-Latn-9303.yaml +151 -0
  81. data/maps/icao-mkd-Cyrl-Latn-9303.yaml +117 -0
  82. data/maps/icao-per-Arab-Latn-9303.yaml +104 -0
  83. data/maps/icao-rus-Cyrl-Latn-9303.yaml +118 -0
  84. data/maps/icao-srp-Cyrl-Latn-9303.yaml +117 -0
  85. data/maps/icao-ukr-Cyrl-Latn-9303.yaml +120 -0
  86. data/maps/iso-ell-Grek-Latn-843-1997-t1.yaml +610 -0
  87. data/maps/iso-ell-Grek-Latn-843-1997-t2.yaml +41 -0
  88. data/maps/iso-jpn-Hrkt-Latn-3602-1989.yaml +62 -0
  89. data/maps/iso-rus-Cyrl-Latn-9-1995.yaml +272 -0
  90. data/maps/iso-tha-Thai-Latn-11940-1998.yaml +109 -0
  91. data/maps/kp-kor-Hang-Latn-2002.yaml +901 -0
  92. data/maps/lshk-yue-Hani-Latn-jyutping-1993.yaml +44820 -0
  93. data/maps/mext-jpn-Hrkt-Latn-1954.yaml +411 -0
  94. data/maps/moct-kor-Hang-Latn-2000.yaml +803 -0
  95. data/maps/mofa-jpn-Hrkt-Latn-1989.yaml +541 -0
  96. data/maps/mvd-bel-Cyrl-Latn-2008.yaml +225 -0
  97. data/maps/mvd-bel-Cyrl-Latn-2010.yaml +63 -0
  98. data/maps/mvd-rus-Cyrl-Latn-2008.yaml +110 -0
  99. data/maps/mvd-rus-Cyrl-Latn-2010.yaml +37 -0
  100. data/maps/nil-kor-Hang-Hang-jamo.yaml +11193 -0
  101. data/maps/odni-aze-Cyrl-Latn-2015.yaml +144 -0
  102. data/maps/odni-bel-Cyrl-Latn-2015.yaml +148 -0
  103. data/maps/odni-bul-Cyrl-Latn-2015.yaml +96 -0
  104. data/maps/odni-kat-Geor-Latn-2015.yaml +88 -0
  105. data/maps/odni-kaz-Cyrl-Latn-2015.yaml +148 -0
  106. data/maps/odni-kir-Cyrl-Latn-2015.yaml +136 -0
  107. data/maps/odni-mkd-cyrl-latn-2015.yaml +122 -0
  108. data/maps/odni-rus-Cyrl-Latn-2015.yaml +77 -0
  109. data/maps/odni-srp-Cyrl-Latn-2015.yaml +129 -0
  110. data/maps/odni-tat-Cyrl-Latn-2015.yaml +142 -0
  111. data/maps/odni-tgk-Cyrl-Latn-2015.yaml +148 -0
  112. data/maps/odni-uig-Cyrl-Latn-2015.yaml +138 -0
  113. data/maps/odni-ukr-Cyrl-Latn-2015.yaml +157 -0
  114. data/maps/odni-uzb-Cyrl-Latn-2015.yaml +167 -0
  115. data/maps/royin-tha-Thai-Latn-1939-generic.yaml +90 -0
  116. data/maps/royin-tha-Thai-Latn-1968.yaml +179 -0
  117. data/maps/royin-tha-Thai-Latn-1999-chained.yaml +180 -0
  118. data/maps/royin-tha-Thai-Latn-1999.yaml +76 -0
  119. data/maps/sac-zho-Hans-Latn-1979.yaml +24759 -0
  120. data/maps/ses-ara-arab-latn-1930.yaml +275 -0
  121. data/maps/stategeocadastre-ukr-Cyrl-Latn-1993.yaml +222 -0
  122. data/maps/ua-ukr-Cyrl-Latn-1996.yaml +193 -0
  123. data/maps/un-ara-Arab-Latn-1971.yaml +127 -0
  124. data/maps/un-ara-Arab-Latn-1972.yaml +152 -0
  125. data/maps/un-ara-Arab-Latn-2017.yaml +383 -0
  126. data/maps/un-bel-Cyrl-Latn-2007.yaml +114 -0
  127. data/maps/un-ben-Beng-Latn-2016.yaml +534 -0
  128. data/maps/un-ell-Grek-Latn-1987-tl.yaml +32 -0
  129. data/maps/un-ell-Grek-Latn-1987-ts.yaml +20 -0
  130. data/maps/un-ell-Grek-Latn-phonetic-1987.yaml +780 -0
  131. data/maps/un-mon-Mong-Latn-2013.yaml +93 -0
  132. data/maps/un-rus-Cyrl-Latn-1987.yaml +166 -0
  133. data/maps/un-ukr-cyrl-latn-1998.yaml +30 -0
  134. data/maps/var-jpn-Hrkt-Latn-hepburn-1886.yaml +406 -0
  135. data/maps/var-jpn-Hrkt-Latn-hepburn-1954.yaml +386 -0
  136. data/maps/var-kor-Hang-Latn-mr-1939.yaml +1054 -0
  137. data/maps/var-kor-Kore-Hang-2013.yaml +59754 -0
  138. data/maps/var-kor-Kore-Latn-mr-1939.yaml +37 -0
  139. data/maps/var-tha-Thai-Thai-phonemic.yaml +59 -0
  140. data/maps/var-tha-Thai-Zsym-ipa.yaml +301 -0
  141. data/maps/var-zho-Hani-Latn-1979.yaml +38908 -0
  142. data/spec/interscript/mapping_spec.rb +42 -0
  143. data/spec/interscript_spec.rb +26 -0
  144. data/spec/spec_helper.rb +3 -0
  145. metadata +295 -11
@@ -0,0 +1,141 @@
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'
@@ -0,0 +1,125 @@
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
@@ -0,0 +1,130 @@
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)
@@ -0,0 +1,94 @@
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]