-
-
Notifications
You must be signed in to change notification settings - Fork 266
Spell checking #1137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Spell checking #1137
Conversation
|
Cool, this is what I am looking forward for unexpected keyboard |
c86a2d0 to
a01c4e3
Compare
Build cdict's C library and Java bindings and link them into the app.
Uses libcdict to query a dictionary each time the word before the cursor changes. The candidates view is updated. The dictionary is embedded into the app for now.
The main package is getting big.
Add an activity accessible from the launcher app that lists available dictionaries with a download button. The Dictionaries class manages installed dictionaries. Dictionaries are installed as individual files into the app's private directory. The DictionaryListView view shows the list of available dictionaries and handles downloading and installing them.
The message is updated when the config is refreshed.
This is an important information that users might want to know before clicking download.
Disables automatic compression, which doesn't always work, and instead compress statically the dictionaries on the server. Compression is disabled in the request and then forced on the client side.
Update the CI to work with the new vendor/cdict submodule. The checkout action is upgraded to v6.
a01c4e3 to
b49a283
Compare
|
wow, I just found this and installed the debug build from here, correct? https://github.com/Julow/Unexpected-Keyboard/actions/runs/20557555689 however, I'm still struggling to test this properly:
what am I doing wrong? |
`dictionaries.xml` replaces the generated `SupportedDictionaries.java` and `dict_names.xml`. It is generated from the Unexpected-Keyboard-dictionaries project and contains the list of available dictionaries. This file is easier to update when the dictionaries are re-built and can be parsed by gen_method_xml.py later to assign dictionaries to locales.
|
You are not doing anything wrong. This is how the interface is at this stage and that's what I'm working on next. |
|
ok, with only one dictionary installed, it works. there are max 3 suggestions, which can be chosen. this looks good for the basic functionality! |
`gen_method_xml.py` reads `res/values/dictionaries.xml` and assign a dictionary to each subtypes. The script is rewritten to avoid using large format strings.
This moves the code from Keyboard2 that handles the active IME subtypes and the current one. The goal is to access this information from the dictionary activity while simplifying the code of Keyboard2.
Instead of the full list of the supported dictionaries.
Use the information in DeviceLocales to select the right dictionary. A cache is added into Dictionaries to avoid unecessary loads when switching locale.
|
I've tried the recent builds, Downloaded the dictionary when prompted, but it kept prompting to download it (even though i had it downloaded) and could not get it working. I'll keep an eye out for future builds! |

This adds dictionary-based spell checking to the keyboard. The keyboard looks at the word being typed and matches it against a dictionary to either complete the rest of the word or find alternative spellings.
The core of this feature is implemented in cdict, a project that I developed for this purpose.
The dictionaries are hosted in this repository and can be downloaded from within the app. The wordlists used to build the dictionaries are the same ones used by HeliBoard (from this repository).
This is still a work in progress. I plan to improve the interface and add more features:
This work was fully funded by the NLnet foundation. I would like to thanks them for giving me the time required to work on this feature.
Closes #343 #716 #745 #596 #571
This is the most requested feature and I hope it will be enjoyed.
I'm eager to receive feedback from anyone willing to test this new feature.