Amader Bangla Keyboard
A Windows input method to type Bangla phonetically (e.g. amar → আমার).
After installation you switch your input to "Amader Bangla Keyboard" (Win+Space)
and type romanized Bangla in any application.
Built as a TSF Text Input Processor (a native Windows input method) with a
portable, unit-tested phonetic engine at its core.
Status
- ✅ Phase 1 — phonetic engine (
engine/): longest-match tokenizer +
stateful assembler (anusvara, ঋ, chandrabindu, visarga, digits); 16 tests pass.
- ✅ Phase 0 — TSF TIP skeleton (
app/): registrable COM input method that
links the engine into the keystroke path.
- ✅ Phase 3 — composition & commit (
app/): live underlined preview,
commit on space/enter, backspace editing. (Builds clean; live registration +
in-app testing is the next step.)
- ✅ Phase 2 — standalone harness (
harness/): console app to convert
romanized Bangla without registering anything.
- ✅ Phase 4 — UX (started) (
app/): language-bar button (বাং/Eng),
Ctrl+Shift+B Bangla/English toggle (session-only; starts in Bangla).
- ✅ Phase 5 — installer (
installer/, scripts\package.bat): builds
x64+x86 and stages dist\ with self-elevating install/uninstall scripts.
- ✅ Typing guide: installed as a Start Menu shortcut ("Amader Bangla
Keyboard Typing Guide") and in the language-bar menu — a full key-map cheat sheet.
- ✅ Word suggestions: a curated roman→Bangla dictionary (autocorrect-style)
plus ~65k-word completion from the Google bn lexicon, frequency-ranked,
with a candidate window that learns which words you pick
(
%LOCALAPPDATA%\BanglaPhonetic\learned.tsv). ↓/↑/Tab pick, Enter/Space
commit, Esc dismiss.
- ✅ Coverage tested on a Prothom Alo article: 100% of characters typeable;
84% of distinct words have a suggestion.
- ✅ x64 + x86 + ARM64 binaries; architecture-aware installer.
- ⏳ Next: code signing.
The bundled words.tsv is derived from
google/language-resources (bn),
licensed CC BY 4.0.
Install
scripts\package.bat
Then right-click dist\install.ps1 → Run with PowerShell (it self-elevates).
See installer/README.md for details and uninstall.
See docs/KEYMAP.md for the full typing guide (every letter,
sign, digit, and conjunct), and docs/ARCHITECTURE.md for
the design and roadmap.
Build
Requires VS Build Tools (MSVC), Windows SDK, CMake + Ninja.
scripts\build.bat x64 :: engine + tests + harness
build-x64\tests\engine_tests.exe :: run the tests
build-x64\harness\bnphonetic_harness.exe "amar sOnar bangla" :: try the engine
scripts\build.bat x64 "-DBUILD_TIP=ON" :: also build the TIP DLL