Commit graph

507 commits

Author SHA1 Message Date
Steven R. Loomis
8a59df7fe3
Merge branch 'feat/developer/9119-marker-update-spec-epic-ldml' into feat/core/9119-marker-core-epic-ldml 2023-08-03 14:44:34 -05:00
Steven R. Loomis
3db0220f43 feat(core): steps in marker imp 🙀
- fix a logic err in vars - premature optimization was skipping when we had markers but no other vars
- update marker output in keys, including to and longpress.  TODO-LDML still do not handle markers in lists (longpress, multitap, or flicks). The tests are there but commented out.

For: #9119
2023-08-03 13:26:19 -05:00
Steven R. Loomis
22a65711f9 feat(core): starting in on marker implementation 🙀
- with a failing test case, of course
- basic test of markers

For: #9119
2023-08-02 18:56:18 -05:00
Steven R. Loomis
913cb5d18a
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-08-02 18:55:22 -05:00
Steven R. Loomis
2a818b1ede spec(core,developer): update marker spec 🙀
- use UC_SENTINEL CODE_DEADKEY …
- use U+FFFE for any marker
- add asserts between .ts and C++
- update generation

For: #9119
2023-08-02 18:04:48 -05:00
Steven R. Loomis
0d3ffbbe57 chore(core): marker - pt-abnt2 broken 🙀
- upstream in CLDR is incomplete in marker/transform implementation, disabling for now

#9119
2023-07-29 20:30:59 -05:00
Steven R. Loomis
c15e1f37c2
Merge branch 'feat/developer/9119-marker-epic-ldml' into feat/developer/9119-marker-emit-epic-ldml 2023-07-29 17:02:54 -05:00
Steven R. Loomis
e71e1c10d8
Merge branch 'master' into feat/developer/9119-marker-epic-ldml 2023-07-29 17:02:38 -05:00
Steven R. Loomis
2ec20ae8b4
Merge pull request #9352 from keymanapp/chore/core/7375-reorder-comments-epic-ldml
chore(core): update documentation in transform logic and processor 🙀
2023-07-29 17:01:39 -05:00
Steven R. Loomis
2211900e5f feat(common): marker - move values into constants 🙀
- constants need to be shared with C++

#9119
2023-07-29 16:15:55 -05:00
Steven R. Loomis
7ad3f95a67
Merge branch 'chore/core/7375-reorder-comments-epic-ldml' into feat/developer/9119-marker-epic-ldml 2023-07-29 14:49:46 -05:00
Steven R. Loomis
c7881d99b2
Update core/src/ldml/ldml_processor.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-07-28 21:55:39 -05:00
Steven R. Loomis
ccc86a942b feat(core): fix uset range check 🙀
- review comments

#7375
2023-07-28 21:54:09 -05:00
Steven R. Loomis
f2915bbb66 spec(core): update marker spec 🙀
- 'transform' doesn't have an 'after=' attribute

For: #9118
2023-07-26 17:04:50 -05:00
Steven R. Loomis
99c2aff760 chore(core): turn off debugging 🙀
- fix a stray define

For: #7375
2023-07-26 16:18:53 -05:00
Steven R. Loomis
875d59987a chore(core): update documentation in transform logic and processor 🙀
- drop some unneeded variables also, should be no semantic change

For: #7375
2023-07-26 16:16:57 -05:00
Steven R. Loomis
97b3120829 fix(core): Optimize checks for Uni_IsValid() 🙀
For: #7375
2023-07-26 14:50:49 -05:00
Steven R. Loomis
f57c66ede5
Merge branch 'master' into fix/core/7375-verify-uset-range-epic-ldml 2023-07-26 13:22:36 -05:00
Steven R. Loomis
08787ead56
Merge pull request #9344 from keymanapp/chore/developer-9236-vkey-warning-epic-ldml
chore(developer): make unknown vkey a hint, not error 🙀
2023-07-26 13:21:47 -05:00
Steven R. Loomis
480fd3bcad fix(core): More range checks for Uni_IsValid() 🙀
For: #7375
2023-07-25 19:02:46 -05:00
Steven R. Loomis
352328fbbe fix(core): Better range check for Uni_IsValid() 🙀
- rewrite macros as inlines
- brute force approach

For: #7375
2023-07-25 18:42:29 -05:00
Steven R. Loomis
2f381279af chore(developer): make unknown vkey a hint, not error 🙀
Note that feat(core): ldml vkey support 🙀 #7135 is future,
in the future this may be an Error again.

- also, add an internal error to the visual-keyboard-compiler on missing keys
- also, update fr-t-k0-azerty to fix a missing key (simultaneous fix has been made in CLDR)
- also, reinstate CLDR's fr-t-k0-azerty - now all 'stock' keyboards build in keyman!
- keep the 'internal' azerty as k_020 - it has some additional transform goodies

Fixes: #9236
2023-07-25 17:52:19 -05:00
Steven R. Loomis
84dc28f512 feat(core): transform/reorder 🙀
- remove another debug print call

#7375
2023-07-25 16:32:42 -05:00
Steven R. Loomis
0a2aa6c5ca
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-07-25 16:30:56 -05:00
Steven R. Loomis
f88ffbff94 chore(core): improve validity check on transform 🙀
- also remove unnecessary loops with unused parameters

