spiegel-keyman/developer/docs/internal
Marc Durdin 2e38a50522
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
change(common): remove drafted font metadata from KMX+ format
This comes out of a design philosophy review on what we include when we
embed OSK data into KMX.

We will now avoid embedding font name into the OSK (and hence .kmx)
altogether, and leave that metadata to the packaging data. Reasons:

1. The font information is specified in the .kps, so we have to do a
   patchup on the .kmx during packaging if we want to embed the info
   into the OSK.

2. The referenced font must be supplied separately anyway (via .kmp,
   @font-face, or system supplied, etc), so including the font facename
   in the keyboard is not really all that helpful.

3. Philosophically, the font is really a presentation level factor
   (aside from displaymap considerations). Keeping it together with
   future theming and styling choices, rather than the key layout data,
   seems appropriate.

4. This makes fewer places where font data is referenced -- in fact, to
   just one place: in the .kps/.kmp for LDML keyboards, which is great.

This also simplifies some aspects of the embed-osk-in-kmx work, removing
the need to patch the .kmx after the build, and eliminates the smelly
kmx-plus-osk-token.ts file.

A corresponding change has been made to the design document referenced
in #14857.

Test-bot: skip
2026-04-16 09:13:15 +02:00
..
developer-messaging.md chore(developer): rename x: to compileContext: 2025-06-26 15:58:43 -05:00
keyman-touch-layout-to-kmx-plus.md change(common): remove drafted font metadata from KMX+ format 2026-04-16 09:13:15 +02:00
kvk-to-kmx-plus.md change(common): remove drafted font metadata from KMX+ format 2026-04-16 09:13:15 +02:00