Commit graph

3102 commits

Author SHA1 Message Date
Meng-Heng
be78b58df1 docs(developer): context help in keyboard-editor section
Fixes: #2131
2024-06-11 14:36:19 +07:00
Joshua A. Horton
fb67d1ddf5 fix(developer): fix include paths
Backslashes in paths are Windows-only, may have caused recent *nix CI-build failures.
2024-06-10 13:58:17 +07:00
Dr Mark C. Sinclair
6ffbe9a80a chore(developer): Merge branch 'master' into test/developer/kmcmplib-compiler-unit-tests
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2024-06-08 13:26:19 +01:00
Dr Mark C. Sinclair
f1ad109b6f chore(developer): add comment on deadkeys 2024-06-08 13:09:47 +01:00
Dr Mark C. Sinclair
467b768ef0 chore(developer): replace type int literals in GetXStringImpl test names with char names 2024-06-08 12:50:50 +01:00
Dr Mark C. Sinclair
cdb71f4329 chore(developer): add initFileKeyboard() method 2024-06-08 12:36:11 +01:00
Dr Mark C. Sinclair
c1d5d45b8f chore(developer): generalise googletest line in .gitignore 2024-06-08 12:20:58 +01:00
Marc Durdin
c6d298d737
Merge pull request #11737 from keymanapp/feat/developer/support-language-reference-in-context-help
feat(developer): support language reference in context help
2024-06-08 10:46:47 +10:00
Marc Durdin
577986bb50
Merge pull request #11523 from keymanapp/chore/common/8399-cleanup-meson-warnings
chore(common): cleanup meson deprecations and warnings
2024-06-08 10:46:41 +10:00
Marc Durdin
eb0fff2363
Merge pull request #11717 from keymanapp/fix/developer/11715-prevent-two-touch-layout-editors-opening-for-same-file
fix(developer): prevent two touch layout editors opening for the same file
2024-06-08 10:44:31 +10:00
Dr Mark C. Sinclair
2ad8a76a9d chore(developer): delete commented out code 2024-06-07 19:04:26 +01:00
Dr Mark C. Sinclair
f4dabd1ccc chore(developer): add fileKeyboard fixture and initFileKeyboard() method 2024-06-07 18:14:32 +01:00
Dr Mark C. Sinclair
e3b18d3800 chore(developer): add initGlobals() method 2024-06-07 12:09:55 +01:00
Dr Mark C. Sinclair
f5a7d73c73 chore(developer): moved CompMsg.cpp refactor to fix #11738 2024-06-07 11:26:26 +01:00
Marc Durdin
1a3828d6c2 feat(developer): support language reference in context help
Adds support for `<LanguageReference Name='keyword'>` in
contexthelp.xml.
2024-06-07 14:55:51 +07:00
Marc Durdin
e5638cef0d
Merge pull request #11711 from keymanapp/fix/developer/11710-handle-encoding-errors-when-loading-wordlists
fix(developer): handle encoding errors when loading wordlists
2024-06-07 16:40:20 +10:00
Marc Durdin
49b0fd2388
Merge pull request #11707 from keymanapp/chore/developer/11706-add-extra-logging-for-backspace-assertion
chore(developer): add extra logging for assertion failure when pressing backspace in debugger
2024-06-07 16:39:58 +10:00
Marc Durdin
63a40e9934
Merge branch 'master' into context/new-model-project-parameters 2024-06-07 08:35:04 +07:00
Marc Durdin
4a7b766241
Merge pull request #11658 from Nnyny/context/wordlist-editor
chore(developer): add context/wordlist-editor
2024-06-07 08:34:09 +07:00
Marc Durdin
e1879deb96
Merge pull request #11656 from Nnyny/context/character-map
chore(developer): add context/character-map
2024-06-07 08:34:00 +07:00
Marc Durdin
6665cd0688
Merge pull request #11701 from keymanapp/fix/developer/11700-disable-example-edit-controls-if-no-examples
fix(developer): disable example edit controls if no examples in Package Editor
2024-06-06 12:05:04 +07:00
Marc Durdin
7eba4f9a69
Merge pull request #11698 from keymanapp/fix/developer/11687-ignore-javascript-files-with-bad-encodings
fix(developer): treat js files with unrecognized encodings as non-keyboard files
2024-06-06 12:04:49 +07:00
Marc Durdin
c6b5afda7d
Merge pull request #11587 from keymanapp/fix/developer/11586-handle-editor-init-after-debugger
fix(developer): handle editor initializing after debugger when setting execution point
2024-06-06 12:04:39 +07:00
Marc Durdin
33d7dca155 fix(developer): prevent two touch layout editors opening for the same file
The keyboard editor has a complex edit state machine, which has
grown a lot over time. This is a minimal patch to address one specific
edge case scenario on that state machine, without any attempt to improve
the state machine overall. The biggest change here is bubbling failure
up to the main form so that it can destroy (aka Release, which is an
asynchronous destroy) the editor window if it fails to load completely.

