Commit graph

33096 commits

Author SHA1 Message Date
Marc Durdin
4820f99503 chore(core): also build keyman-version as a prereq 2022-08-26 15:41:44 +10:00
Marc Durdin
b50d03b7d6 chore(developer): chmod build.sh 2022-08-26 15:26:36 +10:00
Marc Durdin
daf6a7970e feat(core): use kmldmlc to build test keyboards
Removes .kmx from repo and builds them from the source .xml files using
kmldmlc (building that if necessary also with a poor fella's dependency
check for now), and generally a lot of cleanup of the meson.build files
for the ldml tests.

Moves keyboards to a subfolder of the ldml unit test folder to keep them
neat and tidy and avoid embedding huge files into ldml.js for test of
WASM.

Note: 000_null_keyboard and 002_null_invalid do build successfully, but
the core ldml keyboardprocessor currently fails on them, because they
are missing keys and vkey sections.
2022-08-26 15:12:38 +10:00
Darcy Wong
dad52102d1
Merge pull request #7119 from keymanapp/fix/android/landscape-max-height
fix(android/engine): Lower the max height for landscape orientation
2022-08-26 08:24:09 +07:00
Marc Durdin
dc172cb981 chore(developer): robustness in ldml keyboard compiler 2022-08-26 09:06:12 +10:00
Marc Durdin
3c120ebae7 feat(developer): LDML keyboard XML Loader and Compiler
Implements basic LDML keyboard xml loader and compiler.
2022-08-26 08:51:15 +10:00
Marc Durdin
3865870114 chore(developer): add padding to loca and vkey 2022-08-26 05:23:11 +10:00
Marc Durdin
9756c28102 chore(developer): Merge branch 'feature-ldml' into feat/developer/ldml-compiler-kmxplus-builder 2022-08-26 05:17:05 +10:00
Marc Durdin
144025e29f
Merge pull request #7113 from keymanapp/revert-7112-revert-7110-feat/developer/ldml-constants-ts-module
feat(core): turn @keymanapp/ldml-keyboard-constants into a module 🙀
2022-08-25 14:13:41 -05:00
Marc Durdin
f49fd013a9
Merge pull request #7109 from keymanapp/feat/developer/ldml-compiler-kmx-builder
feat(developer): LDML compiler kmx-builder 🙀
2022-08-25 14:12:56 -05:00
Marc Durdin
85daf7d795
Merge pull request #7106 from keymanapp/feat/developer/ldml-compiler-kmx-structures
feat(developer): groundwork - kmx file structures 🙀
2022-08-25 14:12:46 -05:00
Steven R. Loomis
4c5f60ae22
Merge pull request #7125 from keymanapp/feat/core/7043-repadding 2022-08-25 13:54:59 -05:00
Steven R. Loomis
f7f909f904
Merge pull request #7124 from keymanapp/fix/core/7097-validate 2022-08-25 13:53:51 -05:00
Steven R. Loomis
190776ef9c
Update core/tests/unit/ldml/ldml.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-08-25 13:53:35 -05:00
Steven R. Loomis
a809fc86be
Update core/tests/unit/ldml/ldml.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-08-25 13:53:21 -05:00
Marc Durdin
7644ce668f chore(developer): cleanup for kmx-builder 2022-08-26 04:44:00 +10:00
Marc Durdin
420dc1c10c feat(developer): emit kmxplus format 2022-08-26 04:40:25 +10:00
Steven R. Loomis
af3bcd2a15 feat(core): ldml: padding for vkey and loca 🙀
- vkey and loca needed padding before the variable part
- add static asserts to validate this padding
- update sample files (null and tiny)

#7043
2022-08-25 12:54:52 -05:00
Steven R. Loomis
f7aeba5f01 feat(core): ldml: validator for kmxplus 🙀
- also update test case, 002_null_invalid is expected to not validate

#7097
2022-08-25 12:54:08 -05:00
Steven R. Loomis
2654a6f29a
Merge pull request #7118 from keymanapp/fix/core/7097-betternull
chore(core): update 000_null_keyboard to be a proper null keyboard 🙀
2022-08-25 12:10:19 -05:00
Eberhard Beilharz
7169723d54
fix(linux): Remove wrong ok_for_single_backspace method
The implementation of `ok_for_single_backspace` checked the current
action_item multiple times. However, we already know that that
item is `KM_KBP_IT_BACK` because the only place this method gets
called is from the `process_backspace_action` method. So basically
this method always returns `FALSE`. "Fixing" this method to check
the next action_items makes things fail.

Removing this method since it doesn't do anything except burn
processing cycles...

Fixes #5614.
2022-08-25 18:38:06 +02:00
Steven R. Loomis
43b3e3243e fix(core): ldml: emit nothing (no err) on unassigned keys 🙀
- also update test case

#7097
2022-08-25 11:22:19 -05:00
Sabine
097b9ed773 chore(developer): CheckFileNameConsistency changed to take KMX_WCHART const* (= wchar_t* const); used in compiler.cpp now 2022-08-25 12:21:44 +02:00
Joshua A. Horton
88e3c0a636 feat(web): subsegment compatibility, segment classification 2022-08-25 15:38:07 +07:00
Marc Durdin
23d9aad0a0 chore(developer): cleanup 2022-08-25 15:12:00 +10:00
Marc Durdin
4f05e009d3
Merge branch 'revert-7112-revert-7110-feat/developer/ldml-constants-ts-module' into feat/developer/ldml-compiler-kmxplus-builder 2022-08-24 21:40:45 -05:00
Marc Durdin
aed8f0d11a feat(developer): Write kmxplus section
Adds support for writing kmxplus section of a kmx file. Extends KMXFile
to a KMXPlusFile subclass. Adds KMXPlusBuilder which is called from
KMXBuilder if KMXBuilder finds that the file is a KMXPlusFile.

