├── .gitignore ├── bn-khipro.png ├── LICENSE ├── README.md ├── README.en.md ├── installer └── bn-khipro.mim /.gitignore: -------------------------------------------------------------------------------- 1 | khipro_logo.png 2 | -------------------------------------------------------------------------------- /bn-khipro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rank-coder/khipro-m17n/HEAD/bn-khipro.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 rank_coder 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [Read in English](README.en.md) 2 | ## আমাদের ওয়েবসাইট (Website): 3 | ### https://KhiproTeam.github.io/Khipro/ 4 | 5 | # ক্ষিপ্র khipro-m17n 6 | 7 | ![khipro-m17n](https://socialify.git.ci/rank-coder/khipro-m17n/image?description=1&forks=1&issues=1&language=1&logo=https%3A%2F%2Fraw.githubusercontent.com%2Frank-coder%2Fkhipro-m17n%2Fmain%2Fbn-khipro.png&name=1&pattern=Circuit%20Board&pulls=1&stargazers=1&theme=Auto) 8 | 9 | এটি ক্ষিপ্র-র m17n ভার্শন। Typing-booster এর সাথে ব্যবহার করলে আরো ভালো প্রেডিকশন ও সাজেশন পাওয়া যাবে। 10 | * লিনাক্সে: khipro-m17n সরাসরি ব্যবহার করা যায়। ibus অথবা fcitx ব্যবহার করে khipro-m17n ব্যবহার করা যায়। লিনাক্সে ব্যবহার করার বিস্তারিত বর্ণনা এই ডকুমেন্টেশনে আছে। 11 | * উইন্ডোজে: বর্ণ কিবোর্ডের নতুন দুটি ভ্যারিয়েন্ট—[Borno Native](https://codepotro.com/borno/) এবং [Borno Drops](https://codepotro.com/borno-drops/)-এ ক্ষিপ্র লেআউট বিল্ট-ইন রয়েছে। 12 | * অ্যান্ড্রয়েডে: [HeliBoard](https://github.com/Helium314/HeliBoard/)-এ ক্ষিপ্র লেআউট রয়েছে। বর্ণ অ্যান্ড্রয়েড অ্যাপেও আসবে শীঘ্রই। 13 | * আরও সহজে বুঝতে আমাদের ওয়েবসাইট ভিজিট করুন: ক্ষিপ্র-র ওয়েবসাইট: https://KhiproKeyboard.github.io 14 | 15 | # ডকুমেন্টেশন 16 | 17 | ## পরিচিতি 18 | বাংলা ফোনেটিক টাইপিংয়ের জন্য অভ্র জনপ্রিয় হলেও, বারবার Shift চাপা এবং কিছু key দূরে থাকার কারণে (যেমন: ঁ এর জন্য ^) গতি ও ফ্লো নষ্ট হয়। ফলে একটা সীমার পর গতি আরও বাড়ানো অসম্ভব হয়ে যায়। 19 | 20 | এই সীমাবদ্ধতা কাটাতে আমরা চীনের পিনইন পদ্ধতি থেকে অনুপ্রাণিত হয়েছি। পিনইন কেস-ইনসেনসিটিভ হওয়ায় এবং সাথে ইন্টেলিজেন্ট সাজেশনের কারণে চীনারা চীনা ভাষা ইংরেজির চেয়েও দ্রুত লিখতে পারেন। 21 | 22 | ক্ষিপ্র-তে সেই ধারণাই আনা হয়েছে—Shift ছাড়াই দ্রুত ও স্বচ্ছন্দে বাংলা লেখা যায়। প্রয়োজনীয় সব চিহ্ন হাত না সরিয়েই টাইপ করা সম্ভব। 23 | 24 | লিনাক্সে টাইপিং বুস্টারের মাধ্যমে ক্ষিপ্র আরও ক্ষিপ্রতর হয়, যেখানে পরবর্তী একাধিক শব্দের সাজেশন পাওয়া যায়। উইন্ডোজ, অ্যান্ড্রয়েডসহ অন্যান্য প্ল্যাটফর্মেও ক্ষিপ্র ইমপ্লিমেন্ট করা অ্যাপ দিয়ে প্রেডিকটিভ টেক্সট সুবিধা ব্যবহার করা যাবে। 25 | 26 | ## কীভাবে কাজ করে আর কী কী ফিচার আছে 27 | 28 |
29 | ডেমো ভিডিয়ো:
30 | 31 | [Screencast From 2025-03-19 22-43-44.webm](https://github.com/user-attachments/assets/84f803a1-d01e-416e-addb-65c7f7cd6b91) 32 | 33 | 34 |
ক্ষিপ্র কিবোর্ডে দ্বিগুণ সুবিধা পাওয়া যাবে যদি typing-booster এর সাথে ব্যবহার করা হয়। তবে যারা চান তারা টাইপিং বুস্টার ছাড়াও ব্যবহার করতে পারবেন। উপরের ছবির মতো সাজেশন আসবে; সেগুলো সিলেক্ট করার জন্য কিবোর্ড শর্টকাট ব্যবহার করে ততক্ষণাৎ নম্বর অনুযায়ী সাজেশন কমিট করা যাবে। 35 |
36 | এবার দেখে নিই ক্ষিপ্র কিবোর্ডের ম্যাপিংটা কী রকম। 37 | আমাদের ওয়েবসাইটে বিস্তারিত ম্যাপিং ও ডকুমেন্টেশন রয়েছে। https://KhiproKeyboard.github.io/docs 38 | 39 | ## ক্ষিপ্র ফোনেটিক ম্যাপিং টেবিল 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 |
kkhgghngf, ngcchjjhnff, n
tftffdfdffnftthddhn
pphbvmzrlshsf
shrfrffyt/oo, ngx/o
আ, াই, িঈ, ীউ, ুঊ, ূঋ, ৃএ, েঐ, ৈও, োঔ, ৌ
aiiiuuuqeoiwou
অ্যা, ্যাওয়া, োয়াওয়ে, োয়েওয়্যাক্ষজ্ঞঞ্জব-ফলায-ফলার-ফলা
ae, aefwawewaekf, kkf, ksfggnjbzr
রেফহসন্তনুকতাহসন্ত+ZWNJপৃথায়কদাঁড়িটাকাডটস্ল্যাশসেমিকোলন
rrqq,,xx;.$..//;;
224 | 225 | ## সংক্ষিপ্ত ম্যাপিং টেবিল (অভ্র, বর্ণ ফোনেটিক ইউজারদের জন্য) 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 |
tftffdfdffnfnffngf, ng
phsfrfrffoo, ngx/
ঈ, ীঊ, ূঐ, ৈও, োঔ, ৌঋ, ৃ
t/iiuuoiwouq
অ্যা, ্যাওয়া, োয়াওয়ে, োয়েওয়্যাট্টড্ডক্ষ
ae, aefwawewaettfddfkf, kkh, ksf
ব-ফলায-ফলাপৃথায়ককোলনডটস্ল্যাশসেমিকোলন
bz;:..//;;
328 | 329 | ## উদাহরণ 330 | অক্ষর \= `okfor` `okf;r`, উৎস \= `ut/s` 331 | কলম \= `kolom` `k;l;m`, তাঁর \= `ta/r` 332 | বৈ \= `boi`, বই \= `b;i`, বৌ \= `bou`, বউ \= `b;u` 333 | ব্যাংক \= `baeng;k` `baeook` `bzaook` 334 | শৃঙ্খলা \= `shqngkhola` `shqngfkh;la` 335 | অ্যাপ \= `aep`, হোয়াটসঅ্যাপ \= `hwatfsaefp` 336 | বিজ্ঞান \= `biggan`, অঞ্চল \= `oncol`, ব্যঞ্জন \= `bznjon` 337 | 338 | # যোগাযোগ 339 | 1. Khipro: Bangla Input Method Project Group: https://t.me/KhiproKeyboard 340 | 2. Discord: https://discord.gg/GPt6s8cb48 341 | 3. Bangla Localization Community Group: https://t.me/BanglaLocalizationCommunity 342 | 4. Linux Bangla Group: https://t.me/linux_bangla 343 | -------------------------------------------------------------------------------- /README.en.md: -------------------------------------------------------------------------------- 1 | [বাংলায় পড়ুন](README.md) 2 | 3 | ## Our Website 4 | ### https://KhiproTeam.github.io/Khipro/ 5 | 6 | # Khipro khipro-m17n 7 | 8 | ![khipro-m17n](https://socialify.git.ci/rank-coder/khipro-m17n/image?description=1&forks=1&issues=1&language=1&logo=https%3A%2F%2Fraw.githubusercontent.com%2FSharafatKarim%2Fkhipro-m17n%2Fmain%2Fkhipro_logo.png&name=1&pattern=Circuit%20Board&pulls=1&stargazers=1&theme=Auto) 9 | 10 | This is the **m17n version** of Khipro. When used with Typing-booster, it provides better prediction and suggestions. 11 | 12 | * **On Linux:** khipro-m17n can be used directly. It works through ibus or fcitx. Detailed instructions for Linux use are included in this documentation. 13 | * **On Windows:** The two new variants of the Borno keyboard — [Borno Native](https://codepotro.com/borno/) and [Borno Drops](https://codepotro.com/borno-drops/) — come with the Khipro layout built-in. 14 | * **On Android:** The Khipro layout is available in [HeliBoard](https://github.com/Helium314/HeliBoard/). It will also be available in the Borno Android app soon. 15 | * To understand more easily, visit our website: Khipro’s website → https://KhiproKeyboard.github.io 16 | 17 | # Documentation 18 | 19 | ## Introduction 20 | For Bangla phonetic typing, **Avro** is popular. But frequent use of **Shift** and some distant keys (like `^` for ঁ) slow down speed and flow. After a point, it becomes impossible to increase typing speed further. 21 | 22 | To overcome this limitation, we took inspiration from **China’s Pinyin system**. Since Pinyin is case-insensitive and offers intelligent suggestions, Chinese users can type Chinese faster than English. 23 | 24 | Khipro brings that same idea—Bangla typing without using **Shift**, making it faster and smoother. All necessary symbols can be typed without moving your hands away. 25 | 26 | On Linux, with Typing-booster, Khipro becomes even faster, as it provides predictions for multiple upcoming words. On Windows, Android, and other platforms, predictive text will also be available through apps implementing Khipro. 27 | 28 | ## How it works and features 29 | 30 |
31 | Demo Video:
32 | 33 | [Screencast From 2025-03-19 22-43-44.webm](https://github.com/user-attachments/assets/84f803a1-d01e-416e-addb-65c7f7cd6b91) 34 | 35 |
Khipro keyboard provides double benefits if used with Typing-booster. However, it can also be used without Typing-booster. Suggestions will appear as shown above; they can be instantly committed by using keyboard shortcuts according to the number of the suggestion.
36 | Now let’s take a look at the keyboard mapping of Khipro. 37 | Detailed mapping and documentation are available on our website: https://KhiproKeyboard.github.io/docs 38 | 39 | ## Khipro Phonetic Mapping Table 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 |
kkhgghngf, ngcchjjhnff, n
tftffdfdffnftthddhn
pphbvmzrlshsf
shrfrffyt/oo, ngx/o
আ, াই, িঈ, ীউ, ুঊ, ূঋ, ৃএ, েঐ, ৈও, োঔ, ৌ
aiiiuuuqeoiwou
অ্যা, ্যাওয়া, োয়াওয়ে, োয়েওয়্যাক্ষজ্ঞঞ্জব-ফলায-ফলার-ফলা
ae, aefwawewaekf, kkf, ksfggnjbzr
রেফহসন্তনুকতাহসন্ত+ZWNJপৃথায়কদাঁড়িটাকাডটস্ল্যাশসেমিকোলন
rrqq,,xx;.$..//;;
224 | 225 | ## Short Mapping Table (For Avro, Borno Phonetic Users) 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 |
tftffdfdffnfnffngf, ng
phsfrfrffoo, ngx/
ঈ, ীঊ, ূঐ, ৈও, োঔ, ৌঋ, ৃ
t/iiuuoiwouq
অ্যা, ্যাওয়া, োয়াওয়ে, োয়েওয়্যাট্টড্ডক্ষ
ae, aefwawewaettfddfkf, kkh, ksf
ব-ফলায-ফলাপৃথায়ককোলনডটস্ল্যাশসেমিকোলন
bz;:..//;;
328 | 329 | ## Examples 330 | অক্ষর \= `okfor` `okf;r`, উৎস \= `ut/s` 331 | কলম \= `kolom` `k;l;m`, তাঁর \= `ta/r` 332 | বৈ \= `boi`, বই \= `b;i`, বৌ \= `bou`, বউ \= `b;u` 333 | ব্যাংক \= `baeng;k` `baeook` `bzaook` 334 | শৃঙ্খলা \= `shqngkhola` `shqngfkh;la` 335 | অ্যাপ \= `aep`, হোয়াটসঅ্যাপ \= `hwatfsaefp` 336 | বিজ্ঞান \= `biggan`, অঞ্চল \= `oncol`, ব্যঞ্জন \= `bznjon` 337 | 338 | # Contact 339 | 1. **Khipro: Bangla Input Method Project Group:** https://t.me/KhiproKeyboard 340 | 2. **Discord:** https://discord.gg/GPt6s8cb48 341 | 3. **Bangla Localization Community Group:** https://t.me/BanglaLocalizationCommunity 342 | 4. **Linux Bangla Group:** https://t.me/linux_bangla 343 | -------------------------------------------------------------------------------- /installer: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # KhiproKeyboard Installer Script 4 | # This script installs KhiproKeyboard for IBus and Fcitx5 5 | 6 | set -e # Exit on any error 7 | 8 | # Colors for output 9 | RED='\033[0;31m' 10 | GREEN='\033[0;32m' 11 | YELLOW='\033[1;33m' 12 | BLUE='\033[0;34m' 13 | NC='\033[0m' # No Color 14 | 15 | # Function to print colored output 16 | print_status() { 17 | echo -e "${BLUE}[INFO]${NC} $1" 18 | } 19 | 20 | print_success() { 21 | echo -e "${GREEN}[SUCCESS]${NC} $1" 22 | } 23 | 24 | print_warning() { 25 | echo -e "${YELLOW}[WARNING]${NC} $1" 26 | } 27 | 28 | print_error() { 29 | echo -e "${RED}[ERROR]${NC} $1" 30 | } 31 | 32 | # Function to detect distribution 33 | detect_distro() { 34 | if [ -f /etc/os-release ]; then 35 | . /etc/os-release 36 | echo "$ID" 37 | elif command -v lsb_release &> /dev/null; then 38 | lsb_release -is | tr '[:upper:]' '[:lower:]' 39 | else 40 | echo "unknown" 41 | fi 42 | } 43 | 44 | # Function to check if command exists 45 | command_exists() { 46 | command -v "$1" &> /dev/null 47 | } 48 | 49 | # Function to check if package is installed (for Debian/Ubuntu) 50 | check_package_debian() { 51 | dpkg -l "$1" 2>/dev/null | grep -q '^ii' 52 | } 53 | 54 | # Function to check if package is installed (for Fedora/RHEL) 55 | check_package_fedora() { 56 | rpm -q "$1" &> /dev/null 57 | } 58 | 59 | # Function to check if package is installed (for Arch) 60 | check_package_arch() { 61 | pacman -Q "$1" &> /dev/null 62 | } 63 | 64 | # Welcome message 65 | echo "==========================================" 66 | echo " KhiproKeyboard Installer" 67 | echo "==========================================" 68 | echo "" 69 | 70 | # Check if running as root for the installation part 71 | if [ "$EUID" -ne 0 ]; then 72 | print_error "This script requires sudo privileges for installation." 73 | print_status "Please run with: sudo bash installer" 74 | exit 1 75 | fi 76 | 77 | # Check if Git is installed 78 | print_status "Checking for Git..." 79 | if ! command_exists git; then 80 | print_error "Git is not installed but required to download KhiproKeyboard." 81 | distro=$(detect_distro) 82 | case $distro in 83 | ubuntu|debian) 84 | print_status "To install Git on Ubuntu/Debian:" 85 | echo " sudo apt update && sudo apt install git" 86 | ;; 87 | fedora|rhel|centos) 88 | print_status "To install Git on Fedora/RHEL/CentOS:" 89 | echo " sudo dnf install git" 90 | ;; 91 | arch|manjaro) 92 | print_status "To install Git on Arch/Manjaro:" 93 | echo " sudo pacman -S git" 94 | ;; 95 | *) 96 | print_status "Please install Git using your distribution's package manager." 97 | ;; 98 | esac 99 | exit 1 100 | else 101 | print_success "Git is installed" 102 | fi 103 | 104 | # Check for input method frameworks and their m17n support 105 | print_status "Checking input method frameworks and m17n support..." 106 | 107 | ibus_installed=false 108 | fcitx_installed=false 109 | missing_packages=() 110 | 111 | # Check IBus 112 | if command_exists ibus; then 113 | ibus_installed=true 114 | print_status "IBus is installed" 115 | 116 | # Check for ibus-m17n 117 | if ! check_package_debian "ibus-m17n" 2>/dev/null && \ 118 | ! check_package_fedora "ibus-m17n" 2>/dev/null && \ 119 | ! check_package_arch "ibus-m17n" 2>/dev/null; then 120 | missing_packages+=("ibus-m17n") 121 | print_warning "ibus-m17n is not installed (required for IBus users)" 122 | else 123 | print_success "ibus-m17n is installed" 124 | fi 125 | fi 126 | 127 | # Check Fcitx5 128 | if command_exists fcitx5; then 129 | fcitx_installed=true 130 | print_status "Fcitx5 is installed" 131 | 132 | # Check for fcitx5-m17n 133 | if ! check_package_debian "fcitx5-m17n" 2>/dev/null && \ 134 | ! check_package_fedora "fcitx5-m17n" 2>/dev/null && \ 135 | ! check_package_arch "fcitx5-m17n" 2>/dev/null; then 136 | missing_packages+=("fcitx5-m17n") 137 | print_warning "fcitx5-m17n is not installed (required for Fcitx5 users)" 138 | else 139 | print_success "fcitx5-m17n is installed" 140 | fi 141 | fi 142 | 143 | # Check if any input method is installed 144 | if [ "$ibus_installed" = false ] && [ "$fcitx_installed" = false ]; then 145 | print_error "No input method framework found!" 146 | print_status "You need to install either IBus or Fcitx5 to use KhiproKeyboard." 147 | distro=$(detect_distro) 148 | case $distro in 149 | ubuntu|debian) 150 | print_status "To install IBus: sudo apt install ibus ibus-m17n" 151 | print_status "To install Fcitx5: sudo apt install fcitx5 fcitx5-m17n" 152 | ;; 153 | fedora|rhel|centos) 154 | print_status "To install IBus: sudo dnf install ibus ibus-m17n" 155 | print_status "To install Fcitx5: sudo dnf install fcitx5 fcitx5-m17n" 156 | ;; 157 | arch|manjaro) 158 | print_status "To install IBus: sudo pacman -S ibus ibus-m17n" 159 | print_status "To install Fcitx5: sudo pacman -S fcitx5 fcitx5-m17n" 160 | ;; 161 | *) 162 | print_status "Please install IBus or Fcitx5 with m17n support using your distribution's package manager." 163 | ;; 164 | esac 165 | exit 1 166 | fi 167 | 168 | # Warn about missing m17n packages 169 | if [ ${#missing_packages[@]} -gt 0 ]; then 170 | echo "" 171 | print_warning "Some required m17n packages are missing:" 172 | for pkg in "${missing_packages[@]}"; do 173 | echo " - $pkg" 174 | done 175 | 176 | distro=$(detect_distro) 177 | case $distro in 178 | ubuntu|debian) 179 | print_status "To install missing packages on Ubuntu/Debian:" 180 | echo " sudo apt update && sudo apt install ${missing_packages[*]}" 181 | ;; 182 | fedora|rhel|centos) 183 | print_status "To install missing packages on Fedora/RHEL/CentOS:" 184 | echo " sudo dnf install ${missing_packages[*]}" 185 | ;; 186 | arch|manjaro) 187 | print_status "To install missing packages on Arch/Manjaro:" 188 | echo " sudo pacman -S ${missing_packages[*]}" 189 | ;; 190 | *) 191 | print_status "Please install the missing packages using your distribution's package manager:" 192 | echo " ${missing_packages[*]}" 193 | ;; 194 | esac 195 | 196 | echo "" 197 | read -p "Do you want to continue with installation anyway? (y/N): " continue_choice 198 | continue_choice=${continue_choice:-N} 199 | if [[ ! $continue_choice =~ ^[Yy]$ ]]; then 200 | print_status "Installation cancelled. Please install the required packages first." 201 | exit 1 202 | fi 203 | print_warning "Continuing installation without required m17n packages..." 204 | print_warning "KhiproKeyboard may not work until you install the missing packages." 205 | echo "" 206 | fi 207 | 208 | # Branch selection 209 | print_status "Checking installation branch..." 210 | read -p "Install stable release from the main branch? (Y/n): " branch_choice 211 | branch_choice=${branch_choice:-Y} 212 | 213 | if [[ $branch_choice =~ ^[Nn]$ ]]; then 214 | print_status "Fetching available branches from GitHub..." 215 | 216 | # Get list of branches from remote repository 217 | branches=$(git ls-remote --heads https://github.com/rank-coder/khipro-m17n.git 2>/dev/null | \ 218 | awk '{print $2}' | \ 219 | sed 's#refs/heads/##' | \ 220 | sort) 221 | 222 | if [ -z "$branches" ]; then 223 | print_warning "Could not fetch branch list. Please check your internet connection." 224 | print_status "You can view branches at: https://github.com/rank-coder/khipro-m17n/branches" 225 | else 226 | echo "" 227 | print_success "Available branches:" 228 | 229 | # Store branches in an array for number selection 230 | branches_array=() 231 | counter=1 232 | while IFS= read -r branch; do 233 | echo " $counter. $branch" 234 | branches_array+=("$branch") 235 | ((counter++)) 236 | done <<< "$branches" 237 | echo "" 238 | fi 239 | 240 | read -p "Enter the branch name or number: " branch_input 241 | if [ -z "$branch_input" ]; then 242 | print_warning "No branch specified. Using 'main' branch." 243 | branch_name="main" 244 | else 245 | # Check if input is a number 246 | if [[ "$branch_input" =~ ^[0-9]+$ ]]; then 247 | # User entered a number 248 | index=$((branch_input - 1)) 249 | if [ $index -ge 0 ] && [ $index -lt ${#branches_array[@]} ]; then 250 | branch_name="${branches_array[$index]}" 251 | print_success "Selected branch: $branch_name" 252 | else 253 | print_error "Invalid number. Please select a number between 1 and ${#branches_array[@]}." 254 | exit 1 255 | fi 256 | else 257 | # User entered a branch name 258 | branch_name="$branch_input" 259 | # Verify the branch exists if we have the list 260 | if [ -n "$branches" ]; then 261 | if echo "$branches" | grep -q "^${branch_name}$"; then 262 | print_success "Branch '$branch_name' found!" 263 | else 264 | print_warning "Branch '$branch_name' not found in the list, but will attempt to use it anyway." 265 | fi 266 | fi 267 | fi 268 | print_status "Will install from branch: $branch_name" 269 | fi 270 | else 271 | branch_name="main" 272 | print_status "Using stable release (main branch)" 273 | fi 274 | 275 | # Installation process begins 276 | print_status "Starting KhiproKeyboard installation..." 277 | 278 | # Remove existing files 279 | print_status "Cleaning up previous installations..." 280 | rm -f /usr/share/m17n/bn-khipro*.mim 2>/dev/null || true 281 | rm -rf /tmp/khipro-m17n 2>/dev/null || true 282 | 283 | # Clone repository 284 | print_status "Downloading KhiproKeyboard from GitHub..." 285 | if [ "$branch_name" = "main" ]; then 286 | git clone https://github.com/rank-coder/khipro-m17n.git /tmp/khipro-m17n 287 | else 288 | git clone --branch "$branch_name" https://github.com/rank-coder/khipro-m17n.git /tmp/khipro-m17n 289 | fi 290 | 291 | # Check if clone was successful 292 | if [ ! -d /tmp/khipro-m17n ]; then 293 | print_error "Failed to clone repository. Please check your internet connection and branch name." 294 | exit 1 295 | fi 296 | 297 | print_success "Repository cloned successfully!" 298 | 299 | # Copy files 300 | print_status "Installing keyboard files..." 301 | cd /tmp/khipro-m17n 302 | 303 | # Check if the required files exist 304 | if [ ! -f bn-khipro.mim ]; then 305 | print_error "Required file bn-khipro.mim not found in the repository!" 306 | exit 1 307 | fi 308 | 309 | cp bn-khipro*.mim /usr/share/m17n/ 310 | 311 | # Copy icon if it exists 312 | if [ -f bn-khipro.png ]; then 313 | print_status "Installing icon..." 314 | mkdir -p /usr/share/m17n/icons/ 315 | cp bn-khipro.png /usr/share/m17n/icons/ 316 | print_success "Icon installed!" 317 | else 318 | print_warning "Icon file not found, skipping icon installation." 319 | fi 320 | 321 | print_success "Keyboard files installed successfully!" 322 | 323 | # Clean up 324 | rm -rf /tmp/khipro-m17n 325 | 326 | # Final instructions 327 | echo "" 328 | print_success "KhiproKeyboard installation completed!" 329 | echo "" 330 | print_status "Next steps:" 331 | echo "1. Log out and log back in to restart your input method framework" 332 | echo "2. Add KhiproKeyboard to your input method:" 333 | 334 | if [ "$ibus_installed" = true ]; then 335 | echo " - For IBus: Open IBus Preferences → Add input method: Bengali → Khipro" 336 | fi 337 | 338 | if [ "$fcitx_installed" = true ]; then 339 | echo " - For Fcitx5: Open Fcitx5 Configuration → Add Khipro keyboard" 340 | fi 341 | 342 | # Show missing packages reminder if any 343 | if [ ${#missing_packages[@]} -gt 0 ]; then 344 | echo "" 345 | print_warning "REMEMBER: You need to install these packages for KhiproKeyboard to work:" 346 | for pkg in "${missing_packages[@]}"; do 347 | echo " - $pkg" 348 | done 349 | fi 350 | 351 | echo "" 352 | print_status "If you encounter any issues, please visit:" 353 | echo " Our telegram group :: https://t.me/KhiproKeyboard" 354 | echo "" 355 | print_warning "COMPUTER LOG OUT KORE LOG-IN KORUN" 356 | -------------------------------------------------------------------------------- /bn-khipro.mim: -------------------------------------------------------------------------------- 1 | ;; bn-khipro.mim | A fixed-phonetic keyboard layout or input method concept for Bengali, aiming to be the fastest typing method available for Bengali. 2 | ;; MIT License 3 | ;; 4 | ;; Copyright (c) 2024 rank_coder 5 | ;; 6 | ;; Permission is hereby granted, free of charge, to any person obtaining a copy 7 | ;; of this software and associated documentation files (the "Software"), to deal 8 | ;; in the Software without restriction, including without limitation the rights 9 | ;; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | ;; copies of the Software, and to permit persons to whom the Software is 11 | ;; furnished to do so, subject to the following conditions: 12 | ;; 13 | ;; The above copyright notice and this permission notice shall be included in all 14 | ;; copies or substantial portions of the Software. 15 | ;; 16 | ;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | ;; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | ;; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | ;; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | ;; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | ;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | ;; SOFTWARE. 23 | 24 | (input-method bn khipro) 25 | (description " 26 | A fixed-phonetic keyboard layout or input method concept for Bengali, aiming to be the fastest typing method available for Bengali. 27 | 28 | Key Characteristics: 29 | 30 | 1. Provides the absolute flexibility and control of typing offered by any fixed layout, despite being somewhat phonetic. 31 | 2. Removes the need for the SHIFT key entirely. 32 | 3. Uses a modifier technique to type various characters without using SHIFT. 33 | 4. Houses all necessary characters, and even some less-used ones, directly at the fingertips within the central keyboard area. 34 | 5. Utilizes key sequences to incorporate various extra characters that would otherwise be impossible on fixed layouts. 35 | 36 | PLEASE READ THE DOCUMENTATION ON OUR WEBSITE TO BEST USE THE LAYOUT. 37 | * Website: 38 | * Author: Nafi [] 39 | * Team: Contributors of the GitHub repository [] and members of the [] organization. 40 | ") 41 | (title "ক্ষিপ্র") 42 | (map 43 | (shor 44 | ("o" "অ") ("a" "আ") ("i" "ই") ("ii" "ঈ") ("u" "উ") ("uu" "ঊ") ("q" "ঋ") ("e" "এ") ("oi" "ঐ") ("w" "ও") ("ou" "ঔ") ("ae" "অ্যা") 45 | ("wa" "ওয়া") ("wae" "ওয়্যা") ("we" "ওয়ে") 46 | ("ooo" "অং") 47 | 48 | ("off" "ঽ") 49 | 50 | ) 51 | (fkar 52 | ("fuf" "‌ু") ("fuuf" "‌ূ") ("fqf" "‌ৃ") 53 | ("fa" "া") 54 | ("fi" "ি") 55 | ("fii" "ী") 56 | ("fu" "ু") 57 | ("fuu" "ূ") 58 | ("fq" "ৃ") 59 | ("fe" "ে") 60 | ("foi" "ৈ") 61 | ("fw" "ো") 62 | ("fou" "ৌ") 63 | ("fae" "্যা") 64 | ("fwa" "োয়া") 65 | ("fwe" "োয়ে") 66 | ("oo" "ং") 67 | ) 68 | (byanjon 69 | ("k" "ক") ("kh" "খ") ("g" "গ") ("gh" "ঘ") ("ngf" "ঙ") 70 | ("c" "চ") ("ch" "ছ") ("j" "জ") ("jh" "ঝ") ("nff" "ঞ") 71 | ("tf" "ট") ("tff" "ঠ") ("df" "ড") ("dff" "ঢ") ("nf" "ণ") 72 | ("t" "ত") ("th" "থ") ("d" "দ") ("dh" "ধ") ("n" "ন") 73 | ("p" "প") ("ph" "ফ") ("b" "ব") ("v" "ভ") ("m" "ম") 74 | ("z" "য") ("l" "ল") ("sh" "শ") ("sf" "ষ") ("s" "স") ("h" "হ") 75 | ("y" "য়") ("rf" "ড়") ("rff" "ঢ়") 76 | (",," "়") 77 | ) 78 | (juktoborno 79 | ("rz" "র‍্য") 80 | ("kk" "ক্ক") ("ktf" "ক্ট") ("ktfr" "ক্ট্র") ("kt" "ক্ত") ("ktr" "ক্ত্র") ("kb" "ক্ব") ("km" "ক্ম") ("kz" "ক্য") ("kr" "ক্র") ("kl" "ক্ল") 81 | ("kf" "ক্ষ") ("ksf" "ক্ষ") ("kkh" "ক্ষ") ("kfnf" "ক্ষ্ণ") ("kfn" "ক্ষ্ণ") ("ksfnf" "ক্ষ্ণ") ("ksfn" "ক্ষ্ণ") ("kkhn" "ক্ষ্ণ") ("kkhnf" "ক্ষ্ণ") ("kfb" "ক্ষ্ব") ("ksfb" "ক্ষ্ব") ("kkhb" "ক্ষ্ব") ("kfm" "ক্ষ্ম") 82 | ("kkhm" "ক্ষ্ম") ("ksfm" "ক্ষ্ম") ("kfz" "ক্ষ্য") ("ksfz" "ক্ষ্য") ("kkhz" "ক্ষ্য") 83 | ("ks" "ক্স") 84 | ("khz" "খ্য") ("khr" "খ্র") 85 | ("ggg" "গ্গ") ("gnf" "গ্‌ণ") ("gdh" "গ্ধ") ("gdhz" "গ্ধ্য") ("gdhr" "গ্ধ্র") ("gn" "গ্ন") ("gnz" "গ্ন্য") ("gb" "গ্ব") ("gm" "গ্ম") ("gz" "গ্য") ("gr" "গ্র") ("grz" "গ্র্য") ("gl" "গ্ল") 86 | ("ghn" "ঘ্ন") ("ghr" "ঘ্র") 87 | ("ngk" "ঙ্ক") ("ngkt" "ঙ্‌ক্ত") ("ngkz" "ঙ্ক্য") ("ngkr" "ঙ্ক্র") ("ngkf" "ঙ্ক্ষ") ("ngkkh" "ঙ্ক্ষ") ("ngksf" "ঙ্ক্ষ") ("ngkh" "ঙ্খ") ("ngg" "ঙ্গ") ("nggz" "ঙ্গ্য") ("nggh" "ঙ্ঘ") ("ngghz" "ঙ্ঘ্য") ("ngghr" "ঙ্ঘ্র") ("ngm" "ঙ্ম") 88 | ("ngfk" "ঙ্ক") ("ngfkt" "ঙ্‌ক্ত") ("ngfkz" "ঙ্ক্য") ("ngfkr" "ঙ্ক্র") ("ngfkf" "ঙ্ক্ষ") ("ngfkkh" "ঙ্ক্ষ") ("ngfksf" "ঙ্ক্ষ") ("ngfkh" "ঙ্খ") ("ngfg" "ঙ্গ") ("ngfgz" "ঙ্গ্য") ("ngfgh" "ঙ্ঘ") ("ngfghz" "ঙ্ঘ্য") ("ngfghr" "ঙ্ঘ্র") ("ngfm" "ঙ্ম") 89 | ("nggg" "ংজ্ঞ") 90 | ("cc" "চ্চ") ("cch" "চ্ছ") ("cchb" "চ্ছ্ব") ("cchr" "চ্ছ্র") ("cnff" "চ্ঞ") ("cb" "চ্ব") ("cz" "চ্য") 91 | ("jj" "জ্জ") ("jjb" "জ্জ্ব") ("jjh" "জ্ঝ") ("gg" "জ্ঞ") ("jnff" "জ্ঞ") ("jb" "জ্ব") ("jz" "জ্য") ("jr" "জ্র") 92 | ("nc" "ঞ্চ") ("nffc" "ঞ্চ") ("nj" "ঞ্জ") ("nffj" "ঞ্জ") ("njh" "ঞ্ঝ") ("nffjh" "ঞ্ঝ") ("nch" "ঞ্ছ") ("nffch" "ঞ্ছ") 93 | ("ttf" "ট্ট") ("tftf" "ট্ট") ("tfb" "ট্ব") ("tfm" "ট্ম") ("tfz" "ট্য") ("tfr" "ট্র") 94 | ("ddf" "ড্ড") ("dfdf" "ড্ড") ("dfb" "ড্ব") ("dfz" "ড্য") ("dfr" "ড্র") ("rfg" "ড়্‌গ") 95 | ("dffz" "ঢ্য") ("dffr" "ঢ্র") 96 | ("nftf" "ণ্ট") ("nftff" "ণ্ঠ") ("nftffz" "ণ্ঠ্য") ("nfdf" "ণ্ড") ("nfdfz" "ণ্ড্য") ("nfdfr" "ণ্ড্র") ("nfdff" "ণ্ঢ") ("nfnf" "ণ্ণ") ("nfn" "ণ্ণ") ("nfb" "ণ্ব") ("nfm" "ণ্ম") ("nfz" "ণ্য") 97 | ("tt" "ত্ত") ("ttb" "ত্ত্ব") ("ttz" "ত্ত্য") ("tth" "ত্থ") ("tn" "ত্ন") ("tb" "ত্ব") ("tm" "ত্ম") ("tmz" "ত্ম্য") ("tz" "ত্য") ("tr" "ত্র") ("trz" "ত্র্য") 98 | ("thb" "থ্ব") ("thz" "থ্য") ("thr" "থ্র") 99 | ("dg" "দ্‌গ") ("dgh" "দ্‌ঘ") ("dd" "দ্দ") ("ddb" "দ্দ্ব") ("ddh" "দ্ধ") ("db" "দ্ব") ("dv" "দ্ভ") ("dvr" "দ্ভ্র") ("dm" "দ্ম") ("dz" "দ্য") ("dr" "দ্র") ("drz" "দ্র্য") 100 | ("dhn" "ধ্ন") ("dhb" "ধ্ব") ("dhm" "ধ্ম") ("dhz" "ধ্য") ("dhr" "ধ্র") 101 | ("ntf" "ন্ট") ("ntfr" "ন্ট্র") ("ntff" "ন্ঠ") ("ndf" "ন্ড") ("ndfr" "ন্ড্র") ("nt" "ন্ত") ("ntb" "ন্ত্ব") ("ntr" "ন্ত্র") ("ntrz" "ন্ত্র্য") ("nth" "ন্থ") ("nthr" "ন্থ্র") ("nd" "ন্দ") ("ndb" "ন্দ্ব") ("ndz" "ন্দ্য") 102 | ("ndr" "ন্দ্র") ("ndh" "ন্ধ") ("ndhz" "ন্ধ্য") ("ndhr" "ন্ধ্র") ("nn" "ন্ন") ("nb" "ন্ব") ("nm" "ন্ম") ("nz" "ন্য") ("ns" "ন্স") 103 | ("ptf" "প্ট") ("pt" "প্ত") ("pn" "প্ন") ("pp" "প্প") ("pz" "প্য") ("pr" "প্র") ("pl" "প্ল") ("ps" "প্স") 104 | ("phr" "ফ্র") ("phl" "ফ্ল") 105 | ("bj" "ব্জ") ("bd" "ব্দ") ("bdh" "ব্ধ") ("bb" "ব্ব") ("bz" "ব্য") ("br" "ব্র") ("bl" "ব্ল") ("vb" "ভ্ব") ("vz" "ভ্য") ("vr" "ভ্র") ("vl" "ভ্ল") 106 | ("mn" "ম্ন") ("mp" "ম্প") ("mpr" "ম্প্র") ("mph" "ম্ফ") ("mb" "ম্ব") ("mbr" "ম্ব্র") ("mv" "ম্ভ") ("mvr" "ম্ভ্র") ("mm" "ম্ম") ("mz" "ম্য") ("mr" "ম্র") ("ml" "ম্ল") 107 | ("zz" "য্য") 108 | ("lk" "ল্ক") ("lkz" "ল্ক্য") ("lg" "ল্গ") ("ltf" "ল্ট") ("ldf" "ল্ড") ("lp" "ল্প") ("lph" "ল্ফ") ("lb" "ল্ব") ("lv" "ল্‌ভ") ("lm" "ল্ম") ("lz" "ল্য") ("ll" "ল্ল") 109 | ("shc" "শ্চ") ("shch" "শ্ছ") ("shn" "শ্ন") ("shb" "শ্ব") ("shm" "শ্ম") ("shz" "শ্য") ("shr" "শ্র") ("shl" "শ্ল") 110 | ("sfk" "ষ্ক") ("sfkr" "ষ্ক্র") ("sftf" "ষ্ট") ("sftfz" "ষ্ট্য") ("sftfr" "ষ্ট্র") ("sftff" "ষ্ঠ") ("sftffz" "ষ্ঠ্য") ("sfnf" "ষ্ণ") ("sfn" "ষ্ণ") ("sfp" "ষ্প") ("sfpr" "ষ্প্র") ("sfph" "ষ্ফ") ("sfb" "ষ্ব") 111 | ("sfm" "ষ্ম") ("sfz" "ষ্য") 112 | ("sk" "স্ক") ("skr" "স্ক্র") ("skh" "স্খ") ("stf" "স্ট") ("stfr" "স্ট্র") ("st" "স্ত") ("stb" "স্ত্ব") ("stz" "স্ত্য") ("str" "স্ত্র") ("sth" "স্থ") ("sthz" "স্থ্য") ("sn" "স্ন") ("sp" "স্প") ("spr" "স্প্র") 113 | ("spl" "স্প্ল") ("sph" "স্ফ") ("sb" "স্ব") ("sm" "স্ম") ("sz" "স্য") ("sr" "স্র") ("sl" "স্ল") 114 | ("hn" "হ্ন") ("hnf" "হ্ণ") ("hb" "হ্ব") ("hm" "হ্ম") ("hz" "হ্য") ("hr" "হ্র") ("hl" "হ্ল") 115 | ;; oshomvob juktoborno 116 | ("ksh" "কশ") ("kks" "কক্স") ("nsh" "নশ") ("psh" "পশ") ("ld" "লদ") ("gd" "গদ") ("gnff" "গঞ") ("ghnff" "ঘঞ") ("ngkk" "ঙ্কক") ("ngks" "ঙ্কস") ("ngfkk" "ঙ্কক") ("ngfks" "ঙ্কস") 117 | 118 | ("cn" "চন") 119 | ("cnf" "চণ") ("cnz" "চন্য") ("cnm" "চন্ম") 120 | ("cnc" "চঞ্চ") ("cnffc" "চঞ্চ") ("cnj" "চঞ্জ") ("cnffj" "চঞ্জ") ("cnjh" "চঞ্ঝ") ("cnffjh" "চঞ্ঝ") ("cnch" "চঞ্ছ") ("cnffch" "চঞ্ছ") 121 | ("cnftf" "চণ্ট") ("cnftff" "চণ্ঠ") ("cnftffz" "চণ্ঠ্য") ("cnfdf" "চণ্ড") ("cnfdfz" "চণ্ড্য") ("cnfdfr" "চণ্ড্র") ("cnfdff" "চণ্ঢ") ("cnfnf" "চণ্ণ") ("cnfn" "চণ্ণ") ("cnfb" "চণ্ব") ("cnfm" "চণ্ম") ("cnfz" "চণ্য") 122 | ("cntf" "চন্ট") ("cntfr" "চন্ট্র") ("cntff" "চন্ঠ") ("cndf" "চন্ড") ("cndfr" "চন্ড্র") ("cnt" "চন্ত") ("cntb" "চন্ত্ব") ("cntr" "চন্ত্র") ("cntrz" "চন্ত্র্য") ("cnth" "চন্থ") ("cnthr" "চন্থ্র") ("cnd" "চন্দ") ("cndb" "চন্দ্ব") ("cndz" "চন্দ্য") 123 | ("cndr" "চন্দ্র") ("cndh" "চন্ধ") ("cndhz" "চন্ধ্য") ("cndhr" "চন্ধ্র") ("cnn" "চন্ন") ("cnb" "চন্ব") ("cnm" "চন্ম") ("cnz" "চন্য") ("cns" "চন্স") 124 | ("cnsh" "চনশ") 125 | ("cngkk" "চঙ্কক") ("cngks" "চঙ্কস") ("cngfkk" "চঙ্কক") ("cngfks" "চঙ্কস") 126 | ("cnft" "চণত") ("cnfd" "চণদ") ("cnfth" "চণথ") ("cnfdh" "চণধ") 127 | ("cndff" "চনঢ") 128 | ("cnfdfrf" "চণ্ডড়") ("cnfdfrff" "চণ্ডঢ়") 129 | ("cntfrf" "চন্টড়") ("cntfrff" "চন্টঢ়") ("cndfrf" "চন্ডড়") ("cndfrff" "চন্ডঢ়") ("cntrf" "চন্তড়") ("cntrff" "চন্তঢ়") ("cnthrf" "চন্থড়") 130 | ("cnstf" "চনস্ট") ("cnst" "চনস্ত") ("cnsk" "চনস্ক") 131 | ("cnthrff" "চন্থঢ়") ("cndrf" "চন্দড়") ("cndrff" "চন্দঢ়") ("cndhrf" "চন্ধড়") ("cndhrff" "চন্ধঢ়") 132 | ("cngksh" "চঙ্কশ") ("cngfksh" "চঙ্কশ") 133 | 134 | 135 | ("jn" "জন") 136 | ("jnf" "জণ") ("jnz" "জন্য") ("jnm" "জন্ম") 137 | ("jnc" "জঞ্চ") ("jnffc" "জঞ্চ") ("jnj" "জঞ্জ") ("jnffj" "জঞ্জ") ("jnjh" "জঞ্ঝ") ("jnffjh" "জঞ্ঝ") ("jnch" "জঞ্ছ") ("jnffch" "জঞ্ছ") 138 | ("jnftf" "জণ্ট") ("jnftff" "জণ্ঠ") ("jnftffz" "জণ্ঠ্য") ("jnfdf" "জণ্ড") ("jnfdfz" "জণ্ড্য") ("jnfdfr" "জণ্ড্র") ("jnfdff" "জণ্ঢ") ("jnfnf" "জণ্ণ") ("jnfn" "জণ্ণ") ("jnfb" "জণ্ব") ("jnfm" "জণ্ম") ("jnfz" "জণ্য") 139 | ("jntf" "জন্ট") ("jntfr" "জন্ট্র") ("jntff" "জন্ঠ") ("jndf" "জন্ড") ("jndfr" "জন্ড্র") ("jnt" "জন্ত") ("jntb" "জন্ত্ব") ("jntr" "জন্ত্র") ("jntrz" "জন্ত্র্য") ("jnth" "জন্থ") ("jnthr" "জন্থ্র") ("jnd" "জন্দ") ("jndb" "জন্দ্ব") ("jndz" "জন্দ্য") 140 | ("jndr" "জন্দ্র") ("jndh" "জন্ধ") ("jndhz" "জন্ধ্য") ("jndhr" "জন্ধ্র") ("jnn" "জন্ন") ("jnb" "জন্ব") ("jnm" "জন্ম") ("jnz" "জন্য") ("jns" "জন্স") 141 | ("jnsh" "জনশ") 142 | ("jngkk" "জঙ্কক") ("jngks" "জঙ্কস") ("jngfkk" "জঙ্কক") ("jngfks" "জঙ্কস") 143 | ("jnft" "জণত") ("jnfd" "জণদ") ("jnfth" "জণথ") ("jnfdh" "জণধ") 144 | ("jndff" "জনঢ") 145 | ("jnfdfrf" "জণ্ডড়") ("jnfdfrff" "জণ্ডঢ়") 146 | ("jntfrf" "জন্টড়") ("jntfrff" "জন্টঢ়") ("jndfrf" "জন্ডড়") ("jndfrff" "জন্ডঢ়") ("jntrf" "জন্তড়") ("jntrff" "জন্তঢ়") ("jnthrf" "জন্থড়") 147 | ("jnstf" "জনস্ট") ("jnst" "জনস্ত") ("jnsk" "জনস্ক") 148 | ("jnthrff" "জন্থঢ়") ("jndrf" "জন্দড়") ("jndrff" "জন্দঢ়") ("jndhrf" "জন্ধড়") ("jndhrff" "জন্ধঢ়") 149 | ("jngksh" "জঙ্কশ") ("jngfksh" "জঙ্কশ") 150 | 151 | ("ghnf" "ঘণ") ("ghnfz" "ঘণ্য") ("ghnftf" "ঘণ্ট") 152 | 153 | ("tft" "টত") ("dfd" "ডদ") 154 | 155 | ("nft" "ণত") ("nfd" "ণদ") 156 | ("lt" "লত") ("sft" "ষত") 157 | ("nfth" "ণথ") ("nfdh" "ণধ") 158 | ("sfth" "ষথ") 159 | ("ktff" "কঠ") ("ptff" "পঠ") ("ltff" "লঠ") ("stff" "সঠ") 160 | ("dfdff" "ডঢ") 161 | ("ndff" "নঢ") 162 | ("ktfrf" "ক্টড়") ("ktfrff" "ক্টঢ়") ("kth" "কথ") ("ktrf" "ক্তড়") ("ktrff" "ক্তঢ়") ("krf" "কড়") ("krff" "কঢ়") ("khrf" "খড়") ("khrfg" "খড়্‌গ") ("khrff" "খঢ়") ("gggh" "জ্ঞঘ") ("gdff" "গঢ") ("gdhrf" "গ্ধড়") 163 | ("gdhrff" "গ্ধঢ়") ("grf" "গড়") ("grff" "গঢ়") ("ghrf" "ঘড়") ("ghrff" "ঘঢ়") 164 | ("ngkth" "ঙ্কথ") ("ngkrf" "ঙ্কড়") ("ngkrff" "ঙ্কঢ়") ("ngghrf" "ঙ্ঘড়") ("ngghrff" "ঙ্ঘঢ়") 165 | ("cchrf" "চ্ছড়") ("cchrff" "চ্ছঢ়") 166 | ("ngfkth" "ঙ্কথ") ("ngfkrf" "ঙ্কড়") ("ngfkrff" "ঙ্কঢ়") ("ngfghrf" "ঙ্ঘড়") ("ngfghrff" "ঙ্ঘঢ়") 167 | ("tfrf" "টড়") ("tfrff" "টঢ়") ("dfrf" "ডড়") ("dfrff" "ডঢ়") ("rfgh" "ড়ঘ") ("dffrf" "ঢড়") ("dffrff" "ঢঢ়") 168 | ("nfdfrf" "ণ্ডড়") ("nfdfrff" "ণ্ডঢ়") 169 | ("trf" "তড়") ("trff" "তঢ়") ("thrf" "থড়") ("thrff" "থঢ়") 170 | ("dvrf" "দ্ভড়") ("dvrff" "দ্ভঢ়") ("drf" "দড়") ("drff" "দঢ়") ("dhrf" "ধড়") ("dhrff" "ধঢ়") 171 | ("ntfrf" "ন্টড়") ("ntfrff" "ন্টঢ়") ("ndfrf" "ন্ডড়") ("ndfrff" "ন্ডঢ়") ("ntrf" "ন্তড়") ("ntrff" "ন্তঢ়") ("nthrf" "ন্থড়") 172 | ("nstf" "নস্ট") ("nst" "নস্ত") ("nsk" "নস্ক") 173 | ("nthrff" "ন্থঢ়") ("ndrf" "ন্দড়") ("ndrff" "ন্দঢ়") ("ndhrf" "ন্ধড়") ("ndhrff" "ন্ধঢ়") 174 | ("pth" "পথ") ("pph" "পফ") ("prf" "পড়") ("prff" "পঢ়") ("phrf" "ফড়") ("phrff" "ফঢ়") ("bjh" "বঝ") ("brf" "বড়") ("brff" "বঢ়") 175 | ("mpl" "মপ্ল") 176 | ("vrf" "ভড়") ("vrff" "ভঢ়") ("mprf" "ম্পড়") ("mprff" "ম্পঢ়") ("mbrf" "ম্বড়") ("mbrff" "ম্বঢ়") ("mvrf" "ম্ভড়") ("mvrff" "ম্ভঢ়") ("mrf" "মড়") ("mrff" "মঢ়") ("lkh" "লখ") ("lgh" "লঘ") ("shrf" "শড়") ("shrff" "শঢ়") ("sfkh" "ষখ") 177 | ("sfkrf" "ষ্কড়") ("sfkrff" "ষ্কঢ়") ("sftfrf" "ষ্টড়") ("sftfrff" "ষ্টঢ়") ("sfprf" "ষ্পড়") ("sfprff" "ষ্পঢ়") ("skrf" "স্কড়") ("skrff" "স্কঢ়") ("stfrf" "স্টড়") ("stfrff" "স্টঢ়") ("strf" "স্তড়") ("strff" "স্তঢ়") ("sprf" "স্পড়") ("sprff" "স্পঢ়") 178 | ("srf" "সড়") ("srff" "সঢ়") ("hrf" "হড়") ("hrff" "হঢ়") ("ldh" "লধ") 179 | ("ngksh" "ঙ্কশ") ("tfth" "টথ") ("dfdh" "ডধ") ("lth" "লথ") 180 | ("ngfksh" "ঙ্কশ") 181 | ("lks" "ল্কস") 182 | ("kkf" "কক্ষ") ("lkf" "লক্ষ") ("sfkf" "ষক্ষ") ("skf" "সক্ষ") ("kkkh" "কক্ষ") ("lkkh" "লক্ষ") ("sfkkh" "ষক্ষ") ("skkh" "সক্ষ") ("kksf" "কক্ষ") ("lksf" "লক্ষ") ("sfksf" "ষক্ষ") ("sksf" "সক্ষ") 183 | ("yr" "য়র") 184 | ("gnj" "গঞ্জ") ("pnj" "পঞ্জ") ("mnj" "মঞ্জ") ("snj" "সঞ্জ") 185 | ("gndf" "গন্ড") ("mndf" "মন্ড") 186 | ("tnt" "তন্ত") ("tntr" "তন্ত্র") ("mnt" "মন্ত") ("mntr" "মন্ত্র") ("snt" "সন্ত") ("sntr" "সন্ত্র") ("hnt" "হন্ত") 187 | ("tnd" "তন্দ") ("nnd" "নন্দ") ("mnd" "মন্দ") ("snd" "সন্দ") 188 | ("gndh" "গন্ধ") ("gndhz" "গন্ধ্য") ("sndh" "সন্ধ") ("sndhz" "সন্ধ্য") 189 | 190 | ("gngf" "গঙ") 191 | ("gngk" "গঙ্ক") ("gngkt" "গঙ্‌ক্ত") ("gngkz" "গঙ্ক্য") ("gngkr" "গঙ্ক্র") ("gngkf" "গঙ্ক্ষ") ("gngkkh" "গঙ্ক্ষ") ("gngksf" "গঙ্ক্ষ") ("gngkh" "গঙ্খ") ("gngg" "গঙ্গ") ("gnggz" "গঙ্গ্য") ("gnggh" "গঙ্ঘ") ("gngghz" "গঙ্ঘ্য") ("gngghr" "গঙ্ঘ্র") ("gngm" "গঙ্ম") 192 | ("gngfk" "গঙ্ক") ("gngfkt" "গঙ্‌ক্ত") ("gngfkz" "গঙ্ক্য") ("gngfkr" "গঙ্ক্র") ("gngfkf" "গঙ্ক্ষ") ("gngfkkh" "গঙ্ক্ষ") ("gngfksf" "গঙ্ক্ষ") ("gngfkh" "গঙ্খ") ("gngfg" "গঙ্গ") ("gngfgz" "গঙ্গ্য") ("gngfgh" "গঙ্ঘ") ("gngfghz" "গঙ্ঘ্য") ("gngfghr" "গঙ্ঘ্র") ("gngfm" "গঙ্ম") 193 | ("gnggg" "গংজ্ঞ") 194 | ("gngkth" "গঙ্কথ") ("gngkrf" "গঙ্কড়") ("gngkrff" "গঙ্কঢ়") ("gngghrf" "গঙ্ঘড়") ("gngghrff" "গঙ্ঘঢ়") 195 | ("gngfkth" "গঙ্কথ") ("gngfkrf" "গঙ্কড়") ("gngfkrff" "গঙ্কঢ়") ("gngfghrf" "গঙ্ঘড়") ("gngfghrff" "গঙ্ঘঢ়") 196 | 197 | ("ghngf" "ঘঙ") 198 | ("ghngk" "ঘঙ্ক") ("ghngkt" "ঘঙ্‌ক্ত") ("ghngkz" "ঘঙ্ক্য") ("ghngkr" "ঘঙ্ক্র") ("ghngkf" "ঘঙ্ক্ষ") ("ghngkkh" "ঘঙ্ক্ষ") ("ghngksf" "ঘঙ্ক্ষ") ("ghngkh" "ঘঙ্খ") ("ghngg" "ঘঙ্গ") ("ghnggz" "ঘঙ্গ্য") ("ghnggh" "ঘঙ্ঘ") ("ghngghz" "ঘঙ্ঘ্য") ("ghngghr" "ঘঙ্ঘ্র") ("ghngm" "ঘঙ্ম") 199 | ("ghngfk" "ঘঙ্ক") ("ghngfkt" "ঘঙ্‌ক্ত") ("ghngfkz" "ঘঙ্ক্য") ("ghngfkr" "ঘঙ্ক্র") ("ghngfkf" "ঘঙ্ক্ষ") ("ghngfkkh" "ঘঙ্ক্ষ") ("ghngfksf" "ঘঙ্ক্ষ") ("ghngfkh" "ঘঙ্খ") ("ghngfg" "ঘঙ্গ") ("ghngfgz" "ঘঙ্গ্য") ("ghngfgh" "ঘঙ্ঘ") ("ghngfghz" "ঘঙ্ঘ্য") ("ghngfghr" "ঘঙ্ঘ্র") ("ghngfm" "ঘঙ্ম") 200 | ("ghnggg" "ঘংজ্ঞ") 201 | ("ghngkth" "ঘঙ্কথ") ("ghngkrf" "ঘঙ্কড়") ("ghngkrff" "ঘঙ্কঢ়") ("ghngghrf" "ঘঙ্ঘড়") ("ghngghrff" "ঘঙ্ঘঢ়") 202 | ("ghngfkth" "ঘঙ্কথ") ("ghngfkrf" "ঘঙ্কড়") ("ghngfkrff" "ঘঙ্কঢ়") ("ghngfghrf" "ঘঙ্ঘড়") ("ghngfghrff" "ঘঙ্ঘঢ়") 203 | 204 | ("cngf" "চঙ") 205 | ("cngk" "চঙ্ক") ("cngkt" "চঙ্‌ক্ত") ("cngkz" "চঙ্ক্য") ("cngkr" "চঙ্ক্র") ("cngkf" "চঙ্ক্ষ") ("cngkkh" "চঙ্ক্ষ") ("cngksf" "চঙ্ক্ষ") ("cngkh" "চঙ্খ") ("cngg" "চঙ্গ") ("cnggz" "চঙ্গ্য") ("cnggh" "চঙ্ঘ") ("cngghz" "চঙ্ঘ্য") ("cngghr" "চঙ্ঘ্র") ("cngm" "চঙ্ম") 206 | ("cngfk" "চঙ্ক") ("cngfkt" "চঙ্‌ক্ত") ("cngfkz" "চঙ্ক্য") ("cngfkr" "চঙ্ক্র") ("cngfkf" "চঙ্ক্ষ") ("cngfkkh" "চঙ্ক্ষ") ("cngfksf" "চঙ্ক্ষ") ("cngfkh" "চঙ্খ") ("cngfg" "চঙ্গ") ("cngfgz" "চঙ্গ্য") ("cngfgh" "চঙ্ঘ") ("cngfghz" "চঙ্ঘ্য") ("cngfghr" "চঙ্ঘ্র") ("cngfm" "চঙ্ম") 207 | ("cnggg" "চংজ্ঞ") 208 | ("cngkth" "চঙ্কথ") ("cngkrf" "চঙ্কড়") ("cngkrff" "চঙ্কঢ়") ("cngghrf" "চঙ্ঘড়") ("cngghrff" "চঙ্ঘঢ়") 209 | ("cngfkth" "চঙ্কথ") ("cngfkrf" "চঙ্কড়") ("cngfkrff" "চঙ্কঢ়") ("cngfghrf" "চঙ্ঘড়") ("cngfghrff" "চঙ্ঘঢ়") 210 | 211 | ("jngf" "জঙ") 212 | ("jngk" "জঙ্ক") ("jngkt" "জঙ্‌ক্ত") ("jngkz" "জঙ্ক্য") ("jngkr" "জঙ্ক্র") ("jngkf" "জঙ্ক্ষ") ("jngkkh" "জঙ্ক্ষ") ("jngksf" "জঙ্ক্ষ") ("jngkh" "জঙ্খ") ("jngg" "জঙ্গ") ("jnggz" "জঙ্গ্য") ("jnggh" "জঙ্ঘ") ("jngghz" "জঙ্ঘ্য") ("jngghr" "জঙ্ঘ্র") ("jngm" "জঙ্ম") 213 | ("jngfk" "জঙ্ক") ("jngfkt" "জঙ্‌ক্ত") ("jngfkz" "জঙ্ক্য") ("jngfkr" "জঙ্ক্র") ("jngfkf" "জঙ্ক্ষ") ("jngfkkh" "জঙ্ক্ষ") ("jngfksf" "জঙ্ক্ষ") ("jngfkh" "জঙ্খ") ("jngfg" "জঙ্গ") ("jngfgz" "জঙ্গ্য") ("jngfgh" "জঙ্ঘ") ("jngfghz" "জঙ্ঘ্য") ("jngfghr" "জঙ্ঘ্র") ("jngfm" "জঙ্ম") 214 | ("jnggg" "জংজ্ঞ") 215 | ("jngkth" "জঙ্কথ") ("jngkrf" "জঙ্কড়") ("jngkrff" "জঙ্কঢ়") ("jngghrf" "জঙ্ঘড়") ("jngghrff" "জঙ্ঘঢ়") 216 | ("jngfkth" "জঙ্কথ") ("jngfkrf" "জঙ্কড়") ("jngfkrff" "জঙ্কঢ়") ("jngfghrf" "জঙ্ঘড়") ("jngfghrff" "জঙ্ঘঢ়") 217 | 218 | ("nngf" "নঙ") 219 | ("nngk" "নঙ্ক") ("nngkt" "নঙ্‌ক্ত") ("nngkz" "নঙ্ক্য") ("nngkr" "নঙ্ক্র") ("nngkf" "নঙ্ক্ষ") ("nngkkh" "নঙ্ক্ষ") ("nngksf" "নঙ্ক্ষ") ("nngkh" "নঙ্খ") ("nngg" "নঙ্গ") ("nnggz" "নঙ্গ্য") ("nnggh" "নঙ্ঘ") ("nngghz" "নঙ্ঘ্য") ("nngghr" "নঙ্ঘ্র") ("nngm" "নঙ্ম") 220 | ("nngfk" "নঙ্ক") ("nngfkt" "নঙ্‌ক্ত") ("nngfkz" "নঙ্ক্য") ("nngfkr" "নঙ্ক্র") ("nngfkf" "নঙ্ক্ষ") ("nngfkkh" "নঙ্ক্ষ") ("nngfksf" "নঙ্ক্ষ") ("nngfkh" "নঙ্খ") ("nngfg" "নঙ্গ") ("nngfgz" "নঙ্গ্য") ("nngfgh" "নঙ্ঘ") ("nngfghz" "নঙ্ঘ্য") ("nngfghr" "নঙ্ঘ্র") ("nngfm" "নঙ্ম") 221 | ("nnggg" "নংজ্ঞ") 222 | ("nngkth" "নঙ্কথ") ("nngkrf" "নঙ্কড়") ("nngkrff" "নঙ্কঢ়") ("nngghrf" "নঙ্ঘড়") ("nngghrff" "নঙ্ঘঢ়") 223 | ("nngfkth" "নঙ্কথ") ("nngfkrf" "নঙ্কড়") ("nngfkrff" "নঙ্কঢ়") ("nngfghrf" "নঙ্ঘড়") ("nngfghrff" "নঙ্ঘঢ়") 224 | 225 | ("nfngf" "ণঙ") 226 | ("nfngk" "ণঙ্ক") ("nfngkt" "ণঙ্‌ক্ত") ("nfngkz" "ণঙ্ক্য") ("nfngkr" "ণঙ্ক্র") ("nfngkf" "ণঙ্ক্ষ") ("nfngkkh" "ণঙ্ক্ষ") ("nfngksf" "ণঙ্ক্ষ") ("nfngkh" "ণঙ্খ") ("nfngg" "ণঙ্গ") ("nfnggz" "ণঙ্গ্য") ("nfnggh" "ণঙ্ঘ") ("nfngghz" "ণঙ্ঘ্য") ("nfngghr" "ণঙ্ঘ্র") ("nfngm" "ণঙ্ম") 227 | ("nfngfk" "ণঙ্ক") ("nfngfkt" "ণঙ্‌ক্ত") ("nfngfkz" "ণঙ্ক্য") ("nfngfkr" "ণঙ্ক্র") ("nfngfkf" "ণঙ্ক্ষ") ("nfngfkkh" "ণঙ্ক্ষ") ("nfngfksf" "ণঙ্ক্ষ") ("nfngfkh" "ণঙ্খ") ("nfngfg" "ণঙ্গ") ("nfngfgz" "ণঙ্গ্য") ("nfngfgh" "ণঙ্ঘ") ("nfngfghz" "ণঙ্ঘ্য") ("nfngfghr" "ণঙ্ঘ্র") ("nfngfm" "ণঙ্ম") 228 | ("nfnggg" "ণংজ্ঞ") 229 | ("nfngkth" "ণঙ্কথ") ("nfngkrf" "ণঙ্কড়") ("nfngkrff" "ণঙ্কঢ়") ("nfngghrf" "ণঙ্ঘড়") ("nfngghrff" "ণঙ্ঘঢ়") 230 | ("nfngfkth" "ণঙ্কথ") ("nfngfkrf" "ণঙ্কড়") ("nfngfkrff" "ণঙ্কঢ়") ("nfngfghrf" "ণঙ্ঘড়") ("nfngfghrff" "ণঙ্ঘঢ়") 231 | 232 | ("tngf" "তঙ") 233 | ("tngk" "তঙ্ক") ("tngkt" "তঙ্‌ক্ত") ("tngkz" "তঙ্ক্য") ("tngkr" "তঙ্ক্র") ("tngkf" "তঙ্ক্ষ") ("tngkkh" "তঙ্ক্ষ") ("tngksf" "তঙ্ক্ষ") ("tngkh" "তঙ্খ") ("tngg" "তঙ্গ") ("tnggz" "তঙ্গ্য") ("tnggh" "তঙ্ঘ") ("tngghz" "তঙ্ঘ্য") ("tngghr" "তঙ্ঘ্র") ("tngm" "তঙ্ম") 234 | ("tngfk" "তঙ্ক") ("tngfkt" "তঙ্‌ক্ত") ("tngfkz" "তঙ্ক্য") ("tngfkr" "তঙ্ক্র") ("tngfkf" "তঙ্ক্ষ") ("tngfkkh" "তঙ্ক্ষ") ("tngfksf" "তঙ্ক্ষ") ("tngfkh" "তঙ্খ") ("tngfg" "তঙ্গ") ("tngfgz" "তঙ্গ্য") ("tngfgh" "তঙ্ঘ") ("tngfghz" "তঙ্ঘ্য") ("tngfghr" "তঙ্ঘ্র") ("tngfm" "তঙ্ম") 235 | ("tnggg" "তংজ্ঞ") 236 | ("tngkth" "তঙ্কথ") ("tngkrf" "তঙ্কড়") ("tngkrff" "তঙ্কঢ়") ("tngghrf" "তঙ্ঘড়") ("tngghrff" "তঙ্ঘঢ়") 237 | ("tngfkth" "তঙ্কথ") ("tngfkrf" "তঙ্কড়") ("tngfkrff" "তঙ্কঢ়") ("tngfghrf" "তঙ্ঘড়") ("tngfghrff" "তঙ্ঘঢ়") 238 | 239 | ("dhngf" "ধঙ") 240 | ("dhngk" "ধঙ্ক") ("dhngkt" "ধঙ্‌ক্ত") ("dhngkz" "ধঙ্ক্য") ("dhngkr" "ধঙ্ক্র") ("dhngkf" "ধঙ্ক্ষ") ("dhngkkh" "ধঙ্ক্ষ") ("dhngksf" "ধঙ্ক্ষ") ("dhngkh" "ধঙ্খ") ("dhngg" "ধঙ্গ") ("dhnggz" "ধঙ্গ্য") ("dhnggh" "ধঙ্ঘ") ("dhngghz" "ধঙ্ঘ্য") ("dhngghr" "ধঙ্ঘ্র") ("dhngm" "ধঙ্ম") 241 | ("dhngfk" "ধঙ্ক") ("dhngfkt" "ধঙ্‌ক্ত") ("dhngfkz" "ধঙ্ক্য") ("dhngfkr" "ধঙ্ক্র") ("dhngfkf" "ধঙ্ক্ষ") ("dhngfkkh" "ধঙ্ক্ষ") ("dhngfksf" "ধঙ্ক্ষ") ("dhngfkh" "ধঙ্খ") ("dhngfg" "ধঙ্গ") ("dhngfgz" "ধঙ্গ্য") ("dhngfgh" "ধঙ্ঘ") ("dhngfghz" "ধঙ্ঘ্য") ("dhngfghr" "ধঙ্ঘ্র") ("dhngfm" "ধঙ্ম") 242 | ("dhnggg" "ধংজ্ঞ") 243 | ("dhngkth" "ধঙ্কথ") ("dhngkrf" "ধঙ্কড়") ("dhngkrff" "ধঙ্কঢ়") ("dhngghrf" "ধঙ্ঘড়") ("dhngghrff" "ধঙ্ঘঢ়") 244 | ("dhngfkth" "ধঙ্কথ") ("dhngfkrf" "ধঙ্কড়") ("dhngfkrff" "ধঙ্কঢ়") ("dhngfghrf" "ধঙ্ঘড়") ("dhngfghrff" "ধঙ্ঘঢ়") 245 | 246 | ("pngf" "পঙ") 247 | ("pngk" "পঙ্ক") ("pngkt" "পঙ্‌ক্ত") ("pngkz" "পঙ্ক্য") ("pngkr" "পঙ্ক্র") ("pngkf" "পঙ্ক্ষ") ("pngkkh" "পঙ্ক্ষ") ("pngksf" "পঙ্ক্ষ") ("pngkh" "পঙ্খ") ("pngg" "পঙ্গ") ("pnggz" "পঙ্গ্য") ("pnggh" "পঙ্ঘ") ("pngghz" "পঙ্ঘ্য") ("pngghr" "পঙ্ঘ্র") ("pngm" "পঙ্ম") 248 | ("pngfk" "পঙ্ক") ("pngfkt" "পঙ্‌ক্ত") ("pngfkz" "পঙ্ক্য") ("pngfkr" "পঙ্ক্র") ("pngfkf" "পঙ্ক্ষ") ("pngfkkh" "পঙ্ক্ষ") ("pngfksf" "পঙ্ক্ষ") ("pngfkh" "পঙ্খ") ("pngfg" "পঙ্গ") ("pngfgz" "পঙ্গ্য") ("pngfgh" "পঙ্ঘ") ("pngfghz" "পঙ্ঘ্য") ("pngfghr" "পঙ্ঘ্র") ("pngfm" "পঙ্ম") 249 | ("pnggg" "পংজ্ঞ") 250 | ("pngkth" "পঙ্কথ") ("pngkrf" "পঙ্কড়") ("pngkrff" "পঙ্কঢ়") ("pngghrf" "পঙ্ঘড়") ("pngghrff" "পঙ্ঘঢ়") 251 | ("pngfkth" "পঙ্কথ") ("pngfkrf" "পঙ্কড়") ("pngfkrff" "পঙ্কঢ়") ("pngfghrf" "পঙ্ঘড়") ("pngfghrff" "পঙ্ঘঢ়") 252 | 253 | ("mngf" "মঙ") 254 | ("mngk" "মঙ্ক") ("mngkt" "মঙ্‌ক্ত") ("mngkz" "মঙ্ক্য") ("mngkr" "মঙ্ক্র") ("mngkf" "মঙ্ক্ষ") ("mngkkh" "মঙ্ক্ষ") ("mngksf" "মঙ্ক্ষ") ("mngkh" "মঙ্খ") ("mngg" "মঙ্গ") ("mnggz" "মঙ্গ্য") ("mnggh" "মঙ্ঘ") ("mngghz" "মঙ্ঘ্য") ("mngghr" "মঙ্ঘ্র") ("mngm" "মঙ্ম") 255 | ("mngfk" "মঙ্ক") ("mngfkt" "মঙ্‌ক্ত") ("mngfkz" "মঙ্ক্য") ("mngfkr" "মঙ্ক্র") ("mngfkf" "মঙ্ক্ষ") ("mngfkkh" "মঙ্ক্ষ") ("mngfksf" "মঙ্ক্ষ") ("mngfkh" "মঙ্খ") ("mngfg" "মঙ্গ") ("mngfgz" "মঙ্গ্য") ("mngfgh" "মঙ্ঘ") ("mngfghz" "মঙ্ঘ্য") ("mngfghr" "মঙ্ঘ্র") ("mngfm" "মঙ্ম") 256 | ("mnggg" "মংজ্ঞ") 257 | ("mngkth" "মঙ্কথ") ("mngkrf" "মঙ্কড়") ("mngkrff" "মঙ্কঢ়") ("mngghrf" "মঙ্ঘড়") ("mngghrff" "মঙ্ঘঢ়") 258 | ("mngfkth" "মঙ্কথ") ("mngfkrf" "মঙ্কড়") ("mngfkrff" "মঙ্কঢ়") ("mngfghrf" "মঙ্ঘড়") ("mngfghrff" "মঙ্ঘঢ়") 259 | 260 | ("shngf" "শঙ") 261 | ("shngk" "শঙ্ক") ("shngkt" "শঙ্‌ক্ত") ("shngkz" "শঙ্ক্য") ("shngkr" "শঙ্ক্র") ("shngkf" "শঙ্ক্ষ") ("shngkkh" "শঙ্ক্ষ") ("shngksf" "শঙ্ক্ষ") ("shngkh" "শঙ্খ") ("shngg" "শঙ্গ") ("shnggz" "শঙ্গ্য") ("shnggh" "শঙ্ঘ") ("shngghz" "শঙ্ঘ্য") ("shngghr" "শঙ্ঘ্র") ("shngm" "শঙ্ম") 262 | ("shngfk" "শঙ্ক") ("shngfkt" "শঙ্‌ক্ত") ("shngfkz" "শঙ্ক্য") ("shngfkr" "শঙ্ক্র") ("shngfkf" "শঙ্ক্ষ") ("shngfkkh" "শঙ্ক্ষ") ("shngfksf" "শঙ্ক্ষ") ("shngfkh" "শঙ্খ") ("shngfg" "শঙ্গ") ("shngfgz" "শঙ্গ্য") ("shngfgh" "শঙ্ঘ") ("shngfghz" "শঙ্ঘ্য") ("shngfghr" "শঙ্ঘ্র") ("shngfm" "শঙ্ম") 263 | ("shnggg" "শংজ্ঞ") 264 | ("shngkth" "শঙ্কথ") ("shngkrf" "শঙ্কড়") ("shngkrff" "শঙ্কঢ়") ("shngghrf" "শঙ্ঘড়") ("shngghrff" "শঙ্ঘঢ়") 265 | ("shngfkth" "শঙ্কথ") ("shngfkrf" "শঙ্কড়") ("shngfkrff" "শঙ্কঢ়") ("shngfghrf" "শঙ্ঘড়") ("shngfghrff" "শঙ্ঘঢ়") 266 | 267 | ("sfngf" "ষঙ") 268 | ("sfngk" "ষঙ্ক") ("sfngkt" "ষঙ্‌ক্ত") ("sfngkz" "ষঙ্ক্য") ("sfngkr" "ষঙ্ক্র") ("sfngkf" "ষঙ্ক্ষ") ("sfngkkh" "ষঙ্ক্ষ") ("sfngksf" "ষঙ্ক্ষ") ("sfngkh" "ষঙ্খ") ("sfngg" "ষঙ্গ") ("sfnggz" "ষঙ্গ্য") ("sfnggh" "ষঙ্ঘ") ("sfngghz" "ষঙ্ঘ্য") ("sfngghr" "ষঙ্ঘ্র") ("sfngm" "ষঙ্ম") 269 | ("sfngfk" "ষঙ্ক") ("sfngfkt" "ষঙ্‌ক্ত") ("sfngfkz" "ষঙ্ক্য") ("sfngfkr" "ষঙ্ক্র") ("sfngfkf" "ষঙ্ক্ষ") ("sfngfkkh" "ষঙ্ক্ষ") ("sfngfksf" "ষঙ্ক্ষ") ("sfngfkh" "ষঙ্খ") ("sfngfg" "ষঙ্গ") ("sfngfgz" "ষঙ্গ্য") ("sfngfgh" "ষঙ্ঘ") ("sfngfghz" "ষঙ্ঘ্য") ("sfngfghr" "ষঙ্ঘ্র") ("sfngfm" "ষঙ্ম") 270 | ("sfnggg" "ষংজ্ঞ") 271 | ("sfngkth" "ষঙ্কথ") ("sfngkrf" "ষঙ্কড়") ("sfngkrff" "ষঙ্কঢ়") ("sfngghrf" "ষঙ্ঘড়") ("sfngghrff" "ষঙ্ঘঢ়") 272 | ("sfngfkth" "ষঙ্কথ") ("sfngfkrf" "ষঙ্কড়") ("sfngfkrff" "ষঙ্কঢ়") ("sfngfghrf" "ষঙ্ঘড়") ("sfngfghrff" "ষঙ্ঘঢ়") 273 | 274 | ("sngf" "সঙ") 275 | ("sngk" "সঙ্ক") ("sngkt" "সঙ্‌ক্ত") ("sngkz" "সঙ্ক্য") ("sngkr" "সঙ্ক্র") ("sngkf" "সঙ্ক্ষ") ("sngkkh" "সঙ্ক্ষ") ("sngksf" "সঙ্ক্ষ") ("sngkh" "সঙ্খ") ("sngg" "সঙ্গ") ("snggz" "সঙ্গ্য") ("snggh" "সঙ্ঘ") ("sngghz" "সঙ্ঘ্য") ("sngghr" "সঙ্ঘ্র") ("sngm" "সঙ্ম") 276 | ("sngfk" "সঙ্ক") ("sngfkt" "সঙ্‌ক্ত") ("sngfkz" "সঙ্ক্য") ("sngfkr" "সঙ্ক্র") ("sngfkf" "সঙ্ক্ষ") ("sngfkkh" "সঙ্ক্ষ") ("sngfksf" "সঙ্ক্ষ") ("sngfkh" "সঙ্খ") ("sngfg" "সঙ্গ") ("sngfgz" "সঙ্গ্য") ("sngfgh" "সঙ্ঘ") ("sngfghz" "সঙ্ঘ্য") ("sngfghr" "সঙ্ঘ্র") ("sngfm" "সঙ্ম") 277 | ("snggg" "সংজ্ঞ") 278 | ("sngkth" "সঙ্কথ") ("sngkrf" "সঙ্কড়") ("sngkrff" "সঙ্কঢ়") ("sngghrf" "সঙ্ঘড়") ("sngghrff" "সঙ্ঘঢ়") 279 | ("sngfkth" "সঙ্কথ") ("sngfkrf" "সঙ্কড়") ("sngfkrff" "সঙ্কঢ়") ("sngfghrf" "সঙ্ঘড়") ("sngfghrff" "সঙ্ঘঢ়") 280 | 281 | ("hngf" "হঙ") 282 | ("hngk" "হঙ্ক") ("hngkt" "হঙ্‌ক্ত") ("hngkz" "হঙ্ক্য") ("hngkr" "হঙ্ক্র") ("hngkf" "হঙ্ক্ষ") ("hngkkh" "হঙ্ক্ষ") ("hngksf" "হঙ্ক্ষ") ("hngkh" "হঙ্খ") ("hngg" "হঙ্গ") ("hnggz" "হঙ্গ্য") ("hnggh" "হঙ্ঘ") ("hngghz" "হঙ্ঘ্য") ("hngghr" "হঙ্ঘ্র") ("hngm" "হঙ্ম") 283 | ("hngfk" "হঙ্ক") ("hngfkt" "হঙ্‌ক্ত") ("hngfkz" "হঙ্ক্য") ("hngfkr" "হঙ্ক্র") ("hngfkf" "হঙ্ক্ষ") ("hngfkkh" "হঙ্ক্ষ") ("hngfksf" "হঙ্ক্ষ") ("hngfkh" "হঙ্খ") ("hngfg" "হঙ্গ") ("hngfgz" "হঙ্গ্য") ("hngfgh" "হঙ্ঘ") ("hngfghz" "হঙ্ঘ্য") ("hngfghr" "হঙ্ঘ্র") ("hngfm" "হঙ্ম") 284 | ("hnggg" "হংজ্ঞ") 285 | ("hngkth" "হঙ্কথ") ("hngkrf" "হঙ্কড়") ("hngkrff" "হঙ্কঢ়") ("hngghrf" "হঙ্ঘড়") ("hngghrff" "হঙ্ঘঢ়") 286 | ("hngfkth" "হঙ্কথ") ("hngfkrf" "হঙ্কড়") ("hngfkrff" "হঙ্কঢ়") ("hngfghrf" "হঙ্ঘড়") ("hngfghrff" "হঙ্ঘঢ়") 287 | 288 | ("kfngf" "ক্ষঙ") 289 | ("kfngk" "ক্ষঙ্ক") ("kfngkt" "ক্ষঙ্‌ক্ত") ("kfngkz" "ক্ষঙ্ক্য") ("kfngkr" "ক্ষঙ্ক্র") ("kfngkf" "ক্ষঙ্ক্ষ") ("kfngkkh" "ক্ষঙ্ক্ষ") ("kfngksf" "ক্ষঙ্ক্ষ") ("kfngkh" "ক্ষঙ্খ") ("kfngg" "ক্ষঙ্গ") ("kfnggz" "ক্ষঙ্গ্য") ("kfnggh" "ক্ষঙ্ঘ") ("kfngghz" "ক্ষঙ্ঘ্য") ("kfngghr" "ক্ষঙ্ঘ্র") ("kfngm" "ক্ষঙ্ম") 290 | ("kfngfk" "ক্ষঙ্ক") ("kfngfkt" "ক্ষঙ্‌ক্ত") ("kfngfkz" "ক্ষঙ্ক্য") ("kfngfkr" "ক্ষঙ্ক্র") ("kfngfkf" "ক্ষঙ্ক্ষ") ("kfngfkkh" "ক্ষঙ্ক্ষ") ("kfngfksf" "ক্ষঙ্ক্ষ") ("kfngfkh" "ক্ষঙ্খ") ("kfngfg" "ক্ষঙ্গ") ("kfngfgz" "ক্ষঙ্গ্য") ("kfngfgh" "ক্ষঙ্ঘ") ("kfngfghz" "ক্ষঙ্ঘ্য") ("kfngfghr" "ক্ষঙ্ঘ্র") ("kfngfm" "ক্ষঙ্ম") 291 | ("kfnggg" "ক্ষংজ্ঞ") 292 | ("kfngkth" "ক্ষঙ্কথ") ("kfngkrf" "ক্ষঙ্কড়") ("kfngkrff" "ক্ষঙ্কঢ়") ("kfngghrf" "ক্ষঙ্ঘড়") ("kfngghrff" "ক্ষঙ্ঘঢ়") 293 | ("kfngfkth" "ক্ষঙ্কথ") ("kfngfkrf" "ক্ষঙ্কড়") ("kfngfkrff" "ক্ষঙ্কঢ়") ("kfngfghrf" "ক্ষঙ্ঘড়") ("kfngfghrff" "ক্ষঙ্ঘঢ়") 294 | 295 | ("kkhngf" "ক্ষঙ") 296 | ("kkhngk" "ক্ষঙ্ক") ("kkhngkt" "ক্ষঙ্‌ক্ত") ("kkhngkz" "ক্ষঙ্ক্য") ("kkhngkr" "ক্ষঙ্ক্র") ("kkhngkf" "ক্ষঙ্ক্ষ") ("kkhngkkh" "ক্ষঙ্ক্ষ") ("kkhngksf" "ক্ষঙ্ক্ষ") ("kkhngkh" "ক্ষঙ্খ") ("kkhngg" "ক্ষঙ্গ") ("kkhnggz" "ক্ষঙ্গ্য") ("kkhnggh" "ক্ষঙ্ঘ") ("kkhngghz" "ক্ষঙ্ঘ্য") ("kkhngghr" "ক্ষঙ্ঘ্র") ("kkhngm" "ক্ষঙ্ম") 297 | ("kkhngfk" "ক্ষঙ্ক") ("kkhngfkt" "ক্ষঙ্‌ক্ত") ("kkhngfkz" "ক্ষঙ্ক্য") ("kkhngfkr" "ক্ষঙ্ক্র") ("kkhngfkf" "ক্ষঙ্ক্ষ") ("kkhngfkkh" "ক্ষঙ্ক্ষ") ("kkhngfksf" "ক্ষঙ্ক্ষ") ("kkhngfkh" "ক্ষঙ্খ") ("kkhngfg" "ক্ষঙ্গ") ("kkhngfgz" "ক্ষঙ্গ্য") ("kkhngfgh" "ক্ষঙ্ঘ") ("kkhngfghz" "ক্ষঙ্ঘ্য") ("kkhngfghr" "ক্ষঙ্ঘ্র") ("kkhngfm" "ক্ষঙ্ম") 298 | ("kkhnggg" "ক্ষংজ্ঞ") 299 | ("kkhngkth" "ক্ষঙ্কথ") ("kkhngkrf" "ক্ষঙ্কড়") ("kkhngkrff" "ক্ষঙ্কঢ়") ("kkhngghrf" "ক্ষঙ্ঘড়") ("kkhngghrff" "ক্ষঙ্ঘঢ়") 300 | ("kkhngfkth" "ক্ষঙ্কথ") ("kkhngfkrf" "ক্ষঙ্কড়") ("kkhngfkrff" "ক্ষঙ্কঢ়") ("kkhngfghrf" "ক্ষঙ্ঘড়") ("kkhngfghrff" "ক্ষঙ্ঘঢ়") 301 | 302 | ("ksfngf" "ক্ষঙ") 303 | ("ksfngk" "ক্ষঙ্ক") ("ksfngkt" "ক্ষঙ্‌ক্ত") ("ksfngkz" "ক্ষঙ্ক্য") ("ksfngkr" "ক্ষঙ্ক্র") ("ksfngkf" "ক্ষঙ্ক্ষ") ("ksfngkkh" "ক্ষঙ্ক্ষ") ("ksfngksf" "ক্ষঙ্ক্ষ") ("ksfngkh" "ক্ষঙ্খ") ("ksfngg" "ক্ষঙ্গ") ("ksfnggz" "ক্ষঙ্গ্য") ("ksfnggh" "ক্ষঙ্ঘ") ("ksfngghz" "ক্ষঙ্ঘ্য") ("ksfngghr" "ক্ষঙ্ঘ্র") ("ksfngm" "ক্ষঙ্ম") 304 | ("ksfngfk" "ক্ষঙ্ক") ("ksfngfkt" "ক্ষঙ্‌ক্ত") ("ksfngfkz" "ক্ষঙ্ক্য") ("ksfngfkr" "ক্ষঙ্ক্র") ("ksfngfkf" "ক্ষঙ্ক্ষ") ("ksfngfkkh" "ক্ষঙ্ক্ষ") ("ksfngfksf" "ক্ষঙ্ক্ষ") ("ksfngfkh" "ক্ষঙ্খ") ("ksfngfg" "ক্ষঙ্গ") ("ksfngfgz" "ক্ষঙ্গ্য") ("ksfngfgh" "ক্ষঙ্ঘ") ("ksfngfghz" "ক্ষঙ্ঘ্য") ("ksfngfghr" "ক্ষঙ্ঘ্র") ("ksfngfm" "ক্ষঙ্ম") 305 | ("ksfnggg" "ক্ষংজ্ঞ") 306 | ("ksfngkth" "ক্ষঙ্কথ") ("ksfngkrf" "ক্ষঙ্কড়") ("ksfngkrff" "ক্ষঙ্কঢ়") ("ksfngghrf" "ক্ষঙ্ঘড়") ("ksfngghrff" "ক্ষঙ্ঘঢ়") 307 | ("ksfngfkth" "ক্ষঙ্কথ") ("ksfngfkrf" "ক্ষঙ্কড়") ("ksfngfkrff" "ক্ষঙ্কঢ়") ("ksfngfghrf" "ক্ষঙ্ঘড়") ("ksfngfghrff" "ক্ষঙ্ঘঢ়") 308 | 309 | 310 | 311 | ) 312 | (ng 313 | ("ng" "ং") ("gng" "গং") ("ghng" "ঘং") ("cng" "চং") ("jng" "জং") ("nng" "নং") ("nfng" "ণং") ("tng" "তং") ("dhng" "ধং") ("png" "পং") ("mng" "মং") ("shng" "শং") ("sfng" "ষং") ("sng" "সং") ("hng" "হং") ("kfng" "ক্ষং") ("kkhng" "ক্ষং") ("ksfng" "ক্ষং") 314 | ("ngo" "ঙ") ("nga" "ঙা") ("ngi" "ঙি") ("ngii" "ঙী") ("ngu" "ঙু") ("nguff" "ঙ‌ু") ("nguu" "ঙূ") ("nguuff" "ঙ‌ূ") ("ngq" "ঙৃ") ("ngqff" "ঙ‌ৃ") ("nge" "ঙে") ("ngoi" "ঙৈ") 315 | ("ngw" "ঙো") ("ngou" "ঙৌ") ("ngae" "ঙ্যা") 316 | ("ngof" "ঙঅ") ("ngaf" "ঙআ") ("ngif" "ঙই") ("ngiif" "ঙঈ") ("nguf" "ঙউ") ("nguuf" "ঙঊ") ("ngqf" "ঙঋ") ("ngef" "ঙএ") ("ngoif" "ঙই") 317 | ("ngwf" "ঙও") ("ngouf" "ঙউ") ("ngaef" "ঙঅ্যা") 318 | 319 | ("gngo" "গঙ") ("gnga" "গঙা") ("gngi" "গঙি") ("gngii" "গঙী") ("gngu" "গঙু") ("gnguff" "গঙ‌ু") ("gnguu" "গঙূ") ("gnguuff" "গঙ‌ূ") ("gngq" "গঙৃ") ("gngqff" "গঙ‌ৃ") ("gnge" "গঙে") ("gngoi" "গঙৈ") 320 | ("gngw" "গঙো") ("gngou" "গঙৌ") ("gngae" "গঙ্যা") 321 | ("gngof" "গঙঅ") ("gngaf" "গঙআ") ("gngif" "গঙই") ("gngiif" "গঙঈ") ("gnguf" "গঙউ") ("gnguuf" "গঙঊ") ("gngqf" "গঙঋ") ("gngef" "গঙএ") ("gngoif" "গঙই") 322 | ("gngwf" "গঙও") ("gngouf" "গঙউ") ("gngaef" "গঙঅ্যা") 323 | 324 | ("ghngo" "ঘঙ") ("ghnga" "ঘঙা") ("ghngi" "ঘঙি") ("ghngii" "ঘঙী") ("ghngu" "ঘঙু") ("ghnguff" "ঘঙ‌ু") ("ghnguu" "ঘঙূ") ("ghnguuff" "ঘঙ‌ূ") ("ghngq" "ঘঙৃ") ("ghngqff" "ঘঙ‌ৃ") ("ghnge" "ঘঙে") ("ghngoi" "ঘঙৈ") 325 | ("ghngw" "ঘঙো") ("ghngou" "ঘঙৌ") ("ghngae" "ঘঙ্যা") 326 | ("ghngof" "ঘঙঅ") ("ghngaf" "ঘঙআ") ("ghngif" "ঘঙই") ("ghngiif" "ঘঙঈ") ("ghnguf" "ঘঙউ") ("ghnguuf" "ঘঙঊ") ("ghngqf" "ঘঙঋ") ("ghngef" "ঘঙএ") ("ghngoif" "ঘঙই") 327 | ("ghngwf" "ঘঙও") ("ghngouf" "ঘঙউ") ("ghngaef" "ঘঙঅ্যা") 328 | 329 | ("cngo" "চঙ") ("cnga" "চঙা") ("cngi" "চঙি") ("cngii" "চঙী") ("cngu" "চঙু") ("cnguff" "চঙ‌ু") ("cnguu" "চঙূ") ("cnguuff" "চঙ‌ূ") ("cngq" "চঙৃ") ("cngqff" "চঙ‌ৃ") ("cnge" "চঙে") ("cngoi" "চঙৈ") 330 | ("cngw" "চঙো") ("cngou" "চঙৌ") ("cngae" "চঙ্যা") 331 | ("cngof" "চঙঅ") ("cngaf" "চঙআ") ("cngif" "চঙই") ("cngiif" "চঙঈ") ("cnguf" "চঙউ") ("cnguuf" "চঙঊ") ("cngqf" "চঙঋ") ("cngef" "চঙএ") ("cngoif" "চঙই") 332 | ("cngwf" "চঙও") ("cngouf" "চঙউ") ("cngaef" "চঙঅ্যা") 333 | 334 | ("jngo" "জঙ") ("jnga" "জঙা") ("jngi" "জঙি") ("jngii" "জঙী") ("jngu" "জঙু") ("jnguff" "জঙ‌ু") ("jnguu" "জঙূ") ("jnguuff" "জঙ‌ূ") ("jngq" "জঙৃ") ("jngqff" "জঙ‌ৃ") ("jnge" "জঙে") ("jngoi" "জঙৈ") 335 | ("jngw" "জঙো") ("jngou" "জঙৌ") ("jngae" "জঙ্যা") 336 | ("jngof" "জঙঅ") ("jngaf" "জঙআ") ("jngif" "জঙই") ("jngiif" "জঙঈ") ("jnguf" "জঙউ") ("jnguuf" "জঙঊ") ("jngqf" "জঙঋ") ("jngef" "জঙএ") ("jngoif" "জঙই") 337 | ("jngwf" "জঙও") ("jngouf" "জঙউ") ("jngaef" "জঙঅ্যা") 338 | 339 | ("nngo" "নঙ") ("nnga" "নঙা") ("nngi" "নঙি") ("nngii" "নঙী") ("nngu" "নঙু") ("nnguff" "নঙ‌ু") ("nnguu" "নঙূ") ("nnguuff" "নঙ‌ূ") ("nngq" "নঙৃ") ("nngqff" "নঙ‌ৃ") ("nnge" "নঙে") ("nngoi" "নঙৈ") 340 | ("nngw" "নঙো") ("nngou" "নঙৌ") ("nngae" "নঙ্যা") 341 | ("nngof" "নঙঅ") ("nngaf" "নঙআ") ("nngif" "নঙই") ("nngiif" "নঙঈ") ("nnguf" "নঙউ") ("nnguuf" "নঙঊ") ("nngqf" "নঙঋ") ("nngef" "নঙএ") ("nngoif" "নঙই") 342 | ("nngwf" "নঙও") ("nngouf" "নঙউ") ("nngaef" "নঙঅ্যা") 343 | 344 | ("nfngo" "ণঙ") ("nfnga" "ণঙা") ("nfngi" "ণঙি") ("nfngii" "ণঙী") ("nfngu" "ণঙু") ("nfnguff" "ণঙ‌ু") ("nfnguu" "ণঙূ") ("nfnguuff" "ণঙ‌ূ") ("nfngq" "ণঙৃ") ("nfngqff" "ণঙ‌ৃ") ("nfnge" "ণঙে") ("nfngoi" "ণঙৈ") 345 | ("nfngw" "ণঙো") ("nfngou" "ণঙৌ") ("nfngae" "ণঙ্যা") 346 | ("nfngof" "ণঙঅ") ("nfngaf" "ণঙআ") ("nfngif" "ণঙই") ("nfngiif" "ণঙঈ") ("nfnguf" "ণঙউ") ("nfnguuf" "ণঙঊ") ("nfngqf" "ণঙঋ") ("nfngef" "ণঙএ") ("nfngoif" "ণঙই") 347 | ("nfngwf" "ণঙও") ("nfngouf" "ণঙউ") ("nfngaef" "ণঙঅ্যা") 348 | 349 | ("tngo" "তঙ") ("tnga" "তঙা") ("tngi" "তঙি") ("tngii" "তঙী") ("tngu" "তঙু") ("tnguff" "তঙ‌ু") ("tnguu" "তঙূ") ("tnguuff" "তঙ‌ূ") ("tngq" "তঙৃ") ("tngqff" "তঙ‌ৃ") ("tnge" "তঙে") ("tngoi" "তঙৈ") 350 | ("tngw" "তঙো") ("tngou" "তঙৌ") ("tngae" "তঙ্যা") 351 | ("tngof" "তঙঅ") ("tngaf" "তঙআ") ("tngif" "তঙই") ("tngiif" "তঙঈ") ("tnguf" "তঙউ") ("tnguuf" "তঙঊ") ("tngqf" "তঙঋ") ("tngef" "তঙএ") ("tngoif" "তঙই") 352 | ("tngwf" "তঙও") ("tngouf" "তঙউ") ("tngaef" "তঙঅ্যা") 353 | 354 | ("dhngo" "ধঙ") ("dhnga" "ধঙা") ("dhngi" "ধঙি") ("dhngii" "ধঙী") ("dhngu" "ধঙু") ("dhnguff" "ধঙ‌ু") ("dhnguu" "ধঙূ") ("dhnguuff" "ধঙ‌ূ") ("dhngq" "ধঙৃ") ("dhngqff" "ধঙ‌ৃ") ("dhnge" "ধঙে") ("dhngoi" "ধঙৈ") 355 | ("dhngw" "ধঙো") ("dhngou" "ধঙৌ") ("dhngae" "ধঙ্যা") 356 | ("dhngof" "ধঙঅ") ("dhngaf" "ধঙআ") ("dhngif" "ধঙই") ("dhngiif" "ধঙঈ") ("dhnguf" "ধঙউ") ("dhnguuf" "ধঙঊ") ("dhngqf" "ধঙঋ") ("dhngef" "ধঙএ") ("dhngoif" "ধঙই") 357 | ("dhngwf" "ধঙও") ("dhngouf" "ধঙউ") ("dhngaef" "ধঙঅ্যা") 358 | 359 | ("pngo" "পঙ") ("pnga" "পঙা") ("pngi" "পঙি") ("pngii" "পঙী") ("pngu" "পঙু") ("pnguff" "পঙ‌ু") ("pnguu" "পঙূ") ("pnguuff" "পঙ‌ূ") ("pngq" "পঙৃ") ("pngqff" "পঙ‌ৃ") ("pnge" "পঙে") ("pngoi" "পঙৈ") 360 | ("pngw" "পঙো") ("pngou" "পঙৌ") ("pngae" "পঙ্যা") 361 | ("pngof" "পঙঅ") ("pngaf" "পঙআ") ("pngif" "পঙই") ("pngiif" "পঙঈ") ("pnguf" "পঙউ") ("pnguuf" "পঙঊ") ("pngqf" "পঙঋ") ("pngef" "পঙএ") ("pngoif" "পঙই") 362 | ("pngwf" "পঙও") ("pngouf" "পঙউ") ("pngaef" "পঙঅ্যা") 363 | 364 | ("mngo" "মঙ") ("mnga" "মঙা") ("mngi" "মঙি") ("mngii" "মঙী") ("mngu" "মঙু") ("mnguff" "মঙ‌ু") ("mnguu" "মঙূ") ("mnguuff" "মঙ‌ূ") ("mngq" "মঙৃ") ("mngqff" "মঙ‌ৃ") ("mnge" "মঙে") ("mngoi" "মঙৈ") 365 | ("mngw" "মঙো") ("mngou" "মঙৌ") ("mngae" "মঙ্যা") 366 | ("mngof" "মঙঅ") ("mngaf" "মঙআ") ("mngif" "মঙই") ("mngiif" "মঙঈ") ("mnguf" "মঙউ") ("mnguuf" "মঙঊ") ("mngqf" "মঙঋ") ("mngef" "মঙএ") ("mngoif" "মঙই") 367 | ("mngwf" "মঙও") ("mngouf" "মঙউ") ("mngaef" "মঙঅ্যা") 368 | 369 | ("shngo" "শঙ") ("shnga" "শঙা") ("shngi" "শঙি") ("shngii" "শঙী") ("shngu" "শঙু") ("shnguff" "শঙ‌ু") ("shnguu" "শঙূ") ("shnguuff" "শঙ‌ূ") ("shngq" "শঙৃ") ("shngqff" "শঙ‌ৃ") ("shnge" "শঙে") ("shngoi" "শঙৈ") 370 | ("shngw" "শঙো") ("shngou" "শঙৌ") ("shngae" "শঙ্যা") 371 | ("shngof" "শঙঅ") ("shngaf" "শঙআ") ("shngif" "শঙই") ("shngiif" "শঙঈ") ("shnguf" "শঙউ") ("shnguuf" "শঙঊ") ("shngqf" "শঙঋ") ("shngef" "শঙএ") ("shngoif" "শঙই") 372 | ("shngwf" "শঙও") ("shngouf" "শঙউ") ("shngaef" "শঙঅ্যা") 373 | 374 | ("sfngo" "ষঙ") ("sfnga" "ষঙা") ("sfngi" "ষঙি") ("sfngii" "ষঙী") ("sfngu" "ষঙু") ("sfnguff" "ষঙ‌ু") ("sfnguu" "ষঙূ") ("sfnguuff" "ষঙ‌ূ") ("sfngq" "ষঙৃ") ("sfngqff" "ষঙ‌ৃ") ("sfnge" "ষঙে") ("sfngoi" "ষঙৈ") 375 | ("sfngw" "ষঙো") ("sfngou" "ষঙৌ") ("sfngae" "ষঙ্যা") 376 | ("sfngof" "ষঙঅ") ("sfngaf" "ষঙআ") ("sfngif" "ষঙই") ("sfngiif" "ষঙঈ") ("sfnguf" "ষঙউ") ("sfnguuf" "ষঙঊ") ("sfngqf" "ষঙঋ") ("sfngef" "ষঙএ") ("sfngoif" "ষঙই") 377 | ("sfngwf" "ষঙও") ("sfngouf" "ষঙউ") ("sfngaef" "ষঙঅ্যা") 378 | 379 | ("sngo" "সঙ") ("snga" "সঙা") ("sngi" "সঙি") ("sngii" "সঙী") ("sngu" "সঙু") ("snguff" "সঙ‌ু") ("snguu" "সঙূ") ("snguuff" "সঙ‌ূ") ("sngq" "সঙৃ") ("sngqff" "সঙ‌ৃ") ("snge" "সঙে") ("sngoi" "সঙৈ") 380 | ("sngw" "সঙো") ("sngou" "সঙৌ") ("sngae" "সঙ্যা") 381 | ("sngof" "সঙঅ") ("sngaf" "সঙআ") ("sngif" "সঙই") ("sngiif" "সঙঈ") ("snguf" "সঙউ") ("snguuf" "সঙঊ") ("sngqf" "সঙঋ") ("sngef" "সঙএ") ("sngoif" "সঙই") 382 | ("sngwf" "সঙও") ("sngouf" "সঙউ") ("sngaef" "সঙঅ্যা") 383 | 384 | ("hngo" "হঙ") ("hnga" "হঙা") ("hngi" "হঙি") ("hngii" "হঙী") ("hngu" "হঙু") ("hnguff" "হঙ‌ু") ("hnguu" "হঙূ") ("hnguuff" "হঙ‌ূ") ("hngq" "হঙৃ") ("hngqff" "হঙ‌ৃ") ("hnge" "হঙে") ("hngoi" "হঙৈ") 385 | ("hngw" "হঙো") ("hngou" "হঙৌ") ("hngae" "হঙ্যা") 386 | ("hngof" "হঙঅ") ("hngaf" "হঙআ") ("hngif" "হঙই") ("hngiif" "হঙঈ") ("hnguf" "হঙউ") ("hnguuf" "হঙঊ") ("hngqf" "হঙঋ") ("hngef" "হঙএ") ("hngoif" "হঙই") 387 | ("hngwf" "হঙও") ("hngouf" "হঙউ") ("hngaef" "হঙঅ্যা") 388 | 389 | ("kfngo" "ক্ষঙ") ("kfnga" "ক্ষঙা") ("kfngi" "ক্ষঙি") ("kfngii" "ক্ষঙী") ("kfngu" "ক্ষঙু") ("kfnguff" "ক্ষঙ‌ু") ("kfnguu" "ক্ষঙূ") ("kfnguuff" "ক্ষঙ‌ূ") ("kfngq" "ক্ষঙৃ") ("kfngqff" "ক্ষঙ‌ৃ") ("kfnge" "ক্ষঙে") ("kfngoi" "ক্ষঙৈ") 390 | ("kfngw" "ক্ষঙো") ("kfngou" "ক্ষঙৌ") ("kfngae" "ক্ষঙ্যা") 391 | ("kfngof" "ক্ষঙঅ") ("kfngaf" "ক্ষঙআ") ("kfngif" "ক্ষঙই") ("kfngiif" "ক্ষঙঈ") ("kfnguf" "ক্ষঙউ") ("kfnguuf" "ক্ষঙঊ") ("kfngqf" "ক্ষঙঋ") ("kfngef" "ক্ষঙএ") ("kfngoif" "ক্ষঙই") 392 | ("kfngwf" "ক্ষঙও") ("kfngouf" "ক্ষঙউ") ("kfngaef" "ক্ষঙঅ্যা") 393 | 394 | ("kkhngo" "ক্ষঙ") ("kkhnga" "ক্ষঙা") ("kkhngi" "ক্ষঙি") ("kkhngii" "ক্ষঙী") ("kkhngu" "ক্ষঙু") ("kkhnguff" "ক্ষঙ‌ু") ("kkhnguu" "ক্ষঙূ") ("kkhnguuff" "ক্ষঙ‌ূ") ("kkhngq" "ক্ষঙৃ") ("kkhngqff" "ক্ষঙ‌ৃ") ("kkhnge" "ক্ষঙে") ("kkhngoi" "ক্ষঙৈ") 395 | ("kkhngw" "ক্ষঙো") ("kkhngou" "ক্ষঙৌ") ("kkhngae" "ক্ষঙ্যা") 396 | ("kkhngof" "ক্ষঙঅ") ("kkhngaf" "ক্ষঙআ") ("kkhngif" "ক্ষঙই") ("kkhngiif" "ক্ষঙঈ") ("kkhnguf" "ক্ষঙউ") ("kkhnguuf" "ক্ষঙঊ") ("kkhngqf" "ক্ষঙঋ") ("kkhngef" "ক্ষঙএ") ("kkhngoif" "ক্ষঙই") 397 | ("kkhngwf" "ক্ষঙও") ("kkhngouf" "ক্ষঙউ") ("kkhngaef" "ক্ষঙঅ্যা") 398 | 399 | ("ksfngo" "ক্ষঙ") ("ksfnga" "ক্ষঙা") ("ksfngi" "ক্ষঙি") ("ksfngii" "ক্ষঙী") ("ksfngu" "ক্ষঙু") ("ksfnguff" "ক্ষঙ‌ু") ("ksfnguu" "ক্ষঙূ") ("ksfnguuff" "ক্ষঙ‌ূ") ("ksfngq" "ক্ষঙৃ") ("ksfngqff" "ক্ষঙ‌ৃ") ("ksfnge" "ক্ষঙে") ("ksfngoi" "ক্ষঙৈ") 400 | ("ksfngw" "ক্ষঙো") ("ksfngou" "ক্ষঙৌ") ("ksfngae" "ক্ষঙ্যা") 401 | ("ksfngof" "ক্ষঙঅ") ("ksfngaf" "ক্ষঙআ") ("ksfngif" "ক্ষঙই") ("ksfngiif" "ক্ষঙঈ") ("ksfnguf" "ক্ষঙউ") ("ksfnguuf" "ক্ষঙঊ") ("ksfngqf" "ক্ষঙঋ") ("ksfngef" "ক্ষঙএ") ("ksfngoif" "ক্ষঙই") 402 | ("ksfngwf" "ক্ষঙও") ("ksfngouf" "ক্ষঙউ") ("ksfngaef" "ক্ষঙঅ্যা") 403 | ) 404 | (reph 405 | ("rr" "র্") ("r" "র") 406 | ) 407 | (phola 408 | ("r" "র") ("z" "য") 409 | ) 410 | (kar 411 | ("o" "") ("of" "অ") 412 | ("off" "ঽ") 413 | ("a" "া") ("af" "আ") 414 | ("i" "ি") ("if" "ই") 415 | ("ii" "ী") ("iif" "ঈ") 416 | ("u" "ু") ("uf" "উ") 417 | ("uu" "ূ") ("uuf" "ঊ") 418 | ("q" "ৃ") ("qf" "ঋ") 419 | ("e" "ে") ("ef" "এ") 420 | ("oi" "ৈ") ("oif" "ই") 421 | ("w" "ো") ("wf" "ও") 422 | ("ou" "ৌ") ("ouf" "উ") 423 | ("ae" "্যা") ("aef" "অ্যা") 424 | ("uff" "‌ু") ("uuff" "‌ূ") ("qff" "‌ৃ") 425 | 426 | ("we" "োয়ে") ("wef" "ওয়ে") 427 | ("waf" "ওয়া") ("wa" "োয়া") 428 | ("wae" "ওয়্যা") 429 | 430 | ("oo" "ং") 431 | 432 | ) 433 | (ongko 434 | (".1" ".১") (".2" ".২") (".3" ".৩") (".4" ".৪") (".5" ".৫") (".6" ".৬") (".7" ".৭") (".8" ".৮") (".9" ".৯") (".0" ".০") ("1" "১") ("2" "২") 435 | ("3" "৩") ("4" "৪") ("5" "৫") ("6" "৬") ("7" "৭") ("8" "৮") ("9" "৯") ("0" "০") 436 | ("A" "a") ("B" "b") ("C" "c") ("D" "d") ("E" "e") ("F" "f") ("G" "g") ("H" "h") ("I" "i") ("J" "j") ("K" "k") ("L" "l") ("M" "m") ("N" "n") 437 | ("O" "o") ("P" "p") ("Q" "q") ("R" "r") ("S" "s") ("T" "t") ("U" "u") ("V" "v") ("W" "w") ("X" "x") ("Y" "y") ("Z" "z") 438 | ) 439 | (diacritic 440 | ("qq" "্") ("xx" "্‌") ("t/" "ৎ") ("x" "ঃ") ("/" "ঁ") ("//" "/") 441 | ("`" "`") ("``" "‌") ("```" "``") 442 | ("~" "~") ("~~" "‍") ("~~~" "~~") 443 | ) 444 | (biram 445 | ("." "।") ("..." "...") (".." ".") ("$" "৳") ("$f" "₹") (",,," ",,") (".f" "॥") (".ff" "৺") 446 | ("+" "+") ("-" "-") ("+f" "×") ("-f" "÷") ("$$" "$") 447 | ("=" "=")("=f" "≠") 448 | ) 449 | (prithayok 450 | (";" "") (";;" ";") 451 | ) 452 | ;; The following AE has an AE kar with a preceding joiner 453 | (ae 454 | ("ae" "‍্যা") 455 | ) 456 | ) 457 | 458 | (state 459 | (init 460 | (diacritic (commit) (shift shor-state)) 461 | (ng (commit) (shift shor-state)) 462 | (shor (shift shor-state)) 463 | (fkar (commit) (shift shor-state)) 464 | (prithayok (shift shor-state)) 465 | (ongko (shift shor-state)) 466 | (biram (shift shor-state)) 467 | (reph (shift reph-state)) 468 | (juktoborno (shift byanjon-state)) 469 | (byanjon (shift byanjon-state)) 470 | ) 471 | (shor-state 472 | (diacritic (commit) ) 473 | (ng (commit) ) 474 | (shor ) 475 | (fkar (commit)) 476 | (biram ) 477 | (prithayok ) 478 | (ongko ) 479 | (biram ) 480 | (reph (shift reph-state)) 481 | (juktoborno (shift byanjon-state)) 482 | (byanjon (shift byanjon-state)) 483 | ) 484 | (reph-state 485 | (prithayok (shift shor-state)) 486 | (diacritic (commit) (shift shor-state)) 487 | (ng (commit) (shift shor-state)) 488 | (ae (shift shor-state)) 489 | (juktoborno (shift byanjon-state)) 490 | (byanjon (shift byanjon-state)) 491 | (reph) 492 | (kar (shift shor-state)) 493 | (nil (shift shor-state)) 494 | ) 495 | (byanjon-state 496 | (diacritic (commit) (shift shor-state)) 497 | (ng (commit) (shift shor-state)) 498 | (prithayok (shift shor-state)) 499 | (ongko (shift shor-state)) 500 | (biram (shift shor-state)) 501 | (kar (shift shor-state)) 502 | (juktoborno ) 503 | (phola 504 | (move @-) (insert ?্) (move @>) 505 | ) 506 | (byanjon ) 507 | ) 508 | ) 509 | --------------------------------------------------------------------------------