Steven R. Loomis
d349959dea
chore(core): ldml update to prefinal v44 🙀
...
- drop name section
- drop flick flags
- drop normalization,add name to meta
- debug printf fix
- assertion fix for display
For feat(developer): ldml re-sync with CLDR v44 spec 🙀 #9838
2023-10-26 18:35:55 -05:00
Eberhard Beilharz
f4d8529789
chore(linux): rename keyboardprocessor_ldml.* to keyman_core_ldml
2023-10-20 17:30:10 +02:00
Eberhard Beilharz
604fbc1a75
chore(linux): Rename namespace kbp to core
2023-10-19 10:39:55 +02:00
Marc Durdin
ba5f18defd
chore: rename km_kbp_ to km_core_
2023-10-09 14:53:13 +07:00
Steven R. Loomis
bdef1c48d3
fix(common): update keyman for removal of vkeys 🙀
...
dropped in upstream CLDR-17093
See #7135
2023-09-28 13:03:44 -05:00
Steven R. Loomis
09772bb18d
feat(core): regex set mapping support 🙀
...
- passes
- added some utilities on transform_element
- added more validation of transforms
- added tests of utility functions
#9121
2023-08-23 18:13:19 -05:00
Steven R. Loomis
935dec4304
feat(core): regex set mapping support 🙀
...
- restructured some things, loading and such seems to be in good shape
#9121
2023-08-23 15:03:44 -05:00
Steven R. Loomis
75fcc5f3fe
chore(core): regex cleanup 🙀
...
- cache the icu::RegexPattern
- rename USet to avoid a conflict with the real one!
For: #9121
2023-08-10 18:35:06 -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
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
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
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
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
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
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
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
e5d7b3f835
Update core/src/kmx/kmx_plus.cpp
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-06-07 12:46:43 -05:00
Steven R. Loomis
2c172e89ce
feat(core): validate tran 🙀
...
- new helper for tran
- also for bksp
For: #7377
2023-06-06 18:39:11 -05:00
Steven R. Loomis
46b4b7f5cc
feat(core): fixups to C++ side 🙀
...
- builds, passes tests for now
For: #7377
2023-06-06 18:38:44 -05:00
Steven R. Loomis
ab614677ce
feat(core): ldml repertoire test 🙀
...
- wip: simple lookup for an exact key
For: #8435
2023-03-16 15:49:00 -05:00
Steven R. Loomis
f7499238a2
fix(core): ldml more TODO-LDML fixes 🙀
...
- drop some TODO-LDMLs, document others.
For: #8069
2023-03-14 18:54:28 -05:00
Steven R. Loomis
812fd1713a
spec(core): ldml tests for either shift/ctrl/alt 🙀
...
- lookup needs to handle either/neither/both cases for alt and ctrl
- and a bug in the test runner: would 'pass' if failed on exactly line 256 (0x100 & 0xFF == 0)
#7533
2023-03-02 17:13:47 -06:00
Steven R. Loomis
e1e5eea469
feat(core): ldml rename key2 to keys 🙀
...
- So in summary, since before #7532 basically keys was restructured, and the old 'keys' was moved into 'keys.kmap'.
#8069
2023-02-20 17:40:34 -06:00
Steven R. Loomis
4689c04533
feat(core): ldml json test executor 🙀
...
- can now use the new key2.kmap table to lookup keys. Basic test passes
#7535
2023-02-16 13:04:33 -06:00
Steven R. Loomis
47b222e8a8
feat(core): ldml json test executor 🙀
...
- intermediate, does not process context or actions yet
- embedded (non-json) tests pass
- utf-8 parsing
- bring in kmx+ into ldml_test_source for parsing, but key2 is not ready eyt
- temporary scaffolding mapping key ids to vkeys
- build fixes
- getting closer.
2023-02-16 12:33:32 -06:00
Steven R. Loomis
8ea87aa828
feat(common): ldml: merge keys into key2 🙀
2023-02-16 12:29:19 -06:00
Steven R. Loomis
cace5cf596
feat(core): ldml C++ helper for list / key2 🙀
...
For: #7985
2023-02-15 19:00:54 -06:00
Steven R. Loomis
4a2bb6b3da
Review comments
2023-02-15 09:49:54 -06:00
Steven R. Loomis
e5620e83f1
feat(core): ldml C++ validate list / key2 🙀
...
- need helper objs still
For: #7985
2023-02-14 09:23:51 -06:00
Steven R. Loomis
aa0da57b70
fix(core): fix double precision err
2023-02-14 09:23:03 -06:00
Steven R. Loomis
ac2366f460
feat(core): ldml C++ updates to modifiers 🙀
...
- spec: change caps value to 0x100 #7533
- add a 'mod_all' for validating valid modifier keys, plus tests
- add asserts on C++ side mapping modifiers to keyman constants
- use 'mod_all' to validate modifiers
- further fix modifier -> mod in binary
For: #7985 and related to #7533
2023-02-14 09:23:03 -06:00
Steven R. Loomis
7c02ab85af
feat(core): ldml C++ feature support 🙀
...
- make ldml.cpp print FAILED on failure especially because of https://github.com/microsoft/vscode-cpptools/issues/487
- add vkey validation (#7135 )
- add disp validation
- fix: a latent bug in disp! disp.count was === vkey.count, oops. Fix and test cases.
For: #7985
2023-02-14 09:23:03 -06:00
Steven R. Loomis
57d4dfea75
Apply suggestions from code review
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-01-07 22:46:41 -06:00
Steven R. Loomis
2f44780e87
fix(core): ldml: add asserts to C++ 🙀
...
- found a logic bug in kmx_plus.cpp
Fixes #7984
2023-01-06 16:54:24 -06:00
Steven R. Loomis
564f98cc30
Apply suggestions from code review
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-01-06 11:46:17 -06:00
Steven R. Loomis
efef796d75
feat(core): ldml: fix C++ layr helper 🙀
...
- reenable layr/key2/list in c++
- minor update to layr helper, missed ptr assignment
For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-12-22 13:43:53 -06:00
Steven R. Loomis
05656ac499
feat(core): ldml: fix off-by-one on section count 🙀
...
- yes, sect was counting itself. Too much automation!
- disable layr/key2/list loading in C++ for now
For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-12-22 13:12:08 -06:00
Steven R. Loomis
bccb64c911
feat(core): ldml: kmx-plus.ts for layr/key2/list 🙀
...
- update kmx-plus for layr/key2/list
For #7532
2022-11-17 15:37:25 -06:00
Steven R. Loomis
208a6e40a0
feat(core): ldml: C++ builds 🙀
...
For #7532
2022-11-17 14:17:55 -06:00
Steven R. Loomis
0e6aa6566f
feat(core): ldml: First steps for layr 🙀
...
For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
- dummy Layr class for compilation
- fleshed out Layr class
- CPP validation side
2022-11-16 19:04:55 -06:00
Steven R. Loomis
a00ea0423a
chore(core): ldml: cleanup 🙀
...
- minor cleanup in the .cpp
#5015
2022-11-02 13:39:17 -05:00
Steven R. Loomis
1c7517c5a8
fix(developer): ldml: yet more review feedback fixes 🙀
...
🙀 #7532
2022-11-02 13:36:24 -05:00
Steven R. Loomis
49b46f42ea
feat(common): ldml: builder disp 🙀
...
- with initial core updates
For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-02 13:36:24 -05:00
Steven R. Loomis
7e5c9ec675
fix(developer): offset of 0th elem str must be 0000 🙀
...
- update test fixture
- update kmx_plus.cpp to require this
Fix: 7404
2022-10-14 15:00:49 -05:00
Steven R. Loomis
45bc101e77
fix(core): ldml: update per review comments 🙀
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-10-13 16:34:36 -05:00
Steven R. Loomis
8a3c8af7a1
fix(core): ldml: fix incorrect use of Debug_UnicodeString 🙀
...
- update API docs for Debug_UnicodeString
for #7234
2022-10-12 17:01:46 -05:00