This means that KMXPlusBuilder generates a buffer that could be stored
independently of its parent .kmx file transport, if that is later
considered desirable.

Adds new constants for sizes of various table components, which makes
building the file much simpler.
2022-08-25 12:26:21 +10:00
Marc Durdin
e84bd590b0 chore: Merge branch 'feat/developer/ldml-compiler-kmx-builder' in 2022-08-25 08:42:23 +10:00
Marc Durdin
dc3e4c0d78 chore(developer): Merge branch 'feat/developer/ldml-compiler-kmx-structures' into feat/developer/ldml-compiler-kmx-builder 2022-08-25 08:41:51 +10:00
Marc Durdin
85814de84a chore(developer): Merge branch 'feature-ldml' into feat/developer/ldml-compiler-kmx-structures 2022-08-25 08:41:16 +10:00
Steven R. Loomis
7aac6a1747 chore(core): update 000_null_keyboard to be a proper null keyboard 🙀
- rewrite 000_null_keyboard.kmx to be valid, but with no keys
- remove outdated comment in kmx_plus.h
- update kmx_plus.cpp to not reverse the order of section ids (#7098)
- add a new test option for expected-error
2022-08-24 17:04:55 -05:00
Steven R. Loomis
ee34d89da3
Merge pull request #7116 from keymanapp/fix/core/7098-cxxfun2
fix(core): fixes for kmx_file rearrangement 🙀
2022-08-24 15:45:24 -05:00
Steven R. Loomis
eb5f1ad63c fix(core): fixes for kmx_file rearrangement 🙀
fix breaks in #7111 and prior

- try stdint.h instead of cstdint

#7098
2022-08-24 13:56:42 -05:00
Steven R. Loomis
b180ca844d fix(core): fixes for kmx_file rearrangement 🙀
fix breaks in #7111 and prior

#7098
2022-08-24 13:49:55 -05:00
Keyman Server
42a971845a
Merge pull request #7115 from keymanapp/auto/version-master-16.0.52
auto: increment master version to 16.0.52
2022-08-25 04:02:56 +10:00
Keyman Build Agent
c486486275 auto: increment master version to 16.0.52 2022-08-24 14:01:55 -04:00
Sabine
52d6629d58 Merge branch 'refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION' of https://github.com/keymanapp/keyman into refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION
# Conflicts:
#	developer/src/kmcmpdll/CheckNCapsConsistency.cpp
#	developer/src/kmcmpdll/UnreachableRules.cpp
#	developer/src/kmcmpdll/kmcmpdll.h

solved conflicts ( were only blanc lines)
2022-08-24 16:06:52 +02:00
Sabine
ec534ca898 chore(developer): removed #pragma once from wrong places, edited #includes 2022-08-24 16:01:06 +02:00
Sabine
296006de99 chore(developer): removed #pragma once from wrong places, edited #includes 2022-08-24 15:34:22 +02:00
Darcy Wong
987e2d37d2 fix(android/engine): Lower the max height for landscape orientation 2022-08-24 15:44:28 +07:00
Marc Durdin
6aeb20e77c
Revert "Revert "feat(core): turn @keymanapp/ldml-keyboard-constants into a module 🙀"" 2022-08-24 14:32:22 +10:00
Marc Durdin
b20bf55fee
Merge pull request #7112 from keymanapp/revert-7110-feat/developer/ldml-constants-ts-module
Revert "feat(core): turn @keymanapp/ldml-keyboard-constants into a module 🙀"
2022-08-23 23:26:57 -05:00
Marc Durdin
8ebae9515e
Revert "feat(core): turn @keymanapp/ldml-keyboard-constants into a module 🙀" 2022-08-24 14:26:44 +10:00
Marc Durdin
f5f1bfd004
Merge pull request #7111 from keymanapp/chore/merge-master-into-feature-ldml
chore: merge master into feature-ldml
2022-08-23 23:26:17 -05:00
Marc Durdin
040f35e995
Merge pull request #7110 from keymanapp/feat/developer/ldml-constants-ts-module
feat(core): turn @keymanapp/ldml-keyboard-constants into a module 🙀
2022-08-23 23:25:37 -05:00
Marc Durdin
bd8f89b3b2 chore: Merge branch 'master' into feature-ldml 2022-08-24 14:22:55 +10:00
Marc Durdin
fa28040643
Merge pull request #7100 from keymanapp/fix/core/7098-cxxfun
fix(core): ldml: remove 0-length arrays 🙀
2022-08-23 23:20:14 -05:00
Marc Durdin
eb48fb76f9
Update core/src/kmx/kmx_plus.cpp 2022-08-24 14:20:08 +10:00
Marc Durdin
5e296c98af feat(core): turn @keymanapp/ldml-keyboard-constants into a module
Splits the building of keyboardprocessor_ldml.h into a separate
tsconfig.build.json, and designates keyboardprocessor_ldml.ts as a new
Typescript/Node module @keymanapp/ldml-keyboard-constants.

Includes an example usage in the (currently unused) kmx-plus.ts.
2022-08-24 14:10:20 +10:00
Joshua A. Horton
dd3b33a16a refactor(web): debugging-assist infrastructure 2022-08-24 10:48:41 +07:00