Commit graph

1707 commits

Author SHA1 Message Date
Steven R. Loomis
d552a46104
Merge pull request #7630 from keymanapp/feat/core/7532-layr-epic-ldml 2023-01-06 17:40:06 -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
1b9830ed6b fix(common): ldml: kvk should skip empty keys 🙀
- kvk processor should skip keys with no source text

For #7842
2022-12-30 17:30:39 -06:00
Steven R. Loomis
f7f40a2bb8 fix(core): ldml: fix spelling of maqtugħa 🙀
- maqtua should be maqtugħa (cut) but spelled as maqtugha where used as an NMTOKEN
2022-12-30 17:01:48 -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
bc14f18460 Merge remote-tracking branch 'origin/master' into chore/core/mergemaster4-epic-ldml 2022-12-15 17:55:13 -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
Joshua A. Horton
f8b763b270 chore(web): Merge branch 'master' into chore/web/top-level-build-script-rework 2022-11-28 10:06:16 +07: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
Joshua A. Horton
52e005a5ca chore(web): Merge branch 'master' into chore/web/top-level-build-script-rework 2022-11-22 12:20:18 +07:00
Joshua Horton
71e12a7ced
chore(web): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-11-21 08:26:48 +07: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
Joshua A. Horton
84d5b00bf1 fix(web): osk key text scaling 2022-11-17 15:16:56 +07: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
Darcy Wong
7fe850c603
Merge pull request #7652 from keymanapp/fix/web/polyfill-find-index
fix(web): Add polyfill for Array.findIndex()
2022-11-09 07:18:36 +07:00
Darcy Wong
7d265b5f42
Merge pull request #7646 from keymanapp/fix/web/polyfill-includes
fix(web): Add polyfill for Array.includes()
2022-11-09 07:18:19 +07:00
Marc Durdin
d7fbdfc59a
Merge pull request #7617 from keymanapp/fix/developer/7616-inferred-key-text-stability
fix(developer): improve support for inferred key cap text
2022-11-09 05:14:44 +11:00
Darcy Wong
9baa77c015 fix(web): Add polyfill for Array.findIndex 2022-11-08 14:39:15 +07:00
Darcy Wong
e27b70d5a0 fix(web): Add polyfill for Array.includes() 2022-11-08 09:26:45 +07:00
Marc Durdin
88e5bb8cdd fix(web): doModifierPress was testing against wrong device
The doModifierPress function was testing against the 'actual' device
rather than the virtual device, which meant that in the web debugger on
a desktop, testing a touch device, it was effectively testing against
the desktop device data rather than the simulated touch device data.

I did not observe any significant differences in behaviour between the
two modes. So I am not 100% confident that this change is necessary. But
it is a little concerning that there was a mismatch here.
2022-11-07 07:01:50 +11:00
Marc Durdin
7255f1c7f7 fix(web): avoid reset for touch system keyboard
When using the touch 'system' keyboard, the modifier keys are reset by
the kbdMismatch logic introduced in #7543. This is evident in the web
debugger of Keyman Developer, where the system keyboard is easily
accessible.

This maintains the fix from #7543, but removes the `resetContext()`
side-effect.
2022-11-07 06:43:39 +11:00
Marc Durdin
238a8e9185 fix(developer): improve support for inferred key cap text
Fixes #7616.

Fixes a crash when attempting to infer key cap text from key id, and
cleans up the support for inferred key text so that it works correctly
in the designer.

Also adds a safeguard to KMW to stop invalid key ids causing a crash.
2022-11-04 06:18:24 +11: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