6 releases

0.6.0 Apr 28, 2024
0.5.4 Mar 5, 2024
0.5.3 Jan 31, 2024
0.5.2 Nov 11, 2023
0.0.0 Oct 24, 2023

#13 in Accessibility


Used in afrim-wish

MPL-2.0 license

110KB
1.5K SLoC

Afrim ⌨️

Changelog crates.io LICENSE Rust docs.rs dependency status Coverage Status

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, and named clafrica.

Then, we created an input method library with some improvements inspired from 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, 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:

🧑🏿‍🤝‍🧑🏿 Community:

  • Feel free to propose your own.

🎨 Frontends

🏢 Official:

🧑🏿‍🤝‍🧑🏿 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 file.

Contributing

If you would like to contribute to this project, please fork the repository and submit a pull request with your changes.

Dependencies

~3–30MB
~403K SLoC