Arabic (including its dialects) is a language spoken by roughly 440 million native speakers. It is also the language of the Qur'an which extends the importance of this language to almost a quarter of the world's population. Though one of the main purposes of IMEs are to cater to languages with characters that exceed the number of keys on a keyboard, many people, including native arabic speakers do not have access to keyboards with Arabic characters. This is the case even though arabic keyboard layouts exist. In order to ease the lives of everyone who needs to type in Arabic using non-Arabic keyboard layouts.
Implement input methods easily for Windows via Text Services Framework:
- LibIME contains a library which aims to be a simple wrapper for Windows Text Service Framework (TSF).
- PIMETextService contains an backbone implementation of Windows text service for using libIME.
- The python server part requires python 3.x and pywin32 package.
All parts are licensed under GNU LGPL v2.1 license.
- CMake >= 3.0
- Visual Studio 2019
- Git
- NSIS
-
Get source from github.
git clone https://github.com/ArabicIME/arabic-ime.git cd arabic-ime -
Use the following CMake commands to generate Visual Studio project.
cmake -G "Visual Studio 16 2019" -A Win32 . -B "build" cmake -G "Visual Studio 16 2019" -A x64 . -B "build64" -
Open a generated project with Visual Studio and build it. You'll need to build both for 64-bit.
- Build release version of PIMETextService.dll (both 64 bit and 32 bit versions are required).
- Compile <path to arabic-ime>\installer\installer.nsi with NSIS.
- Run the installer
- Run the uninstaller C:\Program Files (x86)\PIME\Uninstall.exe
-
Instead of copying python over to C:\Program Files(x86)\PIME, create a hardlink to your checked out python folder. Use the following in the PIME directory:
mklink /J python <path to repo>\arabic-ime\python -
Restart PIMELauncher to test your changes.
- Text Services Framework
- Guidelines and checklist for IME development (Windows Store apps)
- Input Method Editors (Windows Store apps)
- Third-party input method editors
- Strategies for App Communication between Windows 8 UI and Windows 8 Desktop
- TSF Aware, Dictation, Windows Speech Recognition, and Text Services Framework. (blog)
- Win32 and COM for Windows Store apps
- Input Method Editor (IME) sample supporting Windows 8
- The Windows Access Control Model Part 1
- The Windows Access Control Model: Part 2
- Windows 8 App Container Security Notes - Part 1
- How AccessCheck Works
- GetAppContainerNamedObjectPath function (enable accessing object outside app containers using ACL)
- Creating a DACL
Please report any issue to here.