mirror of
https://github.com/keymanapp/keyman.git
synced 2026-09-04 22:57:40 +00:00
The visual keyboard compiler was never finished in 17.0. This rewrites
it to:
1. Use the kmxplus data rather than reading from xml directly
2. Fill in `visualkeyboard.header.kbdname`
3. Support modifiers
4. Handle encoded characters like `\u{1234}`
5. Handle string variables like `${one}`*
Additional unit tests have been added to verify the behavior of the
visual keyboard compiler in more detail.
* String variable tests will be enabled in next commit (which is a
cherry-pick of #12404).
Other fixes:
1. The LDML XML reader was relying on its input being a Node.js `Buffer`
even though it was declared `Uint8Array`, as it implicitly used
`Buffer.toString()` to do text conversion. (`Buffer` subclasses from
`Uint8Array`). This breaks when using `Uint8Array` directly and means
we had an implicit dependency on Node.js. See also #12331.
2. XML errors were not captured in the LDML XML reader. See also #12331.
3. The unused and unfinished touch-layout-compiler.ts and
keymanweb-compiler.ts have been removed along with corresponding unit
tests and fixtures. These will be replaced by Core implementations;
see #12291.
Fixes: #12395
Cherry-pick-of: #12402
|
||
|---|---|---|
| .. | ||
| es-bundling | ||
| eslint | ||
| gesture-recognizer | ||
| input-processor | ||
| keyboard-processor | ||
| keyman-version | ||
| lm-message-types | ||
| lm-worker | ||
| recorder | ||
| sentry-manager | ||
| tslib | ||
| types | ||
| utils | ||
| .gitignore | ||
| build.sh | ||
| tsconfig.kmw-main-base.json | ||