* feat(ime/nlp): Add `HanShapeBasedLanguageProvider`
* feat: Manually set default NLP to be HanShapeBased
* feat: Temporarily disable adding spaces
This commit should give insight into how the keyboard adds spaces, this
should then be refined into not adding a space after commiting a CJK
text suggestion
* fix(ime/nlp): Remove empty str suggest in HanShape
* feat(ime/nlp): Handle locale variants in HanShape
this should facilitate multiple layouts in the zh locale
* fix(ime/nlp): Handle query params in HanShape
This also helps performance as the DBC doesn't have to compile the query
for every string the user writes
* Space behavior QoL updates for Han shape-based layout (#1)
* Separate space behavior for zh* and latin, and allow space when there is no suggestion.
Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me>
* Add checking if locale is CJK
Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me>
* refactor: Change predicate to a getter & rename
* chore: Remove TODO `supportsAutoSpace` message
* fix: Fix spaces after sugg. in non-space subtypes
* fix: Fix auto space predicate in `PhantomSpace`
Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me>
Co-authored-by: waelwindows <waelwindows9922@gmail.com>
* Draft: editor screen exposes nlpProviders and shape-based Chinese input methods as variants
Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me>
* Fix defaults for zhengma preset
Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me>
* Add word tables for added input methods
Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me>
* Fix: bug in zhengma preset
* Draft: support composing with special characters by delegating nlpProvider to decide composing range.
* Catch SQLite errors such as layout (locale variant) not found (e.g. using HanShapeBased with JIS)
* fixup: remove TODO
* fix: partly addresses 2101, allow searching for locale in English for phones lacking system locale IME
* Adds support for importing "language packs" (sqlite3 db for HanShapeBased for now)
* Changes language pack to zip files. Adds a basic language pack class for storing metadata of IMEs.
Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me>
* Implement language pack as a type of Flex extension, and draft its import and view UI
Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me>
* fix: input method name translation
Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me>
* Trim down to zhengma, quickclassic, and cangjie for the barebones Chinese shape-based pack. Polish extension user documentation.
* Fix hack to allow multiple language pack extensions to co-exist.
Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me>
* Replace quickclassic with boshiamy
* Fix href in LANGUAGEPACKS.md
* build(nix): Clean up nix flake
* refactor: Encapsulate lanaguage pack query in HSB
* feat(ime/nlp): Implement `getListOfWords` in HSB
* feat(ime/nlp): Implement `getFrequencyForWord`
* chore: Normalize weights for freq in `han.sqlite3`
* chore(ime/nlp): Add some logging for HSB
* Update app/src/main/assets/ime/keyboard/org.florisboard.localization/extension.json
Co-authored-by: Patrick Goldinger <patrick@patrickgold.dev>
Signed-off-by: moonbeamcelery <moonbeamcelery@proton.me>
Co-authored-by: moonbeamcelery <114041522+moonbeamcelery@users.noreply.github.com>
Co-authored-by: moonbeamcelery <moonbeamcelery@proton.me>
Co-authored-by: Patrick Goldinger <patrick@patrickgold.dev>