afrim 0.6.0

Core library of the afrim input method.
Documentation
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.