Commit graph

3841 commits

Author SHA1 Message Date
Marc Durdin
85cbc6adda
Merge pull request #13034 from keymanapp/fix/developer/12853-dont-list-js-keyboards-for-multi-keyboard-packages
fix(developer): don't list .js keyboards for multi-keyboard packages in kmc-keyboard-info
2025-01-24 14:05:25 +07:00
Marc Durdin
2760dcea20
Merge pull request #13020 from keymanapp/fix/developer/13017-escape-font-name-in-touch-layout-editor
fix(developer): escape font facename in touch layout editor
2025-01-24 13:16:17 +07:00
Marc Durdin
a689f65188 fix(developer): don't list .js keyboards for multi-keyboard packages in kmc-keyboard-info
Because the build process for multi-keyboard packages does not deploy
.js keyboards to s.keyman.com, it does not make sense to list them, even
if the package may contain .js keyboards for mobile platforms.

Fixes: #12853
2025-01-24 13:07:43 +07:00
Marc Durdin
0c15382c3f
Merge pull request #13003 from keymanapp/fix/developer/12980-context-index-mismatch-kmw-compiler
fix(developer): produce correct index parameter value for context in kmw compiler
2025-01-24 10:55:54 +07:00
Marc Durdin
7e30a9fd5c fix(developer): escape font facename in touch layout editor
Fixes: #13017
2025-01-24 10:46:32 +07:00
Marc Durdin
71ce8d6c91 chore(developer): extend notany tests in kmc-kmn 2025-01-24 08:56:21 +07:00
Marc Durdin
006bcc0942
Merge pull request #12984 from keymanapp/feat/developer/12983-copy-disorganized-projects
feat(developer): support copying disorganized projects in kmc-copy
2025-01-23 14:43:28 +07:00
Marc Durdin
85404a3291
Merge pull request #12982 from keymanapp/chore/developer/12981-check-for-filename-collisions-kmc-copy
chore(developer): report on filename collisions in kmc-copy
2025-01-23 14:43:18 +07:00
Marc Durdin
7f5f5b9b30
Merge pull request #12979 from keymanapp/chore/developer/12978-validate-output-folder-id-in-kmc-copy
chore(developer): validate output folder name in kmc-copy
2025-01-23 14:43:09 +07:00
Marc Durdin
ae148984b8
Merge pull request #12976 from keymanapp/feat/developer/12975-verbose-and-debug-log-levels
feat(developer): add 'verbose' and 'debug' log levels to kmc
2025-01-23 14:42:59 +07:00
Marc Durdin
7808396895
Merge pull request #12973 from keymanapp/chore/developer/12972-remove-rename-from-kmc-copy
chore(developer): remove '--rename' option from kmc-copy
2025-01-23 14:42:49 +07:00
Marc Durdin
11030358d5
Merge pull request #12971 from keymanapp/chore/developer/disable-icon-in-kmc-generate
chore(developer): stub out icon support in kmc-generate
2025-01-23 14:42:40 +07:00
Marc Durdin
4a99018f1b fix(developer): produce correct index parameter value for context in kmw compiler
The KMW compiler would produce incorrect indices for the corresponding
character in the context after adjusting for the presence of `nul` and
`if` statements at the start of the context string, when using the
`context` and `context(n)` statements in the output.

This fix addresses the offset calculation for those scenarios and adds a
unit test to verify that the new offsets are correct.

