Commit graph

77 commits

Author SHA1 Message Date
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