/afrim

This application simplify the typing of your language in any text field.

Primary LanguageRustMozilla Public License 2.0MPL-2.0

Afrim ⌨️

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

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

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. Later, it supports Amharic, Geez and other african phonetic input method. We renamed it to Afrim Input Method Engine.

Inspired from 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 #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.

❔ FAQ

Looking for answers? Check out our FAQ 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 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