Fixes: #12980
2025-01-23 14:20:31 +07:00
Marc Durdin
b51f1213d9 feat(developer): support copying disorganized projects in kmc-copy
Fixes: #12983
2025-01-22 13:20:13 +07:00
Marc Durdin
ba8e5dc152 chore(developer): report on filename collisions in kmc-copy
Fixes: #12981
2025-01-22 12:32:33 +07:00
Marc Durdin
d4513a1d51 chore(developer): add new severity types to message command 2025-01-22 11:14:33 +07:00
Marc Durdin
62a2608013 chore(developer): add new severity types to message command 2025-01-22 11:10:54 +07:00
Marc Durdin
c6aa912655 chore(developer): validate output folder name in kmc-copy
Fixes: #12978
2025-01-22 10:58:01 +07:00
Marc Durdin
f9cb1927c9 chore(developer): cleanup tests with new verbose messages 2025-01-22 10:01:49 +07:00
Marc Durdin
b4e8912490
Merge pull request #12966 from keymanapp/chore/developer/12965-kmc-generate-test-basic-transform
chore(developer): add test for basic transform to kmc-generate
2025-01-22 09:03:05 +07:00
Marc Durdin
a08f1aca6e feat(developer): add 'verbose' and 'debug' log levels to kmc
Adds 'verbose' and 'debug' log levels and corresponding error severity
levels. This means the internal error severity values have changed to
match - 'info' is now 2 instead of 0.

Fixes: #12975
2025-01-22 08:58:13 +07:00
Marc Durdin
439ea0e4d1 chore(developer): remove '--rename' option from kmc-copy
An in-place rename is dangerous and destructive, so we won't support it.
2025-01-22 08:12:54 +07:00
Marc Durdin
06d09ae42a
Merge pull request #12962 from keymanapp/fix/developer/12961-kmc-generate-ldml-version-default
fix(developer): use 1.0.0 as default for ldml keyboards in kmc-generate
2025-01-22 07:48:03 +07:00
Marc Durdin
e90a5373b3
Merge pull request #12960 from keymanapp/chore/developer/12959-lexical-model-parameter-text
fix(developer): use correct terms in kmc-generate lexical model help
2025-01-22 07:47:40 +07:00
Marc Durdin
17a6d3c091
Merge pull request #12958 from keymanapp/chore/developer/12957-validate-ids-in-kmc-generate
chore(developer): validate keyboard and model IDs in kmc-generate
2025-01-22 07:47:24 +07:00
Marc Durdin
6372fe8f5e
Merge branch 'chore/developer/12965-kmc-generate-test-basic-transform' into chore/developer/disable-icon-in-kmc-generate 2025-01-22 07:45:56 +07:00
Marc Durdin
89813e11ad chore(developer): use path separator for non-Windows platforms in kmc-generate tests 2025-01-22 07:45:41 +07:00
Marc Durdin
edc8d00caf chore(developer): stub out icon support in kmc-generate
As icon generation turns out to be challenging due to limitations or
native dependencies in node.js libraries for image generation, icon
options are now stubbed out to avoid confusion.
2025-01-22 07:14:07 +07:00
Marc Durdin
e86ddc89a2 chore(developer): add test for basic transform to kmc-generate
Fixes: #12965
2025-01-21 15:58:19 +07:00
Marc Durdin
6f6316e79b fix(developer): use 1.0.0 as default for ldml keyboards in kmc-generate
Fixes: #12961
2025-01-21 13:58:37 +07:00
Marc Durdin
2dec427bd4 fix(developer): use correct terms in kmc-generate lexical model help
Fixes: #12959
2025-01-21 13:55:48 +07:00
Marc Durdin
c718a757f8
Merge pull request #12929 from keymanapp/fix/developer/12123-support-displaymap-font-in-web-debugger
fix(developer): support `&displayMap` font in web debugger
2025-01-21 13:52:55 +07:00
Marc Durdin
3ad0dec493 chore(developer): validate keyboard and model IDs in kmc-generate
Fixes: #12957
2025-01-21 12:41:52 +07:00
Marc Durdin
bda60eb39f chore(developer): validate targets parameter in kmc-generate
Fixes: #12954
2025-01-21 10:55:18 +07:00
Marc Durdin
60a88584e4
Merge branch 'master' into fix/developer/12123-support-displaymap-font-in-web-debugger 2025-01-20 15:14:45 +07:00
Marc Durdin
c191e57d9c
Merge pull request #12951 from keymanapp/fix/developer/12950-handle-dev-utils-deps-in-server-build
fix(developer): include developer-utils deps in server build
2025-01-20 15:14:11 +07:00
Marc Durdin
357d196181 chore(developer): use JQ variable in script 2025-01-20 14:11:42 +07:00
Marc Durdin
f407d9823d fix(developer): include developer-utils deps in server build
Fixes: #12950
2025-01-20 13:06:01 +07:00
Marc Durdin
11d92be941 chore: address review comments 2025-01-20 10:25:56 +07:00
Marc Durdin
d24f3477bd chore(developer): update binary_kvk_file test to make .kps more valid
The test .kps for binary_kvk_file tests was not very coherent, which
meant that it failed with the changes and additional consistency
checking included in this PR.
2025-01-20 10:06:25 +07:00
Marc Durdin
0b749a5df2 feat(developer): rewrite font data in .kvk from package metadata
When compiling a package, rewrite the font data in embedded .kvk files
to use the facename from the font referenced in OSKFont or DisplayFont.

