Commit graph

52 commits

Author SHA1 Message Date
Steven R. Loomis
30865fbb1b Merge remote-tracking branch 'upstream/feature-ldml' into fix/core/7569-unicode-escaping-epic-ldml 2023-01-07 22:38:42 -06:00
Steven R. Loomis
3d154540e7 fix(common): ldml: updates per code review 🙀
- build-key2.ts: comments, and treat the kmxplus data as const
- build-layr.ts: comments, reordering of structs, and treat the kmxplus data as const
- build-list.ts: comments, reordering
- string-list.ts: comments
- kmx-plus.ts: comments
- ldml-keyboard-xml.ts: update definition of LKKey.transform
-

For #7532
2023-01-06 15:42:05 -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
b1191bb69e fix(developer): ldml: add escaping to key2 section 🙀
- also add functions to the ListItem class
- also fix a bug in ListItem.toString()
- add test cases

Fixes #7569
2023-01-05 16:02:08 -06:00
Steven R. Loomis
d68999e0ef fix(common): escaping: only unescape on some attributes 🙀
- keys:  key.to
- disp: display.to, display.display
- disp: displayOptions.baseCharacter

The rest will have to wait for downstream of PR #7630

For: #7569
2023-01-05 13:46:07 -06:00
Steven R. Loomis
26c91e6534 fix(common): escaping: util and test fix 🙀
- a successful regex for multi escapes. Could be optimized

For: #7965
2023-01-05 13:46:07 -06:00
Steven R. Loomis
c54c2974b8 fix(common): escaping: util and test fix 🙀
- attempt to handle multi strings. regex not workign yet

For: #7569
2023-01-05 13:46:07 -06:00
Steven R. Loomis
6d981c9482 fix(common): util and test fix 🙀
- throw rangeError on invalid codepoints
- update escapes

Thrown message: 'Out of range while unescaping '\u{110000}': Invalid code point 1114112'

For: #7965
2023-01-05 13:46:07 -06:00
Steven R. Loomis
f3064d2879 Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-01-05 13:46:07 -06:00
Steven R. Loomis
58a5d8fc89 fix(developer): ldml: update escaping to handle 1..5 ch 🙀
- should handle 1 to 5 char escaping

For #7569
2023-01-05 13:46:07 -06:00
Steven R. Loomis
1a8ee0b07d fix(developer): ldml: add escaping 🙀
- common util unescapeString with its own tests
- add a test case using the disp element

Fixes #7569
2023-01-05 13:46:04 -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
343f234a8e feat(core): ldml: updates to basic.txt and builders 🙀
- strs and ALL TESTS pass

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-12-20 19:16:41 -06:00
Steven R. Loomis
eb8c4dea7a feat(core): ldml: basic: updates to basic.txt for layr 🙀
- more key2 chan ges

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #753
2022-12-15 15:27:58 -06:00
Steven R. Loomis
30761fec01 feat(core): ldml: basic: updates to basic.txt for layr 🙀
- doc fix also
- key2 still to go

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #753
2022-12-03 04:55:52 +08:00
Steven R. Loomis
66f01f4cf5 feat(core): ldml: fix to build-layr 🙀
For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-29 18:33:04 -06:00
Steven R. Loomis
e98835d35b feat(core): ldml: updates to layr 🙀
- re-redo of layr
- most tests now pass
- updated layr builder

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-25 18:17:45 -06:00
Steven R. Loomis
273075c1f3 feat(core): ldml: updates to layr compiler 🙀
- layr compiler working

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-25 15:55:11 -06:00
Steven R. Loomis
deceda169c feat(core): ldml: updates to key2 and other stuff 🙀
- finalizers
- build-key2 should be complete now
- stub for build-layr

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-23 19:22:03 -06:00
Steven R. Loomis
00442f5edd feat(core): ldml: updates to key2 and other stuff 🙀
- passes all but fixtures

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-23 18:48:45 -06:00
Steven R. Loomis
156c737a9a feat(core): ldml: updates to key2 and other stuff 🙀
- adding compareTo to some classes

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-23 18:33:09 -06:00
Steven R. Loomis
9e21fe1a74 feat(core): ldml: updates to list and other stuff 🙀
- list is probably in good shape for the builder (not yet the writer).
Other stuff TBD.

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-23 16:47:00 -06:00
Steven R. Loomis
8b77d1f764 feat(core): ldml: make sect builder an object 🙀
- remove one hardcoded list

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-23 15:25:51 -06:00
Steven R. Loomis
e0dcb30b51 spec(core): ldml: more document KMXPlus update process 🙀
- add some comments to kmx-plus.ts

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-22 19:11:53 -06:00
Steven R. Loomis
3496939073 feat(core): ldml: steps for list/key2 🙀
- update kmx-plus.ts for key2 and list sections
- add tests for key2
- TODO: binary write, basic fixture, layr

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-22 18:39:25 -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
64c5c796a1 feat(core): ldml: steps for list/key2 🙀
- update .ts constants
- update builder to support digits in section id
- update XML and stub KMXPlusData

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-16 19:05:14 -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
77f8f41c21 feat(developer): improve validation and gap/switch 🙀
- keys: error if to, gap, AND switch are missing
- add parts to LKKey
- add err message and test case

