Steven R. Loomis
350eb83ab3
feat(core): ldml typedef for reorder weights 🙀
...
For: #9707
2023-11-16 16:13:48 -06:00
Steven R. Loomis
3cd6c7630c
feat(core): ldml tertiary reorder 🙀
...
- handle case where there's no tertiary base before the first char
- separate some element API tests from the actual tertiary test. Tests were failing because of now-correct implementation.
Fixes : #9707
2023-11-16 13:55:49 -06:00
Steven R. Loomis
f7566c7356
feat(core): ldml tertiary reorder 🙀
...
- implemented tertiary reordering
- reinstated bengali reordering!
- fixed reordering to be longest-first (by sorting the list before applying)
- updated debug logging
Fixes : #9707
2023-11-16 12:31:08 -06:00
Steven R. Loomis
e9e5665cb8
feat(core): ldml backspace transform 🙀
...
- refactor transform/normalization inner routine
For: #9450
2023-11-16 12:27:23 -06:00
Steven R. Loomis
d0c8ea5c88
feat(core): ldml backspace transform 🙀
...
- refactor keypress some (needs more)
- copypasta implementation of backspace transform
For: #9450
2023-11-16 12:25:15 -06:00
Steven R. Loomis
4bbafa6903
feat(core): marker normalization 🙀
...
- literally a bad assert. the error case is handled below, in fact the unit test tests for it.
- for some reason, assert.h wasn't included in some cases locally.
For: #9468
2023-11-16 12:11:41 -06:00
Steven R. Loomis
07a4821336
feat(core): marker normalization 🙀
...
- a little further
- couple places where "it wasn't plugged in"
- adding some LDML-TODOs - marker creep
- fixed one unnecessary alloc/dealloc
For: #9468
2023-11-15 17:00:04 -06:00
Steven R. Loomis
2f843d98f3
feat(core): marker normalization 🙀
...
- go back to NFD for the context, for now
- anticipating when the privatecontext is NFD but the public context is NFC
- also update the test cases
For: #9468
2023-11-14 16:36:15 -06:00
Steven R. Loomis
78c2ac4aec
feat(core): ldml marker normalization 🙀
...
- refactor out backspace processing into a function.
- for now, just drop any markers in the context when we're lopping off the end
For: #9468
2023-11-14 07:28:41 -06:00
Steven R. Loomis
a69feb583f
feat(core): ldml marker normalization 🙀
...
- km::kbp is soooo last month!
- test_transforms can run NFD with markers, with some caveats.
For: #9468
2023-11-14 07:28:10 -06:00
Steven R. Loomis
015a738226
feat(core): ldml marker normalization 🙀
...
- add a new remove_markers(std::u32string) function
- add test cases for text utils
- update (failing) test cases for transform
- improve documentation of append process
- support KM_CORE_BT_UNKNOWN in ldml test
- remove_markers with a map
- update normalize test
For: #9468
2023-11-14 07:26:47 -06:00
Steven R. Loomis
1ff2bfc4d7
chore(developer,common,core): ldml update to prefinal v44 🙀
...
- more data file updates
- now updating some developer files
- updating the KMX+ spec with some changes.
(vkey was dropped in #7135 , remove it from the spec)
For feat(developer): ldml re-sync with CLDR v44 spec 🙀 #9838
2023-10-24 17:28:08 -05:00
Eberhard Beilharz
f4d8529789
chore(linux): rename keyboardprocessor_ldml.* to keyman_core_ldml
2023-10-20 17:30:10 +02:00
Eberhard Beilharz
7369b22599
chore(linux): Merge with chore/linux/9733_RenameLibknmkbp
...
# Conflicts:
# core/src/debuglog.h
# core/src/ldml/ldml_processor.cpp
# core/src/ldml/ldml_transforms.cpp
# core/src/ldml/ldml_transforms.hpp
# core/tests/unit/ldml/ldml.cpp
2023-10-20 12:52:38 +02:00
Steven R. Loomis
4cdc2c3b54
fix(core): ldml more updates to normalization per review 🙀
...
- reduce function depth
- catch another gotcha (valid was being overwritten)
For: #9468
2023-10-19 17:10:01 -05:00
Steven R. Loomis
1d9820b020
fix(core): ldml more updates to normalization per review 🙀
...
- improve assert failure handling- fix a potential heap leak
For: #9468
2023-10-19 13:33:55 -05:00
Steven R. Loomis
4afe0387d6
fix(core): ldml more updates to normalization per review 🙀
...
- move meat of uassert_success() into an inline
For: #9468
2023-10-19 13:16:03 -05:00
Eberhard Beilharz
604fbc1a75
chore(linux): Rename namespace kbp to core
2023-10-19 10:39:55 +02:00
Steven R. Loomis
3723e6b3d7
fix(core): ldml more updates to normalization per review 🙀
...
- consistency
For: #9468
2023-10-18 17:58:05 -05:00
Steven R. Loomis
f1b12a1848
fix(core): ldml more updates to normalization per review 🙀
...
- refactor internal normalization call
For: #9468
2023-10-18 17:55:08 -05:00
Steven R. Loomis
9dbf70c94e
fix(core): ldml more updates to normalization per review 🙀
...
- verify marker string as it's popped off
- add a missing pragma to debuglog.h
- move UErrorCode out of ldml_processor, change normalization functions to return true on success
For: #9468
2023-10-18 17:47:56 -05:00
Steven R. Loomis
93e1c18af2
fix(core): ldml update to normalization per review 🙀
...
For: #9468
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-10-16 20:22:52 -05:00
Steven R. Loomis
9ee183c0ee
fix(core): ldml update to normalization per review 🙀
...
- simplify normalize_nfc and normalize_nfd functions
For: #9468
2023-10-16 17:21:39 -05:00
Steven R. Loomis
a577bd2f53
feat(core): ldml normalization 🙀
...
- more progress in the normalization pipeline. Trying to keep it from leaking.
- normalize output to NFC.
- normalize json test data to NFC (both context and expected).
- we do NOT try to normalize the 'embedded' strings currently.
- yet more test data fixes (turns out u+00e0 ≠ u+00e8)
For: #9468
2023-10-12 16:57:37 -05:00
Steven R. Loomis
e64f59613a
feat(core): ldml normalization 🙀
...
- split out 'process_key_string'
For: #9468
2023-10-12 10:10:51 -05:00
Steven R. Loomis
daa0523dde
feat(core): ldml normalization 🙀
...
- 0 steps forward, 4294967294 steps back
For: #9468
2023-10-10 19:01:14 -05:00
Marc Durdin
db76e2541d
chore: rename KM_KBP_ to KM_CORE_
2023-10-09 14:53:22 +07:00
Marc Durdin
ba5f18defd
chore: rename km_kbp_ to km_core_
2023-10-09 14:53:13 +07:00
Marc Durdin
4ef18f5e29
chore(core): rename keyboardprocessor.h to keyman_core_api.h
...
Fixes #9721 .
Also tweaks some documentation references to keyboardprocessor, but does
not touch those relating to debian/control.
2023-10-09 14:21:01 +07:00
Steven R. Loomis
2472a941cf
feat(core): match any marker 🙀
...
- add a regex form that matches any marker
For: #9119
2023-10-04 18:34:20 -05:00
Steven R. Loomis
17eba2d237
feat(developer): scancode and forms 🙀
...
- spec: 'hardware' is no longer an enum but a str.
Ripple effects here.
- custom scancodes and layouts are, interestingly, supported. But it's a warning.
- tests for bad scancodes.
Fixes : #9403
2023-09-30 22:06:39 -05:00
Steven R. Loomis
ab29171b56
fix(core): regex set mapping support 🙀
...
- fix alignment
#9121
2023-08-24 14:09:31 -05:00
Steven R. Loomis
16beb4692b
feat(core): regex set mapping support 🙀
...
- remove a stray #include
#9121
2023-08-23 18:17:53 -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
b9bf313129
feat(core): regex set mapping support 🙀
...
- good failing test
2023-08-22 20:10:42 -05:00
Steven R. Loomis
b6855e121f
feat(core): ldml: support <display id=...> in the 'disp' section 🙀
...
- "recent" addition to CLDR DTD
Fixes : #8717
2023-08-18 17:02:35 -05:00
Steven R. Loomis
e5bb22aedd
Merge branch 'master' into feat/core/9121-regex-epic-ldml
2023-08-14 11:17:19 -05:00
Steven R. Loomis
7a312520fb
feat(core): regex cleanup 🙀
...
- restructure to not allocate the Matcher twice, save a little processing
For: #9121
2023-08-11 16:32:09 -05:00
Steven R. Loomis
ad03a5cdcf
chore(core): regex cleanup 🙀
...
- more comments
For: #9121
2023-08-11 15:32:57 -05:00
Steven R. Loomis
9f033278d4
feat(core): marker validation 🙀
...
- validate marker number when going in or out of the context
#9119
2023-08-11 15:09:54 -05:00
Steven R. Loomis
36c5b9d55b
Merge branch 'master' into feat/core/9119-marker-avoid-surrogate-cliff-epic-ldml
2023-08-11 15:02:17 -05:00
Steven R. Loomis
b572f60c9e
feat(core): limit max marker to 0xD7FF 🙀
...
- updates per review, off by one in max count
- updated the spec
2023-08-11 15:01:51 -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
4fc15c9175
Merge branch 'feat/core/9119-marker-core-epic-ldml' into feat/core/9121-regex-epic-ldml
2023-08-10 17:28:57 -05:00
Steven R. Loomis
2bf22c440d
feat(core): marker fixes per review comments 🙀
...
- simplify and improve context processing
For: #9119
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2023-08-10 13:30:29 -05:00
Steven R. Loomis
66ee68d2b3
Apply suggestions from code review
...
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2023-08-10 09:36:16 -05:00
Steven R. Loomis
aecb7c5f5e
feat(core): regex apply-side 🙀
...
- apply side is working using replaceFirst()
- mapTo is a not-yet, that will be a special case
For: #9121
2023-08-09 18:08:25 -05:00
Steven R. Loomis
1aba900b01
feat(core): regex match-side 🙀
...
- match side is working
- lots of string 'schlepping!
For: #9121
2023-08-09 17:45:56 -05:00
Steven R. Loomis
c23303ee23
Apply suggestions from code review
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-08-09 12:52:28 -05:00