Afrim ⌨️ === [![Changelog](https://img.shields.io/badge/Keep%20a%20Changelog--555.svg?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmMTVkMzAiIHZpZXdCb3g9IjAgMCAxODcgMTg1Ij48cGF0aCBkPSJNNjIgN2MtMTUgMy0yOCAxMC0zNyAyMmExMjIgMTIyIDAgMDAtMTggOTEgNzQgNzQgMCAwMDE2IDM4YzYgOSAxNCAxNSAyNCAxOGE4OSA4OSAwIDAwMjQgNCA0NSA0NSAwIDAwNiAwbDMtMSAxMy0xYTE1OCAxNTggMCAwMDU1LTE3IDYzIDYzIDAgMDAzNS01MiAzNCAzNCAwIDAwLTEtNWMtMy0xOC05LTMzLTE5LTQ3LTEyLTE3LTI0LTI4LTM4LTM3QTg1IDg1IDAgMDA2MiA3em0zMCA4YzIwIDQgMzggMTQgNTMgMzEgMTcgMTggMjYgMzcgMjkgNTh2MTJjLTMgMTctMTMgMzAtMjggMzhhMTU1IDE1NSAwIDAxLTUzIDE2bC0xMyAyaC0xYTUxIDUxIDAgMDEtMTItMWwtMTctMmMtMTMtNC0yMy0xMi0yOS0yNy01LTEyLTgtMjQtOC0zOWExMzMgMTMzIDAgMDE4LTUwYzUtMTMgMTEtMjYgMjYtMzMgMTQtNyAyOS05IDQ1LTV6TTQwIDQ1YTk0IDk0IDAgMDAtMTcgNTQgNzUgNzUgMCAwMDYgMzJjOCAxOSAyMiAzMSA0MiAzMiAyMSAyIDQxLTIgNjAtMTRhNjAgNjAgMCAwMDIxLTE5IDUzIDUzIDAgMDA5LTI5YzAtMTYtOC0zMy0yMy01MWE0NyA0NyAwIDAwLTUtNWMtMjMtMjAtNDUtMjYtNjctMTgtMTIgNC0yMCA5LTI2IDE4em0xMDggNzZhNTAgNTAgMCAwMS0yMSAyMmMtMTcgOS0zMiAxMy00OCAxMy0xMSAwLTIxLTMtMzAtOS01LTMtOS05LTEzLTE2YTgxIDgxIDAgMDEtNi0zMiA5NCA5NCAwIDAxOC0zNSA5MCA5MCAwIDAxNi0xMmwxLTJjNS05IDEzLTEzIDIzLTE2IDE2LTUgMzItMyA1MCA5IDEzIDggMjMgMjAgMzAgMzYgNyAxNSA3IDI5IDAgNDJ6bS00My03M2MtMTctOC0zMy02LTQ2IDUtMTAgOC0xNiAyMC0xOSAzN2E1NCA1NCAwIDAwNSAzNGM3IDE1IDIwIDIzIDM3IDIyIDIyLTEgMzgtOSA0OC0yNGE0MSA0MSAwIDAwOC0yNCA0MyA0MyAwIDAwLTEtMTJjLTYtMTgtMTYtMzEtMzItMzh6bS0yMyA5MWgtMWMtNyAwLTE0LTItMjEtN2EyNyAyNyAwIDAxLTEwLTEzIDU3IDU3IDAgMDEtNC0yMCA2MyA2MyAwIDAxNi0yNWM1LTEyIDEyLTE5IDI0LTIxIDktMyAxOC0yIDI3IDIgMTQgNiAyMyAxOCAyNyAzM3MtMiAzMS0xNiA0MGMtMTEgOC0yMSAxMS0zMiAxMXptMS0zNHYxNGgtOFY2OGg4djI4bDEwLTEwaDExbC0xNCAxNSAxNyAxOEg5NnoiLz48L3N2Zz4K)](https://github.com/pythonbrad/afrim/blob/main/CHANGELOG.md) [![crates.io](https://img.shields.io/crates/v/afrim.svg)](https://crates.io/crates/afrim) [![LICENSE](https://img.shields.io/crates/l/afrim.svg)](https://github.com/pythonbrad/afrim/blob/main/LICENSE) ![Rust](https://github.com/pythonbrad/afrim/workflows/Rust/badge.svg) [![docs.rs](https://docs.rs/afrim/badge.svg)](https://docs.rs/afrim) [![dependency status](https://deps.rs/repo/github/pythonbrad/afrim/status.svg)](https://deps.rs/repo/github/pythonbrad/afrim) [![Coverage Status](https://coveralls.io/repos/github/pythonbrad/afrim/badge.svg?branch=main)](https://coveralls.io/github/pythonbrad/afrim?branch=main) Afrim is an input method for African languages. It is designed to protect the native language of various local dialects of Africa and is a universal phonetic-based input method platform. History --- AFRIM is the abbreviation of *AFRICA IME* or *Africa Input Method Engine*. 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). We renamed it to *Afrim Input Method Engine*. Later, it supports Amharic and Geez and other african phonetic input method, and we want support all african phonetic Input Method. Inspired from [librime](https://github.com/rime/librime), we want AFRIM aka *Afrim Input Method Engine* to be the top IME for african languages. For more details on the project name, confer the issue https://github.com/pythonbrad/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/pythonbrad/afrim-data). 🧑🏿‍🤝‍🧑🏿 Community: - Feel free to propose your own. 🎨 Frontends === 🏢 Official: - [afrim-wish](https://github.com/pythonbrad/afrim-wish): Frontend for desktop environment. - [afrim-web](https://github.com/pythonbrad/afrim-web): Frontend for web environment. - [afrim-keyboard](https://github.com/pythonbrad/afrim-keyboard): Frontend for android environment. 🧑🏿‍🤝‍🧑🏿 Community: - Feel free to propose your own. 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.