This also does some safety checking for cross-references of the .kvk,
and the font data.

Fixes: #12912
2025-01-20 09:21:50 +07:00
Marc Durdin
45a6291a3e refactor(developer): move ttfInfo to developer-utils
We will need ttfInfo in kmc-package, so move it to the shared module.
2025-01-20 09:19:47 +07:00
Marc Durdin
7cb6be6a97 fix(developer): support &displayMap font in web debugger
Adds a new design-time font property for when `&displayMap` is in use in
a keyboard, so that the web debugger can use that font as appropriate.

If the keyboard does not have a `&displayMap` store, then the DisplayMap
font property is disabled, and the web debugger will use the OSK Font
instead, as previously was the case.

Note that the font for `&displayMap` has to be installed on the keyboard
author's system in order for it to be served up.

Fixes: #12123
2025-01-17 11:03:20 +07:00
Marc Durdin
0d2264c80c
Merge pull request #12909 from keymanapp/fix/developer/12852-filter-incorrect-fonts-from-keyboard-info
fix(developer): filter incorrect fonts out of .keyboard_info
2025-01-16 09:29:13 +01:00
Marc Durdin
b26d154658
Merge pull request #12895 from keymanapp/fix/developer/12870-detect-invalid-key-ids-in-touch-layouts
fix(developer): detect invalid key ids in touch layout files
2025-01-16 09:28:24 +01:00
Marc Durdin
67a1622c42 fix(developer): filter incorrect fonts out of .keyboard_info
The font collection code was somewhat wrong in kmc-keyboard-info. It
collected all fonts referenced in the package, even for multi-keyboard
packages, which meant that the .keyboard_info file listed all fonts for
all languages. Furthermore, if a font was referenced in multiple
language entries in the .kps, then it would be repeated for each
language in the .keyboard_info. This patch addresses both of these bugs.

The good news is that this makes some of the .keyboard_info files
smaller. In particular, fv_all.keyboard_info goes from 4675 lines down
to 695 lines!

Fixes: #12852
2025-01-16 11:04:22 +07:00
Marc Durdin
74f4392d75 fix(developer): detect invalid key ids in touch layout files
Fixes: #12870
2025-01-15 09:59:50 +07:00
Darcy Wong
e1ae48eaa2
Merge pull request #12876 from keymanapp/docs/developer/key-shortcuts
docs(developer): Clarify square brackets in `U_####[_####]` shortcut
2025-01-15 09:01:14 +07:00
Marc Durdin
d0a971901a
Merge pull request #12879 from keymanapp/fix/developer/12846-clarify-license-parameter
fix(developer): ensure license parameter is required and add tests
2025-01-15 01:57:09 +01:00
Marc Durdin
b5eb7fec46
Merge pull request #12838 from keymanapp/correct-http
chore: changes to use https and removes anchor in docs
2025-01-15 01:55:09 +01:00