Steven R. Loomis
43cd828e9d
feat(core): change normalize_nfd() to use JS native call instead of ICU
...
- does not hit all ICU usage yet
#9467
2024-05-23 17:09:00 -05:00
Steven R. Loomis
d8b5c25954
chore(core): refactor to move most normalization calls into util_normalize.cpp
...
- fold ldml_utils.hpp into core_icu.h
- refactor to use km::core::util::normalize_nfd() functions where simple to do so
For #9467
2024-05-23 14:47:38 -05:00
Steven R. Loomis
e5ee26aaea
fix(core): add a test to verify ICU and Unicode version
...
- load version data from node.js, Blocks.txt, and ICU4C
- support wasm: copy package.json, nodeversions.json and Blocks.txt into the keyboard area so that they can be mounted under wasm
also:
- rename 'fallback' macro to KMN_FALLBACK to not conflict with hedley in utfcodec.hpp
- fix ambiguous path type in tests
Fixes : #10183
2024-05-23 09:31:15 -05:00
Steven R. Loomis
d3c9fbbadc
chore(core): update core to C++17 fixes
...
- remove some tangled templates in jsonpp
- remove one unneeded include of sstream, and rewrite another as a string conversion.
Fixes : #8800
2024-05-13 17:50:20 -05:00
Steven R. Loomis
02413c0251
chore(core): update core to C++17
...
- use utfcodec.hpp's convert<>() instead of codecvt
Fixes : #8800
2024-05-08 16:41:30 -05:00
Steven R. Loomis
6706ae0957
chore(core): km_core_cp -> km_core_cu
...
- km_core_cp represents a 16 bit code unit, not a code point.
Fixes : #11033
2024-05-02 17:39:15 -05:00
Steven R. Loomis
44f0dea3cd
Merge branch 'fix/core/10955-reset-on-frame' into fix/core/10955-double-marker-on-delete
2024-04-25 16:59:30 -05:00
Steven R. Loomis
fa1fd75157
fix(core): ldml fix for multiple marker deletion
...
- current code only deletes a single marker and falls through
- update the ldml test code, get rid of 'expected character' backspace logic (now that we have context object)
- update test cases
2024-04-25 16:59:20 -05:00
Steven R. Loomis
cd867ba801
fix(core): update vkey_should_invalidate_context per comment
...
Fixes #10955
2024-04-25 08:58:47 -05:00
Steven R. Loomis
ba8dcad949
Apply suggestions from code review
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-04-24 08:22:41 -05:00
Steven R. Loomis
f77bbb2418
fix(core): update state_should_invalidate_context
...
- don't invalidate on keyup
- don't check context()->empty()
- clean up structure and comments
Fixes : #10955
2024-04-18 10:34:21 -05:00
Steven R. Loomis
dc965f4e1a
fix(core): ldml backspace processing should delete all markers
...
- current code would only delete a single marker and fall through
- should loop consuming all markers until a non-marker char is hit
2024-04-18 08:57:19 -05:00
Steven R. Loomis
4f2ef499ea
fix(core): update core to handle reset context
...
- clear the app context as well as the cached context
Fixes : #10955
2024-04-17 10:31:33 -05:00
Steven R. Loomis
37530acb14
fix(core): update core to handle reset context
...
- fix range check vk to use a static instead of c++17 function
2024-04-15 20:32:49 -05:00
Steven R. Loomis
4f8c9eb983
fix(core): update core to handle reset context
...
- range check vk
- split modifier test out to separate function
2024-04-15 10:49:41 -05:00
Steven R. Loomis
bd10290af3
fix(core): update core to handle reset context
...
- fixup comment
2024-04-11 23:34:20 -05:00
Steven R. Loomis
46239c6a96
Update core/src/state.hpp
...
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2024-04-11 22:27:02 -05:00
Steven R. Loomis
9ca4e99fb7
fix(core): update core to handle reset context
...
- mark event flags as unused for now
Fixes : #10955
2024-04-08 09:35:35 -05:00
Steven R. Loomis
51c93acb38
fix(core): update core to handle reset context
...
- it was the check for deletion that was unneeded
Fixes : #10955
2024-04-05 18:33:37 -05:00
Steven R. Loomis
11b07128b8
fix(core): update core to handle reset context
...
- reset for ctrl or alt modifiers, but NOT for key-up
Fixes : #10955
2024-04-05 18:23:39 -05:00
Steven R. Loomis
a455c5b95b
fix(core): update core to handle reset context
...
- updates to debug_api test for rearranged items
- try to rearrange the action queue to match prior behavior
Fixes : #10955
2024-04-05 16:31:23 -05:00
Steven R. Loomis
55483e4ccc
fix(core): update ldml test source to handle reset
...
- correct invalidate logic
Fixes : #10955
2024-04-05 14:42:52 -05:00
Steven R. Loomis
628d13d7a6
fix(core): core to automatically reset context if a frame key pressed
...
- update comments per review
Fixes : #10955
2024-04-05 12:05:57 -05:00
Steven R. Loomis
f1b0d8c837
fix(core): core to automatically reset context if a frame key pressed
...
- move the reset table into its own cpp
- update function signatures per review comments
Fixes : #10955
2024-04-05 11:58:47 -05:00
Steven R. Loomis
c91095f0ca
fix(core): core to automatically reset context if a frame key pressed
...
- update ldml test with an exception for k_102_keytest
2024-04-04 17:12:26 -05:00
Steven R. Loomis
2c4d8e34e3
fix(core): skip leading trail surrogate char in km_core_state_context_set_if_needed()
2024-04-04 12:02:17 -05:00
Steven R. Loomis
5b1c853557
fix(common,core): support other lookup for modifiers
...
- the 'other' keyword was incorrectly called 'default'
Fixes : #11072
2024-04-01 23:21:33 -05:00
Steven R. Loomis
ae6f7b5d78
chore(core): support default lookup for modifiers
...
- fix spec
Fixes : #11072
2024-03-29 12:38:18 -05:00
Steven R. Loomis
bca037cbf3
chore(core): support default lookup for modifiers
...
- remove default flag from kmx_file.h
Fixes : #11072
2024-03-29 12:07:29 -05:00
Steven R. Loomis
89f5a0e090
fix(core): support default lookup for modifiers
...
Fixes : #11072
2024-03-28 13:12:01 -05:00
Steven R. Loomis
1691a59394
Merge branch 'feat/developer/11044-error-invalid-var' into feat/core/11072-default-modifier
2024-03-28 12:23:01 -05:00
Steven R. Loomis
313bbd32a7
feat(core): kmx+ scaffolding for modifiers=default
...
- add a new value, 0x10000 to indicate 'default'
For: #11072
2024-03-28 12:19:41 -05:00
Marc Durdin
5790f634cf
Merge pull request #11101 from keymanapp/fix/core/11067-fix-actions-normalize-utf32
...
fix(core): fix pointer math in actions_normalize() 🙀
2024-03-28 19:18:15 +11:00
Steven R. Loomis
92a4a2a0a2
Merge pull request #11094 from keymanapp/chore/core/11057-optimize-marker-context
...
chore(core): optimize ldml_event_state::emit_difference() when no diff 🙀
2024-03-28 00:13:45 -05:00
Steven R. Loomis
7106b662b7
Merge pull request #11100 from keymanapp/fix/core/11067-fix-actions-normalize-output-string
...
fix(core): actions_normalize() length and dead store fix 🙀
2024-03-28 00:13:21 -05:00
Steven R. Loomis
adc421974c
chore(core): fix actions_normalize() pointer math - tests
...
- fix comments yet again
- add regression test in test_actions_normalize.cpp
For: #11067
2024-03-27 23:55:01 -05:00
Steven R. Loomis
d894db78f6
fix(core): add an assert on code_points_to_delete
2024-03-27 23:25:43 -05:00
Steven R. Loomis
ca34b5f00f
fix(core): fix actions_normalize() UChar32 calculation
...
- UnicodeString is UTF-16, but can be used with UTF-32 boundaries.
- fix calculation of code_points_to_delete
Fixes : #11067
2024-03-27 19:37:08 -05:00
Steven R. Loomis
3f42b0b831
fix(core): fix actions_normalize() use of UnicodeString
...
- output[0] was used as a boolean, but needed to check output.isEmpty() instead
- dead store to actions.code_points_to_delete
For: #11067 parts 1 and 2
2024-03-27 19:13:01 -05:00
Steven R. Loomis
8b5723028c
chore(core): optimize ldml_event_state::emit_difference() when no difference
...
#11057
2024-03-27 08:18:03 -05:00
Steven R. Loomis
e8a8590eee
fix(core): revert some interim fixes
...
- ldml_test_source fix moved off to issue #11083
- an optimization in ldml_processor also rolled back
2024-03-27 08:05:39 -05:00
Steven R. Loomis
18c6ecfc08
fix(core): fix 2 marker cases in ldml_event_state::emit_difference 🙀
...
- handle the case where old and new context strings are the same (i.e. no work to do).
- fix pointer arithmetic error in #10356 - the special case where one marker is being replaced by another. The named regression test didn't actually hit this case.
Fixes: bug(core): 'string too long' #11057
2024-03-25 16:45:01 -05:00
Steven R. Loomis
17a653fa19
chore(core): ldml update out of techpreview 🙀
...
- updates to support techpreview -> 45
- test changes
Fixes : #10900
2024-03-02 22:40:39 -06:00
Steven R. Loomis
2ee402c2b8
Update core/src/ldml/ldml_transforms.cpp
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-02-19 12:37:26 -06:00
Steven R. Loomis
6b229ffa14
fix(core): fix output append logic in any_group::apply_transform
...
- logic updating intermediate 'output' was incorrect
- update comments
- also replace size() with length() several places
Fixes #10736
2024-02-17 23:50:55 -06:00
Steven R. Loomis
ceb990e713
chore(core): more shuffling
...
For #10736
2024-02-16 18:27:35 -06:00
Steven R. Loomis
746af68afa
chore(core): shuffle transform matcher. re-enable failing case
...
For #10736
2024-02-16 12:49:19 -06:00
Steven R. Loomis
e7b31113a3
chore(core): remove obsolete TODOs. Temporary change to test.
...
- TODO: 10734 There's a bug in the matching still. Come back and fix this, but the crasher is fixed.
For #10734
2024-02-15 16:21:53 -06:00
Steven R. Loomis
5edb70f07a
fix(core): fix for ldml_transforms.cpp
...
For #10734
2024-02-15 15:26:30 -06:00
Marc Durdin
64daa6182b
Merge pull request #10618 from keymanapp/fix/core/10615-10616-10617-core-surrogates-and-app-context-markers-and-memory-leak
...
fix(core): surrogate handling, markers in app context, and memory leak
2024-02-07 14:43:12 +11:00