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
Steven R. Loomis
88650e2085
feat(developer): uset in element string 🙀
...
- fix uset builder and other missing uset parts
- basic.xml passes
- update to constants
Fixes : #7377
2023-06-30 17:27:04 -05:00
Steven R. Loomis
83bb7e6f12
Merge branch 'master' into feat/developer-9050-utf32-epic-ldml
2023-06-23 17:31:43 -05:00
Steven R. Loomis
de90644d7a
feat(core,common,developer): support UTF-32 single chars 🙀
...
- C++ side now
- updated tests
- refactored escaping code and squashed bugs
- still todo: basic.xml
For: #9050
2023-06-23 16:55:05 -05:00
Steven R. Loomis
c3e55e3e56
Merge pull request #9049 from keymanapp/feat/core-7377-reorder-parse-epic-ldml
...
feat(common,developer,core): add uset section 🙀
2023-06-23 12:45:48 -05:00
Steven R. Loomis
8a3a08dcf7
feat(core): update documentation and builder for uset 🙀
...
- pre-sort the uset items instead of copying the patterns and re-finding
- update docs on the uset subtable
#7377
2023-06-23 10:52:34 -05:00
Steven R. Loomis
d7e0c286e4
Update core/src/ldml/ldml_processor.cpp
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-06-23 10:32:33 -05:00
Steven R. Loomis
9ce4f0eaa8
fix(core): fix ldml enter 🙀
...
- pass unknown keys back to OS
#7377
2023-06-22 18:43:34 -05:00
Steven R. Loomis
6e97c40f26
fix(core): fix ldml backspace 🙀
...
- don't pop state->context() if we know it is empty
#7377
2023-06-22 18:09:53 -05:00
Steven R. Loomis
877070d07e
fix(core): fix ldml transforms 🙀
...
- document transform calling code in ldml_transform
- remove obsolete portions
- optimize keystroke code when no transforms are present
2023-06-22 17:55:18 -05:00
Steven R. Loomis
248d423535
feat(common,developer,core): add uset section 🙀
...
- not emitted yet, basic scaffolding
- expanded type field in elem: str/char/set
For: #7377
2023-06-20 18:23:54 -05:00
Steven R. Loomis
9eff1eb1d4
feat(core): document transform algorithm 🙀
...
For: #7377
2023-06-20 16:37:38 -05:00
Steven R. Loomis
903fd7e82b
feat(core): transform fixes 🙀
...
- refactor matching per review comments
- move global fcn into class statics
#7377
2023-06-19 18:27:36 -05:00
Steven R. Loomis
5de6976eb6
feat(core): transform fixes 🙀
...
- tests for group breakout
- test for hindi visual matra example
2023-06-19 16:09:45 -05:00
Steven R. Loomis
3014b9e98e
feat(core): transform fixes 🙀
...
- fix sample files
- break out on first match in a group
#7377
2023-06-16 20:16:29 -05:00
Steven R. Loomis
c74be813b1
Apply suggestions from code review
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-06-16 20:10:50 -05:00
Steven R. Loomis
954b29dfd0
feat(core): fix kmx_plus loading 🙀
...
- vars was missed
- meminit for kmx_plus
2023-06-15 13:52:56 -05:00
Steven R. Loomis
e6f0f0e894
chore(core): reduce logging a little 🙀
2023-06-15 13:17:39 -05:00
Steven R. Loomis
be32377864
feat(core): steps to implement tran 🙀
...
- fix missing include
For: #7377
2023-06-14 10:27:14 -05:00
Steven R. Loomis
c90c7aaa64
feat(core): non-regex implementation of tran 🙀
...
- some scaffolding for loading transforms
- add transform_test
- simple test, simple impl - non-regex, simple strings
- scaffolding for bksp
- bksp transform test, but disabled for now
For: #7377
2023-06-14 10:14:33 -05:00
Steven R. Loomis
5cf025b62e
Merge pull request #8942 from keymanapp/feat/core-7377-transform-epic-ldml
...
feat(core): fixups to C++ side 🙀
2023-06-08 18:17:06 -05:00