Commit graph

462 commits

Author SHA1 Message Date
Steven R. Loomis
0d3ffbbe57 chore(core): marker - pt-abnt2 broken 🙀
- upstream in CLDR is incomplete in marker/transform implementation, disabling for now

#9119
2023-07-29 20:30:59 -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
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
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
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
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
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
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
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
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
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
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
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
41cf277c1c feat(core): fix core side build 🙀
- fix updated standard ldml file
- hotfix for incorrectly named ldml test file
- don't test transforms in k_003 for now

for #7377
2023-04-27 12:37:56 -05:00
Steven R. Loomis
07392ed460 feat(developer): update tests and reader for transforms 🙀
- not working yet, but 'update' some XML

for #7377
2023-04-27 12:21:03 -05:00
Steven R. Loomis
458e41c482
Merge branch 'master' into feat/core-8435-repertoire-test-epic-ldml 2023-04-11 19:06:02 -05:00
Steven R. Loomis
05a30433a4 feat(core): icu integration steps 🙀
- only use pkg-config if the target system is linux
- delete unused directories

for #8495
2023-04-11 19:01:19 -05:00
Marc Durdin
035c447a31 chore(core): move test_assert.h and test_color.h to common 2023-04-10 15:21:45 +07:00
Marc Durdin
9152ab52e9
Merge branch 'master' into feat/core-8435-repertoire-test-epic-ldml 2023-04-10 15:15:00 +10:00
Marc Durdin
c5d79a9fb4
Merge pull request #7330 from keymanapp/feature-kmcompx
epic: kmcompx - kmcmpdll cross-platform compiler 🚑
2023-04-10 07:34:04 +10:00
Steven R. Loomis
e7b4eb4d9d fix(core): use pkgconfig on linux, else wrap 🙀
For: feat(core): integrate ICU4C into the build for ldml 🙀 #8495
2023-04-06 12:59:00 -05:00
Steven R. Loomis
fc3428227f fix(core): update repertoire test to use strings properly 🙀
For: feat(core): ldml support repertoire tests 🙀 #8435
2023-04-06 12:57:04 -05:00
Steven R. Loomis
8330baf05e fix(core): update test to summarize failures 🙀
for #8435
2023-04-05 16:05:37 -05:00
Steven R. Loomis
2826736353 feat(core): icu integration steps 🙀
- fallback to pkg-config if meson ≤ 0.57

for #8495
2023-04-05 13:54:30 -05:00
Steven R. Loomis
f86109f77b feat(core): icu integration steps 🙀
- fix integer cast
- comment out mention of v70
- icu is now required

for #8435
2023-04-05 13:53:58 -05:00
Steven R. Loomis
0c9277c4da feat(core): icu integration steps 🙀
- workaround lack of patch_directory on old meson (need 0.55.0)
with a manually generated zip file
- remove an assert in ldml_test_source which is already caught as a test failure

for #8495
2023-03-31 17:16:58 -05:00
Steven R. Loomis
6d9377fed6 Merge remote-tracking branch 'upstream/master' into feat/core-8435-repertoire-test-epic-ldml 2023-03-31 13:20:19 -05:00
Steven R. Loomis
fc87334b44 feat(core): icu integration steps 🙀
- disable some failing repertoire tests
- see if a basic integration works

for #8495
2023-03-31 12:39:13 -05:00
Steven R. Loomis
f33dea20cf feat(core): icu integration escapade 🙀
for #8495
2023-03-30 18:16:06 -05:00
Marc Durdin
ef61cc3815
Merge pull request #8529 from keymanapp/refactor/common/shared-kmx-tests
refactor(common): move core baseline tests into common
2023-03-29 14:47:33 +11:00
Steven R. Loomis
1736b6fac7 fix(core): ldml use ja / pt keyboards out of ldml 🙀
For: #8161
2023-03-28 16:56:44 -05:00
Steven R. Loomis
9079ced75a chore(core): ldml update for abnt2/iso 🙀
- address review comments

For: #8161
2023-03-28 08:15:19 -05:00
Steven R. Loomis
7e0255e90c chore(resources): ldml update for abnt2/iso 🙀
- address review comments

For: #8161
2023-03-28 08:12:50 -05:00
Marc Durdin
4523282510
chore: fix comment
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2023-03-28 17:58:17 +11:00
Marc Durdin
20da826c43 chore(core): address review comments 2023-03-28 13:21:34 +07:00
Marc Durdin
c18ef54029 refactor(common): move core baseline tests into common
Decided to use the name `baseline` for this set of tests. They can be
used by any project in the repo now. Tests will be treated as shared,
and not modified (except in the case of a buggy test).

* Moves .kmn files, add `&NAME` line (don't use meson templating for
  these files)
* Generates reference .kmx files using kmcomp for use as a baseline with
  kmcmplib (kmc) tests, and for linux tests
* Updates references in core, kmcmplib, and linux builds
* Renames all the .kmn / .kmx to use a standardized, clean name format
  (this was needed for building packages in the core tests)
2023-03-28 05:20:45 +07:00
Steven R. Loomis
add18c474a fix(core): ldml test workaround for path issue 🙀
- I originally had the tests copied from resources/, but that broke under Windows. Working around by copying the files in git.  #8524 to do this the right way.

For: #8161
2023-03-27 08:28:33 -05:00
Steven R. Loomis
3612039d70 chore(resources): ldml update for abnt2/iso 🙀
- the test cases found an error in the xml. Fixed.
- added core test cases directly out of resources/standards-data

For: #8161
2023-03-24 13:58:10 -05:00