Commit graph

902 commits

Author SHA1 Message Date
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
b012499528
Merge pull request #9345 from keymanapp/fix/common-9139-kmxplus-align-structs-epic-ldml
fix(core): tag KMXPlus file-based structs with alignment 🙀
2023-07-26 13:21:59 -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
b0b83b4e50 fix(core): tag KMXPlus file-based structs with alignment 🙀
Fixes: #9139
2023-07-25 18:14:22 -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
Ross
9076bd1783 feat(windows): WIP add external event kmx_processor 2023-07-25 11:11:39 +10: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
30f33ecd4e fix(core): don't use double newlines in debuglog
- syslog() will automatically add newlines (per mac and linux manpages)
- there's no reason to add NL *AND* add std::endl
- this fix will cause syslog to have no newline going in, and print only one instead of two newlines on other platforms/environments
2023-07-12 12:34:33 -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
Steven R. Loomis
4c096b7574
Update core/src/ldml/C9134_ldml_markers.md
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2023-07-06 16:32:56 -05:00
Steven R. Loomis
b439b0d6cf feat(core): kmxplus uset implementation in core 🙀
- add USet helper object for range checks
- verify range consistency
- remove dead test
- add comment about KMX+ object validation

For: #9120
2023-07-06 13:00:26 -05:00
Steven R. Loomis
4dff5bdbc3 feat(core): kmxplus uset implementation in core 🙀
- this is the uset section, not UnicodeSet from ICU

For: #9120
2023-07-05 18:49:56 -05:00
Steven R. Loomis
5510321e04 spec(core): marker spec 🙀
- first cut

Fixes: #9118
2023-07-05 18:16:09 -05:00
Steven R. Loomis
ebcccbe0ef feat(core): rearrange elem flags 🙀
- per review comments, make the elem flags clearer

For: #7377
2023-07-03 18:20:59 -05:00