feat(common): embed .kvk, .keyman-touch-layout in .kmx
- Dominant language
- Pascal
- Stars
- 534
- Forks
- 143
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 113
Description
For web core, it would be ideal to embed .kvk and .keyman-touch-layout data into the .kmx. This would enable us to distribute a single .kmx file for web. Long term, we can deprecate having separate .kvk files also. For 18.0, only web core would use the metadata.
Questions:
* Binary format or embed json? (preferably binary, definitely do not embed XML)
* Unify touch layout and kvk? (yes)
* Can we just use the KMX+ tables? (yes)
Projects:
* add flag to .kmx to identify that file includes KMX+ OSK data
* design any other file format changes + document in schemas
* build conversion tool from kvks+keyman-touch-layout into a single ldml keyboard source, and pass that to ldml compiler to generate ldml tables
Notes:
* do not embed font data from these formats -- apps should use font data from kmp.json or other sideband metadata.
* consumption of these tables for desktop platforms is v20
See also:
* #12695
Contributor guide
Assessment
This issue has not been assessed yet.