#7401
2022-11-02 13:42:15 -05:00
Steven R. Loomis
a212aefeec feat(developer): improve err msg from Ajv 🙀
- make it clearer what the exact issue is by extracting
params from the Ajv error
2022-11-02 13:41:43 -05:00
Steven R. Loomis
14dd4aeba6 chore(developer): ldml: cleanup 🙀
- remove LKBackspace*
- rename some compiler warnings and classes to match current CLDR
( keyMaps is now keys, vkeyMaps is now vkeys, etc.)

#5015
2022-11-02 13:40:25 -05:00
Steven R. Loomis
5421b6ec0b Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-11-02 13:36:24 -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
002316313d fix(developer): ldml: review feedback fixes 🙀
- update disp to always generate disps=[] and baseCharacter

🙀 #7532
2022-11-02 13:36:24 -05:00
Steven R. Loomis
8a13185f72 fix(developer): ldml: review feedback fixes 🙀
- removing basic.kmx and basic.kvm
- add an only-options display test
- fix indentation
- fix typos

🙀 #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
d42811b341 feat(common): ldml: compiler disp 🙀
- with tests

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-02 13:36:24 -05:00
Steven R. Loomis
56b8b11144 feat(common): ldml: KMXPlusData for disp 🙀
For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-02 13:36:24 -05:00
Steven R. Loomis
8ffba3f5d4 fix(developer): fixes for flicks, imports, specials 🙀
With this change, fr-t-k0-azerty.xml and mt.xml can load without any
ERROR 300007: The source file has an invalid structure errors.

Other errs show up, but it is progress.

Fixes #7411
2022-10-18 12:53:56 -05:00
Steven R. Loomis
56dcbc9a88 fix(developer): support updated CLDR structure 🙀
- backspace is now a transform type. Keep the same test.
2022-10-18 12:53:06 -05:00
Steven R. Loomis
85da473a85 chore(developer): update DTD location 🙀
- dtd is in a subdirectory to match CLDR layout
2022-10-18 12:52:27 -05:00
Steven R. Loomis
66a5cdb1f9 chore(developer): ldml: update tools and data for keyboard-preview 🙀
- update tooling in common and kmc
- update spec
- update test files
2022-10-18 11:32:41 -05:00
Steven R. Loomis
85ed41e16c
Merge pull request #7410 from keymanapp/fix/developer/7404-elem0-epic-ldml 2022-10-17 08:53:23 -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
Marc Durdin
2cf6bf3f60 chore(common): update build.sh dependencies for epic-ldml 2022-10-14 10:45:00 +11:00
Marc Durdin
b4641efe69 feat(developer): generate .js from ldml .xml
Compiles a LDML keyboard .xml down to a KeymanWeb .js file. Currently
only supports some metadata.

Next step is to generate touch layout data, then to embed the binary kmx
data.
2022-10-10 10:08:37 +11:00
Marc Durdin
73586bada7 chore(common): fixup test comment 2022-10-10 07:38:16 +11:00
Marc Durdin
07dde4df3e chore(common): fix typos, add tests, simplify writer options 2022-10-10 07:36:14 +11:00
Marc Durdin
da72845da3 feat(common): add keyman-touch-layout format and readers/writers for typescript 2022-10-10 07:23:38 +11:00