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,534 @@
1
+ ---
2
+ authority_id: un
3
+ id: 2016
4
+ language: ben
5
+ source_script: Beng
6
+ destination_script: Latn
7
+ name: Bengali Romanization, Version 4.0
8
+ url: http://www.eki.ee/wgrs/rom1_bn.htm
9
+ creation_date: 2016
10
+ description: |
11
+ The United Nations recommended system was approved in 1972 (II/11)
12
+ and amended in 1977 (III/12), based on a report prepared by D. N.
13
+ Sharma. The tables and their corrections were published in volume II of
14
+ the conference reports1,2.
15
+
16
+ There is no evidence of the use of the system either in Bangladesh,
17
+ in India or in international cartographic products. The resolution
18
+ IV/17 (1982) recommended association, inter alia, with Bangladesh, in
19
+ carrying out further studies on the system.
20
+
21
+ Bengali (Bānglā) uses an alphasyllabic script whereby each character
22
+ represents a syllable rather than one sound. Vowels and diphthongs are
23
+ marked in two ways: as independent characters (used syllable-initially)
24
+ and in an abbreviated form, to denote vowels after consonants. The
25
+ romanization table is unambiguous but the user would have to recognize
26
+ many ligatures not given in the original table. The system is mostly
27
+ reversible but there exist some ambiguities in the romanization of
28
+ vowels (independent vs. abbreviated characters) and consonants
29
+ (ligatures vs. character sequences).
30
+
31
+ Other systems of romanization
32
+
33
+ For differences between the UN system and the ISO transliteration
34
+ standard ISO 15919: 2001 see the section on the romanization of Hindi.
35
+
36
+ References
37
+
38
+ Second United Nations Conference on the Standardization of
39
+ Geographical Names. London, 10–31 May 1972. Vol. II. Technical papers.
40
+ United Nations. New York 1974, pp. 139–140.
41
+
42
+ Third United Nations Conference on the Standardization of
43
+ Geographical Names. Athens, 17 August – 7 September 1977. Vol. II,
44
+ Technical papers, pp. 393 etc.
45
+
46
+ notes:
47
+ - |
48
+ In the romanization system below character variations and the table of ligatures have been added.
49
+
50
+ I. Independent vowel characters
51
+
52
+ 1 অ a
53
+ 2 আ ā
54
+ 3 ই i
55
+ 4 ঈ ī
56
+ 5 উ u
57
+ 6 ঊ ū
58
+ 7 ঋ ṛ
59
+ 8 এ e
60
+ 9 ঐ ai
61
+ 10 ও o
62
+ 11 ঔ au
63
+
64
+
65
+
66
+
67
+ - Where two Roman equivalents are given, the second (in brackets) is
68
+ used for recording the pronunciation of place-names while the first
69
+ form is for general use.
70
+ - In the table only word-initial character variants are shown.
71
+ Depending on the position in the word many variants of the characters
72
+ are used as well as some ligatures. These features are not covered here.
73
+ - For technical reasons the characters of the Mongolian script are
74
+ turned 90˚ anti-clockwise.
75
+
76
+ tests:
77
+ - source: "র্ক"
78
+ expected: "rka"
79
+ - source: "গ্র"
80
+ expected: "gra"
81
+ - source: "ত্য"
82
+ expected: "tya"
83
+
84
+ - source: |
85
+ আমার সোনার বাংলা, আমি তোমায় ভালোবাসি।
86
+ চিরদিন তোমার আকাশ, তোমার বাতাস, আমার প্রাণে বাজায় বাঁশি॥
87
+ ও মা, ফাগুনে তোর আমের বনে ঘ্রাণে পাগল করে, মরি হায়, হায় রে—
88
+ ও মা, অঘ্রাণে তোর ভরা ক্ষেতে আমি কী দেখেছি মধুর হাসি॥
89
+
90
+ কী শোভা, কী ছায়া গো, কী স্নেহ, কী মায়া গো—
91
+ কী আঁচল বিছায়েছ বটের মূলে, নদীর কূলে কূলে।
92
+ মা, তোর মুখের বাণী আমার কানে লাগে সুধার মতো,
93
+ মরি হায়, হায় রে—
94
+ মা, তোর বদনখানি মলিন হলে, ও মা, আমি নয়নজলে ভাসি॥
95
+
96
+ # Note: There are still couple of improvements we can do in the
97
+ # transilation system, but for now this could work
98
+ #
99
+ # But please revisit this - specially the use case of `য়`, it's adding
100
+ # some mixed character in the text.
101
+ #
102
+ expected: |
103
+ āmaāra saonaāra baāṁlaā, āmai taomaāj̱aA় bhaālaobaāsai।
104
+ chairadaina taomaāra ākaāsha, taomaāra baātaāsa, āmaāra praāṇae baājaāj̱aA় baām̐shai॥
105
+ o maā, phaāgaunae taora āmaera banae ghraāṇae paāgala karae, marai haāj̱aA়, haāj̱aA় rae—
106
+ o maā, aghraāṇae taora bharaā kṣhaetae āmai kaī daekhaechhai madhaura haāsai॥
107
+
108
+ kaī shaobhaā, kaī chhaāj̱aA়ā gao, kaī snaeha, kaī maāj̱aA়ā gao—
109
+ kaī ām̐chala baichhaāj̱aA়echha baṭaera maūlae, nadaīra kaūlae kaūlae।
110
+ maā, taora maukhaera baāṇaī āmaāra kaānae laāgae saudhaāra matao,
111
+ marai haāj̱aA়, haāj̱aA় rae—
112
+ maā, taora badanakhaānai malaina halae, o maā, āmai naj̱aA়najalae bhaāsai॥
113
+
114
+ map:
115
+ characters:
116
+
117
+ # I. Independent vowel characters
118
+
119
+ 'অ': 'a' # 1
120
+ 'আ': 'ā' # 2
121
+ 'ই': 'i' # 3
122
+ 'ঈ': 'ī' # 4
123
+ 'উ': 'u' # 5
124
+ 'ঊ': 'ū' # 6
125
+ 'ঋ': 'ṛ' # 7
126
+ 'এ': 'e' # 8
127
+ 'ঐ': 'ai' # 9
128
+ 'ও': 'o' # 10
129
+ 'ঔ': 'au' # 11
130
+
131
+ # II. Abbreviated vowel characters (ক stands for any consonant character)
132
+
133
+ # 'ক': 'a' # 1
134
+ '\u09be': 'ā' # 2 কা
135
+ '\u09bf': 'i' # 3 কি
136
+ '\u09c0': 'ī' # 4 কী
137
+ '\u09c1': 'u' # 5 কু Exceptions: গু gu; রু ru; শু shu; হু hu; ন্তু ntu; স্তু stu.
138
+ '\u09c2': 'ū' # 6 কূ Exception: রূ rū.
139
+ '\u09c3': 'ṛ' # 7 কৃ Exception: হৃ hṛ.
140
+ '\u09c7': 'e' # 8 কে
141
+ '\u09c8': 'ai' # 9 কৈ
142
+ '\u09cb': 'o' # 10 কো
143
+ '\u09cc': 'au' # 11 কৌ
144
+
145
+ # II 5 Exceptions
146
+ 'গু': 'gu'
147
+ 'রু': 'ru'
148
+ 'শু': 'shu'
149
+ 'হু': 'hu'
150
+ 'ন্তু': 'ntu'
151
+ 'স্তু': 'stu'
152
+ # II 6 Exceptions
153
+ 'রূ': 'rū'
154
+ # II 7 Exceptions
155
+ 'হৃ': 'hṛ'
156
+
157
+ # III. Other symbols (ক stands for any consonant character)
158
+
159
+ '\u0982': 'ṁ' # 1 কং
160
+ '\u0981': 'm̐' # 2 কঁ
161
+ '\u0983': 'ḥ' # 3 কঃ
162
+ '\u09cd\u200c': '' # 4 ক্‌ Pronunciation without a vowel; special form: ৎ t.
163
+
164
+ # III 4 special form
165
+ 'ৎ': 't'
166
+
167
+ # IV. Consonant characters
168
+
169
+ 'ক': 'ka' # 1
170
+ 'খ': 'kha' # 2
171
+ 'গ': 'ga' # 3
172
+ 'ঘ': 'gha' # 4
173
+ 'ঙ': 'ṅa' # 5
174
+ 'চ': 'cha' # 6
175
+ 'ছ': 'chha' # 7
176
+ 'জ': 'ja' # 8
177
+ 'ঝ': 'jha' # 9
178
+ 'ঞ': 'ña' # 10
179
+ 'ট': 'ṭa' # 11
180
+ 'ঠ': 'ṭha' # 12
181
+ 'ড': 'ḍa' # 13 A Dotted variants of the characters: ড় ṙa; ঢ় ṙha; য় ya.
182
+ 'ঢ': 'ḍha' # 14 A Dotted variants of the characters: ড় ṙa; ঢ় ṙha; য় ya.
183
+ 'ণ': 'ṇa' # 15
184
+ 'ত': 'ta' # 16
185
+ 'থ': 'tha' # 17
186
+ 'দ': 'da' # 18
187
+ 'ধ': 'dha' # 19
188
+ 'ন': 'na' # 20
189
+ 'প': 'pa' # 21
190
+ 'ফ': 'pha' # 22
191
+ 'ব': 'ba' # 23
192
+ 'ভ': 'bha' # 24
193
+ 'ম': 'ma' # 25
194
+ 'য': 'j̱aA' # 26
195
+ 'র': 'ra' # 27
196
+ 'ল': 'la' # 28
197
+ 'শ': 'sha' # 29
198
+ 'ষ': 'ṣha' # 30
199
+ 'স': 'sa' # 31
200
+ 'হ': 'ha' # 32
201
+
202
+ # IV 13, 14
203
+ 'ড়': 'ṙa'
204
+ 'ঢ়': 'ṙha'
205
+ 'য়': 'ya'
206
+
207
+
208
+ # V. Ligatures
209
+ # Adscript forms of some consonants
210
+ #
211
+ # We already implemented one to one mapping for most commonly used
212
+ # combined letters - (Zuktabarna), so we can ignore this custom rules
213
+ # fro now.
214
+ #
215
+ # 'র্‍': 'r-:'
216
+ # '‍্র': '-r:'
217
+ # '‍্য': '-y:'
218
+
219
+
220
+ # Other ligatures (the list is not complete)
221
+
222
+ 'ক্ক': 'kka'
223
+ 'ক্ট': 'kṭa'
224
+ 'ক্ত': 'kta'
225
+ 'ক্ন': 'kna'
226
+ 'ক্ম': 'kma'
227
+ 'ক্র': 'kra'
228
+ 'ক্ল': 'kla'
229
+ 'ক্ব': 'kva'
230
+ 'ক্ষ': 'kṣha'
231
+ 'ক্ষ্ন': 'kṣhna'
232
+ 'ক্ষ্ম': 'kṣhma'
233
+ 'ক্ষ্ব': 'kṣhva'
234
+
235
+ 'ক্স': 'ksa'
236
+ 'গ্গ': 'gga'
237
+ 'গ্দ': 'gda'
238
+ 'গ্ধ': 'gdha'
239
+ 'গ্ন': 'gna'
240
+ 'গ্ম': 'gma'
241
+ 'গ্র': 'gra'
242
+ 'গ্ল': 'gla'
243
+ 'ঘ্র': 'ghra'
244
+ 'ঙ্ক': 'ṅka'
245
+ 'ঙ্গ': 'ṅga'
246
+ 'চ্চ': 'chcha'
247
+
248
+ 'চ্ছ': 'chchha'
249
+ 'চ্ছ্ব': 'chchhva'
250
+ 'চ্ঞ': 'chña'
251
+ 'জ্জ': 'jja'
252
+ 'জ্জ্ব': 'jjva'
253
+ 'জ্ঝ': 'jjha'
254
+ 'জ্ঞ': 'jña'
255
+ 'জ্ব': 'jva'
256
+ 'ঞ্চ': 'ñcha'
257
+ 'ঞ্ছ': 'ñchha'
258
+ 'ঞ্জ': 'ñja'
259
+ 'ঞ্ঝ': 'ñjha'
260
+
261
+ 'ট্ট': 'ṭṭa'
262
+ 'ড্ড': 'ḍḍa'
263
+ 'ণ্ট': 'ṇṭa'
264
+ 'ণ্ঠ': 'ṇṭha'
265
+ 'ণ্ড': 'ṇḍa'
266
+ 'ত্ত': 'tta'
267
+ 'ত্ত্ব': 'ttva'
268
+ 'ত্থ': 'ttha'
269
+ 'ত্ন': 'tna'
270
+ 'ত্ম': 'tma'
271
+ 'ত্র': 'tra'
272
+ 'ত্ল': 'tla'
273
+
274
+ 'ত্ব': 'tva'
275
+ 'দ্দ': 'dda'
276
+ 'দ্দ্ব': 'ddva'
277
+ 'দ্ধ': 'ddha'
278
+ 'দ্ধ্ব': 'ddhva'
279
+ 'দ্ন': 'dna'
280
+ 'দ্ব': 'dva'
281
+ 'দ্ভ': 'dbha'
282
+ 'দ্ম': 'dma'
283
+ 'দ্র': 'dra'
284
+ 'দ্ল': 'dla'
285
+ 'ধ্র': 'dhra'
286
+
287
+ 'ন্ঠ': 'nṭha'
288
+ 'ন্ড': 'nḍa'
289
+ 'ন্ক': 'nka'
290
+ 'ন্ত': 'nta'
291
+ 'ন্ত্র': 'ntra'
292
+ 'ন্থ': 'ntha'
293
+ 'ন্দ': 'nda'
294
+ 'ন্দ্র': 'ndra'
295
+ 'ন্ধ': 'ndha'
296
+ 'ন্ন': 'nna'
297
+ 'ন্ম': 'nma'
298
+ 'ন্ব': 'nva'
299
+
300
+ 'প্ন': 'pna'
301
+ 'প্ত': 'pta'
302
+ 'প্প': 'ppa'
303
+ 'প্র': 'pra'
304
+ 'প্ল': 'pla'
305
+ 'ফ্র': 'phra'
306
+ 'ব্জ': 'bja'
307
+ 'ব্দ': 'bda'
308
+ 'ব্ধ': 'bdha'
309
+ 'ব্ব': 'bba'
310
+ 'ব্র': 'bra'
311
+ 'ভ্র': 'bhra'
312
+ 'ম্প': 'mpa'
313
+ 'ম্ব': 'mba'
314
+ 'ম্ভ': 'mbha'
315
+ 'ম্ভ্র': 'mbhra'
316
+ 'ম্ম': 'mma'
317
+ 'ম্র': 'mra'
318
+ 'ম্ল': 'mla'
319
+ 'ল্ক': 'lka'
320
+ 'ল্ট': 'lṭa'
321
+ 'ল্ড': 'lḍa'
322
+ 'ল্ম': 'lma'
323
+ 'ল্ল': 'lla'
324
+
325
+ 'শ্চ': 'shcha'
326
+ 'শ্ছ': 'shchha'
327
+ 'শ্ত': 'shta'
328
+ 'শ্ন': 'shna'
329
+ 'শ্ম': 'shma'
330
+ 'শ্র': 'shra'
331
+ 'শ্ল': 'shla'
332
+ 'শ্ব': 'shva'
333
+ 'ষ্ক': 'ṣhka'
334
+ 'ষ্ট': 'ṣhṭa'
335
+ 'ষ্ট্র': 'ṣhṭra'
336
+ 'ষ্ঠ': 'ṣhṭha'
337
+
338
+ 'ষ্ঞ': 'ṣhña'
339
+ 'ষ্প': 'ṣhpa'
340
+ 'ষ্ফ': 'ṣhpha'
341
+ 'স্ক': 'ska'
342
+ 'স্ক্র': 'skra'
343
+ 'স্খ': 'skha'
344
+ 'স্ত': 'sta'
345
+ 'স্ন': 'sna'
346
+ 'স্ম': 'sma'
347
+ 'স্র': 'sra'
348
+ 'স্ব': 'sva'
349
+ 'হ্ন': 'hna'
350
+
351
+ 'হ্ম': 'hma'
352
+ 'হ্র': 'hra'
353
+ 'হ্ল': 'hla'
354
+
355
+ # Zuktabarna - combined letters
356
+ #
357
+ # The followings are not the official list, but this has been
358
+ # collected and varified from some reliable source.
359
+ # Source: https://www.somewhereinblog.net/blog/trivuzblog/28849694
360
+ #
361
+ 'ক্ট্র': 'kṭra'
362
+ 'ক্ত্র': 'ktra'
363
+ 'ক্য': 'kya'
364
+ 'ক্ষ্ণ': 'kṣṇa'
365
+ 'ক্ষ্ম': 'kṣma'
366
+ 'খ্য': 'khaj̱a'
367
+ 'খ্র': 'khra'
368
+ 'গ্ন': 'gna'
369
+ 'গ্‌ণ': 'gṇa'
370
+ 'গ্ধ্য': 'gdhya'
371
+ 'গ্ধ্র': 'gdhra'
372
+ 'গ্ন্য': 'gnya'
373
+ 'গ্ব': 'gva'
374
+ 'গ্য': 'gya'
375
+ 'গ্র্য': 'grya'
376
+ 'ঘ্ন': 'ghna'
377
+ 'ঘ্য': 'ghya'
378
+ 'ঙ্‌ক্ত': 'ṅkata'
379
+ 'ঙ্ক্য': 'ṅkaya'
380
+ 'ঙ্ক্ষ': 'ṅkṣa'
381
+ 'ঙ্খ': 'ṅkha'
382
+ 'ঙ্গ্য': 'ṅgaya'
383
+ 'ঙ্ঘ': 'ṅgha'
384
+ 'ঙ্ঘ্য': 'ṅghya'
385
+ 'ঙ্ঘ্র': 'ṅghra'
386
+ 'ঙ্ম': 'ṅma'
387
+ 'চ্ছ্র': 'cchra'
388
+ 'চ্ব': 'cva'
389
+ 'চ্য': 'cya'
390
+ 'জ্য': 'jya'
391
+ 'জ্র': 'jra'
392
+ 'ট্ব': 'ṭva'
393
+ 'ট্ম': 'ṭma'
394
+ 'ট্য': 'ṭya'
395
+ 'ট্র': 'ṭra'
396
+ 'ড্ব': 'ḍva'
397
+ 'ড্য': 'ḍya'
398
+ 'ড্র': 'ḍra'
399
+ 'ড়্গ': 'ḍga'
400
+ 'ঢ্য': 'ḍhya'
401
+ 'ঢ্র': 'ḍhra'
402
+ 'ণ্ঠ্য': 'ṇṭhya'
403
+ 'ণ্ড্য': 'ṇḍya'
404
+ 'ণ্ড্র': 'ṇḍra'
405
+ 'ণ্ঢ': 'ṇḍha'
406
+ 'ণ্ণ': 'ṇṇa'
407
+ 'ণ্ব': 'ṇva'
408
+ 'ণ্ম': 'ṇma'
409
+ 'ণ্য': 'ṇya'
410
+ 'ৎক': 'tka'
411
+ 'ত্ত্য': 'ttya'
412
+ 'ত্ম্য': 'tmya'
413
+ 'ত্য': 'tya'
414
+ 'ত্র্য': 'trya'
415
+ 'ৎল': 'tla'
416
+ 'ৎস': 'tsa'
417
+ 'থ্ব': 'thva'
418
+ 'থ্য': 'thya'
419
+ 'থ্র': 'thra'
420
+ 'দ্গ': 'dga'
421
+ 'দ্ঘ': 'dgha'
422
+ 'দ্ভ্র': 'dbhra'
423
+ 'দ্য': 'dya'
424
+ 'দ্র্য': 'draya'
425
+ 'ধ্ন': 'dhna'
426
+ 'ধ্ব': 'dhva'
427
+ 'ধ্ম': 'dhma'
428
+ 'ধ্য': 'dya'
429
+ 'ন্ট': 'nṭa'
430
+ 'ন্ট্র': 'nṭra'
431
+ 'ন্ড্র': 'nḍra'
432
+ 'ন্ত্ব': 'ntva'
433
+ 'ন্ত্য': 'ntaya'
434
+ 'ন্ত্র্য': 'ntraya'
435
+ 'ন্থ্র': 'nthra'
436
+ 'ন্দ্য': 'ndya'
437
+ 'ন্দ্ব': 'ndva'
438
+ 'ন্ধ্য': 'ndhya'
439
+ 'ন্ধ্র': 'ndhra'
440
+ 'ন্য': 'nya'
441
+ 'প্ট': 'pṭa'
442
+ 'প্য': 'pya'
443
+ 'প্র্য': 'praya'
444
+ 'প্স': 'psa'
445
+ 'ফ্ল': 'phla'
446
+ 'ব্য': 'bya'
447
+ 'ব্ল': 'bla'
448
+ 'ভ্ব': 'bhva'
449
+ 'ভ্য': 'bhya'
450
+ 'ম্ন': 'mna'
451
+ 'ম্প্র': 'mpra'
452
+ 'ম্ফ': 'mpha'
453
+ 'ম্ব্র': 'mvra'
454
+ 'ম্য': 'mya'
455
+ 'য্য': 'j̱aya'
456
+ 'র্ক': 'rka'
457
+ 'র্ক্য': 'rkya'
458
+ 'র্গ্য': 'rgya'
459
+ 'র্ঘ্য': 'rghya'
460
+ 'র্চ্য': 'rchya'
461
+ 'র্জ্য': 'rjya'
462
+ 'র্ণ্য': 'rṇya'
463
+ 'র্ত্য': 'rtya'
464
+ 'র্থ্য': 'rthya'
465
+ 'র্ব্য': 'rvya'
466
+ 'র্ম্য': 'rmya'
467
+ 'র্শ্য': 'rshya'
468
+ 'র্ষ্য': 'rṣhya'
469
+ 'র্হ্য': 'rhya'
470
+ 'র্খ': 'rkha'
471
+ 'র্গ': 'rga'
472
+ 'র্গ্র': 'rgra'
473
+ 'র্ঘ': 'rgha'
474
+ 'র্চ': 'rcha'
475
+ 'র্ছ': 'rchha'
476
+ 'র্জ': 'rja'
477
+ 'র্ঝ': 'rjha'
478
+ 'র্ট': 'rṭa'
479
+ 'র্ড': 'rḍa'
480
+ 'র্ণ': 'rṇa'
481
+ 'র্ত': 'rta'
482
+ 'র্ত্র': 'rtra'
483
+ 'র্থ': 'rtha'
484
+ 'র্দ': 'rda'
485
+ 'র্দ্ব': 'rdva'
486
+ 'র্দ্র': 'rdra'
487
+ 'র্ধ': 'rdha'
488
+ 'র্ধ্ব': 'rdhba'
489
+ 'র্ন': 'rna'
490
+ 'র্প': 'rpa'
491
+ 'র্ফ': 'rpha'
492
+ 'র্ভ': 'rbha'
493
+ 'র্ম': 'rma'
494
+ 'র্য': 'rya'
495
+ 'র্ল': 'rla'
496
+ 'র্শ': 'rsha'
497
+ 'র্শ্ব': 'rshba'
498
+ 'র্ষ': 'rṣha'
499
+ 'র্স': 'rsa'
500
+ 'র্হ': 'rha'
501
+ 'র্ঢ্য': 'rḍhya'
502
+ 'ল্ক্য': 'lkaya'
503
+ 'ল্গ': 'lga'
504
+ 'ল্প': 'lpa'
505
+ 'ল্‌ফ': 'lpha'
506
+ 'ল্ফ': 'lpha'
507
+ 'ল্ব': 'lba'
508
+ 'ল্‌ভ': 'lbha'
509
+ 'ল্য': 'lya'
510
+ 'শ্য': 'sya'
511
+ 'ষ্ক্র': 'ṣkra'
512
+ 'ষ্ট্য': 'ṣṭya'
513
+ 'ষ্ঠ্য': 'ṣṭhya'
514
+ 'ষ্ণ': 'ṣṇa'
515
+ 'ষ্প্র': 'ṣpra'
516
+ 'ষ্ব': 'ṣva'
517
+ 'ষ্ম': 'ṣma'
518
+ 'ষ্য': 'ṣya'
519
+ 'স্ট': 'sṭa'
520
+ 'স্ট্র': 'sṭra'
521
+ 'স্ত্ব': 'stva'
522
+ 'স্ত্য': 'stṣya'
523
+ 'স্ত্র': 'stra'
524
+ 'স্থ': 'stha'
525
+ 'স্থ্য': 'sthya'
526
+ 'স্প': 'spa'
527
+ 'স্প্র': 'spra'
528
+ 'স্প্‌ল': 'spala'
529
+ 'স্ফ': 'spha'
530
+ 'স্য': 'sya'
531
+ 'স্ল': 'sla'
532
+ 'হ্ণ': 'hṇa'
533
+ 'হ্ব': 'hva'
534
+ 'হ্য': 'hya'