Afrim ⌨️
===
[](https://github.com/fodydev/afrim/blob/main/CHANGELOG.md)
[](https://crates.io/crates/afrim)
[](https://github.com/fodydev/afrim/blob/main/LICENSE)

[](https://docs.rs/afrim)
[](https://deps.rs/repo/github/fodydev/afrim)
[](https://coveralls.io/github/fodydev/afrim?branch=main)
Afrim is an input method designed to protect the native language of various local dialects and is a universal phonetic-based input method platform.
Table of Contents
---
* [History](#history)
* [Features](#features)
* [Installation](#installation)
* [Datasets](#-dataset)
* [Frontends](#-frontends)
* [FAQ](#-faq)
* [License](#licence)
* [Contributing](#contributing)
* [Sponsorship](#sponsorship)
History
---
From the beginning, AFRIM was written as a remake of [Clafrica IME](https://github.com/H-Theking/clafrica), and named *clafrica*.
Then, we created an input method library with some improvements inspired from [RIME](https://github.com/rime). Later, it supports Amharic, Geez and other african phonetic input method. We renamed it to *Afrim Input Method Engine*.
Inspired from [librime](https://github.com/rime/librime), we want AFRIM aka *Afrim Input Method Engine*, not only as an IME, but also as a tool/library to implement IME no matter the target language.
For more details on the project name, confer the issue https://github.com/fodydev/afrim/issues/107.
Features
===
- [ ] 🌐 Support for all sequential codification codes.
- [ ] 🎨 Easy to use CLI interface.
- [ ] 📚 Customizable dictionary.
- [ ] 💻 Support for both desktop and web platform.
- [ ] 🤖 Support for the Rhai scripting language.
- [ ] 📝 Auto-suggestion / Auto-correction / Auto-completion.
- [ ] ☁️ Full immersion mode for non-latin languages. (🚧 Experimental 🚧)
Installation
===
Build dependencies (Linux only)
---
- libxtst-dev
- libevdev-dev
- libxdo-dev
Runtime dependencies (Linux only)
---
- libxtst-dev
- libevdev-dev
- libxdo-dev
Supported keyboard layouts
---
- QWERTY (USA)
- FRENCH (not AZERTY)
In using cargo
---
`cargo install afrim`
Try it in the console
---
`afrim` comes with a REPL application which can be used to test if his library is working.
To use the afrim, simply provide the path of the datafile that suit your needs.
Eg. `afrim configfile.toml`
📚 Dataset
===
🏢 Official:
- [Afrim Supported Code](https://github.com/fodydev/afrim-data).
🧑🏿🤝🧑🏿 Community:
- Feel free to propose your own.
🎨 Frontends
===
🏢 Official:
- [afrim-wish](https://github.com/fodydev/afrim-wish): Frontend for desktop environment.
- [afrim-web](https://github.com/fodydev/afrim-web): Frontend for web environment.
- [afrim-keyboard](https://github.com/fodydev/afrim-keyboard): Frontend for android environment.
🧑🏿🤝🧑🏿 Community:
- Feel free to propose your own.
❔ FAQ
===
Looking for answers? Check out our [FAQ](./FAQ.md) to find helpful information and solutions to common questions.
Licence
===
All the code in this repository is released under the Mozilla Public License v2.0, for more information take a look at the [LICENSE](LICENSE) file.
Contributing
===
If you would like to contribute to this project, please fork the repository and submit a pull request with your changes.
Sponsorship
===
If you like this project, please star and share our repositories. If you feel generous, a small donation will be greatly appreciated.
### Our sponsors
We are open for sponsors.