Fixes: #11715
Fixes: KEYMAN-DEVELOPER-1JC
2024-06-06 10:45:44 +07:00
Marc Durdin
dbf577bb9a fix(developer): handle encoding errors when loading wordlists
Fixes: #11710
Fixes: KEYMAN-DEVELOPER-1S4
2024-06-06 09:21:40 +07:00
Marc Durdin
52093720f4 chore(developer): add extra logging for assertion failure when pressing backspace in debugger
I have not been able to reproduce this problem, so adding some extra
debug logs in an attempt to determine what is causing the assertion
failure.

Relates to: #11706
2024-06-06 08:54:38 +07:00
Marc Durdin
6fba7c0159 fix(developer): disable example edit controls if no examples in Package Editor
Fixes: #11700
Fixes: KEYMAN-DEVELOPER-1FT
2024-06-06 08:14:12 +07:00
Marc Durdin
50b28ff3ff fix(developer): treat js files with unrecognized encodings as non-keyboard files
Fixes: KEYMAN-DEVELOPER-201
Fixes: #11687
2024-06-06 06:51:11 +07:00
Nnyny
983aea1ba5 add context/new-model-project-parameters 2024-06-04 14:48:10 +07:00
Dr Mark C. Sinclair
cb9f5fe6de chore(developer): fix for failing wasm build 2024-06-03 16:30:09 +01:00
Dr Mark C. Sinclair
f8cda0ae28 chore(developer): correct TODO comment in type 1 & 2 GetXStringImpl tests 2024-06-03 11:38:43 +01:00
Dr Mark C. Sinclair
c0e298d2bd chore(developer): Merge branch 'master' into test/developer/kmcmplib-compiler-unit-tests
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2024-06-03 11:09:30 +01:00
Marc Durdin
e6d59fc173 chore: move xml2js into the repo to eliminate npm git dependency
Small rewrites to the xml2js code as ES6 modules. Based on
https://github.com/keymanapp/dependency-node-xml2js

Fixes: #8616
2024-06-03 16:07:29 +07:00
Nnyny
423aa7ab94 add context/wordlist-editor 2024-06-03 15:36:07 +07:00
Marc Durdin
b874de25e8 chore: replace git dep on restructure with 3.0.1 in npm
3.0.1 includes our fix. However, 3.0.2 does not yet appear to have been
published, which has a patch for our fix?