#7375
2023-07-21 12:20:54 -05:00
Steven R. Loomis
78a5879b72 feat(core): fix testing string 🙀
- oops, had commented out a section for testing

#7375
2023-07-21 11:43:58 -05:00
Steven R. Loomis
4d9fd28181 feat(core): fix UMR in Uset 🙀
- USet struct was depending on the COMP_KEYBOARD_EX (the .kmx data), but was used after load completed during processing
- Change the USet structure to contain a std::list<COMP_KMXPLUS_USET_RANGE> i.e. copying it
- but, while we're at it, added functions to validate that characters are within valid Unicode ranges.

#7375
2023-07-21 11:42:32 -05:00
Steven R. Loomis
ac6dbb6291 chore(core): scale back kmxplus debugging 🙀
- define KMXPLUS_DEBUG_LOAD, 0 by default, to get details such as 'each string' and 'each key'
- overall debugging and anomalies still DebugLog by default.
- new macro DebugLoad
- also KMXPLUS_DEBUG_TRANSFORM similarly and DebugTran
2023-07-20 12:04:50 -05:00
Steven R. Loomis
96b11d8a73 feat(core): transform/reorder passing tests! 🙀
- remove a debug print call

#7375
2023-07-19 18:14:01 -05:00
Steven R. Loomis
c4c5f5ee6a
Merge branch 'master' into feat/core/7375-merge-transform-path-epic-ldml 2023-07-19 18:07:44 -05:00
Steven R. Loomis
7f07f951ae feat(core): transform/reorder passing tests! 🙀
- reorder now handles runs, where a run starts at primary=0
- reorder still returns as if it had matched/altered the entire string

#7375
2023-07-19 18:07:19 -05:00
Steven R. Loomis
9fc62790b9 feat(core): transform/reorder processing a little less broken 🙀
#7375
2023-07-19 15:29:38 -05:00
Steven R. Loomis
bc378dcac6 feat(core): move transform processing to u32 🙀
- merge code paths…

#7375
2023-07-18 19:16:23 -05:00
Steven R. Loomis
1436d30990 spec(core): minor fix to tran spec 🙀
- mapFrom / mapTo are actually strings
2023-07-18 18:40:36 -05:00
Steven R. Loomis
27e524f755
Merge branch 'core/9120-reorder-test-epic-ldml' into feat/core/7375-more-reorder-epic-ldml 2023-07-14 12:14:33 -05:00
Steven R. Loomis
a5f1843247 fix(core): update per review comments 🙀
- move increments into the for loop

For: #9120
2023-07-14 12:01:30 -05:00
Steven R. Loomis
600a1d1752 fix(core): fix compiler err in transform load 🙀
- return nullptr if element load failed

For: #7375
2023-07-13 08:05:46 -05:00
Steven R. Loomis
bc642d7d3c fix(core): speedup reorder_sort_key::compare 🙀
#9120
2023-07-13 07:55:57 -05:00
Steven R. Loomis
91224d4f1d
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-07-13 07:37:34 -05:00
Steven R. Loomis
093b74a0e0 feat(core): load reorder from kmx+, test case 🙀
- move critical code OUT of assert body!

For: #7375
2023-07-12 18:43:03 -05:00
Steven R. Loomis
47f75118d4 feat(core): load reorder from kmx+, test case 🙀
- load reorder groups and their usets from KMX+
- add a test case matching the nod-Lana spec entry
(the interesting cases commented out for now)

For: #7375
2023-07-12 18:09:53 -05:00
Steven R. Loomis
878e6c13e2 chore(core): compiler fix 🙀
For: #9120
2023-07-12 18:07:20 -05:00
Steven R. Loomis
af8d8fcb33 feat(core): reorder is able to reorder nod-Lana 🙀
- cleaned up code some
- still todo: not merged with 'transform' u16 path, subranges

For: #9120
2023-07-12 18:07:20 -05:00
Steven R. Loomis
28d520f5df feat(core): reorder tests 🙀
- attempting to only subsort ranges

For: #9120
2023-07-12 18:07:20 -05:00
Steven R. Loomis
94af1f64b5 feat(core): reorder tests 🙀
- use sizeof(), not std::size() (C++17)

For: #9120
2023-07-12 18:07:20 -05:00
Steven R. Loomis
1ea3473e34 feat(core): more prep work for reorder 🙀
- tests for sortkey generation and sorting
- improvements to element flag analysis
2023-07-12 18:07:06 -05:00
Steven R. Loomis
a5a2b61479 feat(core): unit test for reorder! 🙀
- add functions for checking type and ordering
  in elements
- fails, of course! implementation to come

For #9120
2023-07-12 18:07:06 -05:00
Steven R. Loomis
f5b70a952c feat(core): refactor for reorder implementation 🙀
- some polymorphic objects
- element list
- add new reorder test

For: #9120
2023-07-12 18:07:06 -05:00
Steven R. Loomis
90eeb2aecf
Merge pull request #9196 from keymanapp/core/9118-spec-markers-epic-ldml 2023-07-07 07:44:50 -05:00
Steven R. Loomis
4950f741f8 spec(core): marker spec 🙀
- switch from PUA to U+0001 based indices
- add some notes from comments (discussion ongoing)
2023-07-06 16:50:35 -05:00