What is FanIME
Notice: This is (core)back end of FanImeServer.
Based on Microsoft TSF IME Demo。
Mainly to develop a Chinese Input Method Editor without ads and likely some other disturbing things we users hate really.
The roadmap is as follows.
Build and Install and Uninstall
How to build
Before we start, make sure you have already installed boost,
scoop install boost
Then, replace boost version in ./CMakeLists.txt,
And thne, run the following command,
./lcompile.ps1
We also need to build one 32-bit version,
./lcompile.ps1 32
Besides, we also need to build dictionary for our IME using this repositoy below,
https://github.com/fanlumaster/FanyDictForIME.git
You need to build this this repo to generate IME Dictionary first, what you need to do is running the commands besides using pwsh7,
cd $env:LOCALAPPDATA
mkdir DeerWritingBrush
cd DeerWritingBrush
git clone https://github.com/fanlumaster/FanyDictForIME.git
cd ./FanyDictForIME/makecikudb/xnheulpb/makedb/separated_jp_version
python ./create_db_and_table.py
python ./insert_data.py
python ./create_index_for_db.py
Copy-Item -Path ./out/cutted_flyciku_with_jp.db -Destination $env:LOCALAPPDATA/DeerWritingBrush
Moreover, we also need to copy another Dictionary file contained in our main project repo(FanIME) to $env:LOCALAPPDATA/DeerWritingBrush,run the command below,
Copy-Item -Path ./Dictionary/SampleIMESimplifiedQuanPin.txt -Destination $env:LOCALAPPDATA/DeerWritingBrush
Last, copy following files to $env:LOCALAPPDATA/DeerWritingBrush,
Copy-Item -Path ./assets/* -Destination $env:LOCALAPPDATA/DeerWritingBrush
How to Install
Run the following command as administrator,
./linstall.ps1
Note: we only use this script to install dll for tests, if we want this IME to support UWP/Metro(Windows Store Apps), we need to cd to C:\Program Files\ and make a new directory named DeerWritingBrush, and move dll to that directory, and then register the dll to system.
How to Uninstall
./luninstall.ps1
Roadmap
Chinese
- Quanpin
- Xiaohe Shuangpin
- Help codes in use of Hanzi Components
- Direct2D to draw candidate windows
- DirectWrite to render candidate windows fonts
- Ciku that can be customized
- Customized IME engine
- Customized skins
- Toggle between Simplified Chinese and Traditional Chinese
- English autocomplete
- Open-Soured Cloud IME api
- Toggle candidate window UI between vertical mode and horizontal mode
- Feature switches: most features should be freely toggled or customized by users
Japanese Support
Maybe another project.