Fixes: #8616
2024-06-03 14:58:39 +07:00
Nnyny
8608a26701 add context/character-map 2024-06-03 14:40:57 +07:00
Marc Durdin
b22bf72a91
Merge pull request #11575 from keymanapp/fix/developer/11573-save-selection-when-loading-state
fix(developer): save touch layout editor selection when loading state
2024-06-03 05:42:14 +07:00
Marc Durdin
26f68d0a35
Merge pull request #11635 from keymanapp/chore/developer/11632-increase-timeout-for-compiler-test
chore(developer): increase timeout for kmc-ldml compiler test
2024-06-01 06:19:44 +07:00
Marc Durdin
9e4b5b7b6f
Merge pull request #11633 from keymanapp/fix/developer/11625-support-windows-and-unicode-font-names
fix(developer): support Windows and Unicode names in .ttf
2024-06-01 06:19:36 +07:00
Marc Durdin
aeac822e51
Merge pull request #11631 from keymanapp/fix/developer/11630-bundle-ttfmeta-dependency-internally
fix(developer): bundle ttfmeta library internally with kmc-keyboard-info
2024-06-01 06:19:26 +07:00
Marc Durdin
e622c1ba1b
Merge pull request #11629 from Nnyny/context/debug
chore(developer): add context/debug
2024-05-31 15:50:35 +07:00
Marc Durdin
75d39069ec chore(developer): increase timeout for kmc-ldml compiler test
Fixes: #11632
2024-05-31 15:44:40 +07:00
Marc Durdin
f9fa1a685e fix(developer): support Windows and Unicode names in .ttf
The ttfmeta library is extremely rudimentary. It does next to no error
checking, and supports only a small part of the TTF spec. It did not
support NAME platforms 0 or 3 (the most common platform, Windows), and
these are encoded in UTF-16BE. This patch adds support for those
platforms and throws if an unsupported platform/encoding is encountered.

Now, the ttfmeta library is unsupported and gone (#11630). It is based
on another library, ttfinfo, last updated 11 years ago. This is not
great. But the other Node libraries that I located introduce further
dependencies or complex builds (e.g. WASM) and that's not great either,
for a function used only in one place in our build environment.

https://learn.microsoft.com/en-us/typography/opentype/spec/name

The test-font-family.ts runs a basic test against Lateef font, and has
a skipped test that can be run (with minor edits) against all fonts in
the keyboard repository. I have done this to verify that there are no
fonts that return errors, but have disabled this test for deployment for
now.

Fixes: #11625
2024-05-31 15:24:47 +07:00
Marc Durdin
76bd22b120 fix(developer): bundle ttfmeta library internally with kmc-keyboard-info
Remove ttfmeta from package.json, and copy only the relevant files into
ttfmeta/ under kmc-keyboard-info. This is a stopgap measure as we will
probably attempt to identify an alternate library in the future.

See also #11625 which is the driver for making this change now.

Fixes: #11630
2024-05-31 14:54:09 +07:00
Nnyny
2d9ffcc288 add context/debug 2024-05-31 14:27:15 +07:00
Marc Durdin
39509cc918
Merge pull request #11608 from keymanapp/chore/increase-fixture-build-test-timeout
chore: increase kmc-kmn build test timeout
2024-05-31 13:07:38 +07:00
Marc Durdin
db5e8929ed
Merge pull request #11582 from keymanapp/fix/developer/11581-flicks-for-default-key-hints
fix(developer): correct the inference of default hint from flicks
2024-05-31 13:07:07 +07:00
Marc Durdin
f7b3e70895
Merge pull request #11577 from keymanapp/fix/developer/11574-fixup-flick-multitap-in-layer-props
fix(developer): use correct variable when fixing up flick and multitap in Layer Properties dialog
2024-05-31 13:06:55 +07:00
Marc Durdin
c1db67a95c
Merge pull request #11563 from keymanapp/fix/developer/11562-handle-missing-data-in-kps-keyboard
fix(developer): handle missing data in .kps `<Keyboard>`
2024-05-31 13:06:36 +07:00
Marc Durdin
4e5b59f016
Merge pull request #11555 from keymanapp/fix/developer/11554-handle-invalid-default-project-path
fix(developer): handle invalid default project path in options
2024-05-31 13:06:19 +07:00