-
-
Notifications
You must be signed in to change notification settings - Fork 271
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 |
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? |
|
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! |
|
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! |
|
Thanks you all for trying :) |
|
No, thank you for working on it!! you have no idea how much i've wanted this feature.
Looking forward to future updates! |
|
Thanks for your help :)
I could reproduce this bug. It happens when the keyboard was not yet enabled in the settings. Was that the case for you as well ?
This is very annoying! I should fix that.
This is intended, at least for the initial version. I'm trying to come up with a UX that lets the user choose when to correct or not.
Good idea !
This is planned :)
I didn't plan to do that initially but this can be added easily. I'll take a note for future versions. |
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.
`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.
`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.
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.
The bug was caused by having two instances of Dictionaries.
This was an attempt at making the icons adapt to the app theme but wasn't working as intended.
b4b276a to
647cbeb
Compare
yes, i just confirmed this. |
|
Thanks :) For this bug, I think it's not useful to add code and handle this case. Perhaps the "enable" button should be redesigned and be the only thing on the screen in this case. |

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.