A native, system-wide Bangla phonetic input method for FreeBSD, GhostBSD, NomadBSD, Windows 10/11, and other operating systems. This engine replicates the exact behavior of the popular Avro Phonetic keyboard (formerly by OmicronLab) using modern, efficient code.
Type naturally in Latin characters (e.g., ami banglay likhi) and get beautiful Bengali text (আমি বাংলায় লিখি) in any application.
| Platform | Status | Build Type | Installation |
|---|---|---|---|
| FreeBSD / GhostBSD / NomadBSD | ✅ Stable | Go + IBus | Binary + XML |
| Windows 10/11 | ✅ Stable | C + IME | DLL Registration |
| Linux (with IBus) | 🟡 Untested | Go + IBus | Similar to FreeBSD |
- 100% Compatible with Avro Rules: Uses the same logic as the original Avro Phonetic engine.
- System-Wide: Works in all applications on your operating system.
- Native Performance:
- FreeBSD: Written in pure Go with IBus framework
- Windows: Pure C with Windows IME API
- Lightweight: Minimal memory footprint.
- Easy Installation: Simple build processes for each platform.
- Cross-Platform Development: Same conversion logic across all platforms.
- FreeBSD / GhostBSD / NomadBSD Installation
- Windows 10/11 Installation
- Troubleshooting
- Project Structure
- Contributing
Install dependencies using pkg:
sudo pkg install -y go ibus dbus-glib git pkgconfcd /workspace
make build
sudo make install-
Start IBus daemon (if not running):
ibus-daemon -drx
-
Add the engine:
- Run
ibus-setup - Click Add → Find Bengali → Select Avro Bangla Phonetic
- Run
-
Switch to Bangla:
- Press
Super + Space(Win + Space) - Or click keyboard icon in system tray
- Press
ami banglay likhi → আমি বাংলায় লিখি
goner choto → গানের ছোট
bhalo achi → ভালো আছি
sudo make uninstall
ibus exit
ibus-daemon -drxWe now provide a one-click installer!
- Download
avro-bangla-installer.exefrom releases - Double-click to run it
- Click "Install"
- Done! ✅
The installer automatically:
- Copies files to the correct location
- Registers the keyboard with Windows
- Makes "Avro Bangla" available in Win+Space
If you prefer manual control or want to build from source:
From FreeBSD (Cross-compile):
cd windows
make windowsFrom Windows (MinGW):
cd windows
gcc -shared -o avro-bangla.dll main.c avro_engine.c -limm32 -lole32 -luuidCreate install.bat:
@echo off
copy avro-bangla.dll "C:\Program Files\Avro Bangla\"
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\IMM\ImeFile" /v "Avro Bangla" /t REG_SZ /d "C:\Program Files\Avro Bangla\avro-bangla.dll" /f
echo Installation complete! Restart your computer.
pauseRun as Administrator, then restart.
- Press Win + Space to switch keyboards
- Select Avro Bangla
- Type phonetically:
ami banglay likhi→আমি বাংলায় লিখি
See windows/README-WINDOWS.md for detailed instructions.
Easy way: Run avro-bangla-uninstaller.exe
Manual way: Create and run uninstall.bat as Administrator:
@echo off
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\IMM\ImeFile" /v "Avro Bangla" /f
del "C:\Program Files\Avro Bangla\avro-bangla.dll"
echo Uninstallation complete!
pause- Verify XML file exists:
ls /usr/local/share/ibus/component/org.avro.bangla.xml - Restart IBus:
ibus exit && ibus-daemon -drx - Log out and log back in
- Ensure Avro Bangla is selected (check system tray)
- Use
Super + Spaceto cycle input methods
sudo pkg install pkgconf
make clean && make build- Ensure DLL is 64-bit for 64-bit Windows
- Check registration:
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\IMM\ImeFile" - Restart Windows Explorer or reboot
- Verify Avro Bangla is active (check taskbar language indicator)
- Press Space after typing to commit
- Try switching to another keyboard and back
- Some UWP apps have limited IME support
- Test in traditional Win32 apps first (Notepad, Word, Chrome)
avro-bangla-ibus/
├── README.md # This file
├── LICENSE # MIT License
├── Makefile # FreeBSD build & install
├── go.mod # Go module definition
├── main.go # IBus engine (FreeBSD)
├── avro.go # Core Avro parsing logic
├── avro_rules.go # Complete Avro rule set
├── org.avro.bangla.xml # IBus component (FreeBSD)
└── windows/ # Windows IME implementation
├── README-WINDOWS.md # Detailed Windows guide
├── Makefile # Windows build script
├── main.c # Windows IME entry point
└── avro_engine.c # Cross-platform Avro logic (C)
Contributions are welcome! Areas for improvement:
- FreeBSD: Better TSF integration, more test coverage
- Windows: Migrate to Text Services Framework (TSF) for better Windows 10/11 support
- Both: Additional Avro features, emoji support, custom dictionaries
Please submit issues or pull requests on GitHub.
MIT License - See LICENSE file for details.
- Original Avro Phonetic by OmicronLab
- IBus Framework developers
- Windows IME/TSF documentation
- FreeBSD community
Built with ❤️ for BSD and Windows users worldwide.