Commit graph

79 commits

Author SHA1 Message Date
Steven R. Loomis
17a653fa19 chore(core): ldml update out of techpreview 🙀
- updates to support techpreview -> 45
- test changes

Fixes: #10900
2024-03-02 22:40:39 -06:00
Steven R. Loomis
8975a38109 chore(common): ldml update out of techpreview 🙀
- updates to support techpreview -> 45

Fixes: #10900
2024-03-02 22:40:38 -06:00
Steven R. Loomis
f2082d79a6 feat(developer): ldml marker normalization in ts 🙀
- cleanup and move marker_no_index into the shared area

For: #10317
2024-01-19 18:07:51 -06:00
Steven R. Loomis
a8e2be5e9e chore(developer): ldml update to prefinal v44 🙀
- more tweaks

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-25 15:40:24 -05: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
Marc Durdin
a1d7095c58
Merge pull request #9681 from keymanapp/chore/common/9262-cleanup-final-non-esm
chore(common): cleanup final Typescript non-ESM metadata
2023-10-06 13:37:54 +11:00
Marc Durdin
d4e4992714 chore(common): cleanup final Typescript non-ESM metadata
Fixes #9262.
2023-10-04 12:55:51 +07: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
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
6a54ebdd57 feat(developer): ldml scancodes 🙀
For: #9403

- read implied imports for scancodes
2023-09-22 15:20:20 -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
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
e010b6a5bc feat(core): limit max marker to 0xD7FF 🙀
- to avoid mismatched surrogate pairs in markers

For: #9119
2023-08-09 14:54:37 -05:00
Steven R. Loomis
6632aafeec spec(core): update per code review 🙀
- keep 'deadkey' out of the ldml code
- other renames

For: #9119
2023-08-03 19:00:21 -05:00
Steven R. Loomis
d53ae69299
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-08-03 18:56:05 -05:00
Steven R. Loomis
913cb5d18a
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-08-02 18:55:22 -05:00
Steven R. Loomis
2a818b1ede spec(core,developer): update marker spec 🙀
- use UC_SENTINEL CODE_DEADKEY …
- use U+FFFE for any marker
- add asserts between .ts and C++
- update generation

For: #9119
2023-08-02 18:04:48 -05:00
Steven R. Loomis
2211900e5f feat(common): marker - move values into constants 🙀
- constants need to be shared with C++

#9119
2023-07-29 16:15:55 -05:00
Steven R. Loomis
ebcccbe0ef feat(core): rearrange elem flags 🙀
- per review comments, make the elem flags clearer

For: #7377
2023-07-03 18:20:59 -05:00
Steven R. Loomis
88650e2085 feat(developer): uset in element string 🙀
- fix uset builder and other missing uset parts
- basic.xml passes
- update to constants

Fixes: #7377
2023-06-30 17:27:04 -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
518fcd8fc2 feat(developer): tran: compiler path complete 🙀
- still doesn't actually precompile vars or regex

For: #7377
2023-05-19 19:09:44 -05:00
Steven R. Loomis
c4fe843655 feat(common,developer): remove ordr and finl, add vars 🙀
- vars tests, doesn't pass yet
- tran tests and compilers stubbed out for now

For: #7377
2023-05-11 10:41:37 -05:00
Steven R. Loomis
284b062811 spec(core): update to spec for transforms and vars 🙀
- updates to constants .ts/.h
- doc updates

For: #7377
2023-05-11 10:41:37 -05:00
Marc Durdin
3265a714f2 chore(common): add missing deps and files for npm publish
The build/ folder for most packages was missing due to being listed in
.gitignore.

Also, @keymanapp/ldml-keyboard-constants package was not being published
despite being a dependency of @keymanapp/kmc-keyboard.

Instead of relying on npm's use of .gitignore / .npmignore (which has
seriously wonky behaviours), we list the files that should be included
in package.json.

NPM Wonky behaviours: it seems that .npmignore causes .gitignore in the
same folder to be ignored. But, higher level .gitignore files still
affect the files included in the package, which makes
specification-by-exclusion painful (negating exclusions, etc). We do not
recommend use of .npmignore anywhere for this reason.
2023-04-12 14:05:05 +07: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
dd9be17228
Update core/include/ldml/keyboardprocessor_ldml.ts
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-02-18 09:32:58 -06:00
Steven R. Loomis
8ea87aa828 feat(common): ldml: merge keys into key2 🙀 2023-02-16 12:29:19 -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
8d6366921b
Update core/include/ldml/keyboardprocessor_ldml.ts
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-02-07 17:04:09 -06:00
Steven R. Loomis
5e445b32a1 feat(developer): ldml: modifier key updates 🙀
- per review comments
- drop opt, cmd, and shiftL/shiftR

For: #7533
2023-02-06 15:47:18 -06:00
Steven R. Loomis
af10312f84 feat(common): ldml modifier support 🙀
- spec: update spec for layr.mod field
- core/include/ldm: update constants
- bitfield modelled after s_modifier_names[]  / LCTRLFLAG etc.
- new test case k_004_tinyshift, also update k_010_mt
- update const builder to ignore all *_map properties
- split utility out to utils, add test

For: #7533
(cherry picked from commit 0346bea488)
2023-02-03 18:54:22 -06:00
Steven R. Loomis
ed30de2642 feat(core): ldml: add cldr version to constants 🙀
- also improve constant builder
- also fix build.sh so it uses sourcemaps

supports #7964
2023-01-27 12:45:00 -06:00
Steven R. Loomis
d7ce2191bf feat(core): ldml: make hardware be an enum 🙀
For: #7986
2023-01-19 12:24:47 -06:00
Steven R. Loomis
cbb5af2ae7 feat(core): ldml: Drop padding: common,core 🙀
- also add some checking in the builder
- add a Constants.str_section_id() for debugging
- update basic.txt

For: #7987
2023-01-09 16:35:47 -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
63fa53a028 feat(core): ldml: updates to basic.txt and builders 🙀
- layr now passes comparison

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-12-20 17:05:29 -06:00
Steven R. Loomis
b036fc5840 feat(core): ldml: basic: updates to basic.txt for layr 🙀
- key2 now passes!
- starting on layr

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #753
2022-12-16 17:53:14 -06:00
Steven R. Loomis
02ab5b5851 feat(core): ldml: correct length of list 🙀
For #7532
2022-11-17 14:17:27 -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
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
bf45412b72 feat(core): ldml: add constants for disp 🙀
For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532

depends on #7566
2022-11-02 13:36:24 -05:00
Steven R. Loomis
2d888ecfe2 fix(core): ldml: fix const builder 🙀
- fix tsconfig per review comments
- update builder to compile again
- add some err checking

#7566
2022-11-02 13:33:00 -05:00
Steven R. Loomis
8bfa0bbfcd fix(core): ldml: fix const builder 🙀
- fix config
- Add .js to the import statement
(not a great fix)

Fixes #7566
2022-10-28 18:25:56 -05:00
Marc Durdin
9af8e1f9c2 chore(core): ldml-keyboard-constants module type to esm 2022-09-20 08:01:22 +10:00
Marc Durdin
19f7e5353b chore(core): changes ldml tsconfig to es2020 🙀
Also splits the root tsconfig.json into tsconfig.cjs.json and
tsconfig.esm.json. These are not typically used at present but in theory
you could do a `tsc -b <tsconfig.x.json>` and build all modules. In
practice, we still have some prebuild steps that make that a bit of a
pain.
2022-09-20 06:49:56 +10:00