A release after 20261019.1: a font is a handle the manifest binds, everywhere. A theme manifest that
binds FONT_1 to its own family changes the text set in FONT_1, and a document no longer has to
be opened and saved with a theme before it can be printed with it.
FONT_2, or family:<name>
for an uploaded or Google font), and the manifest says which family that handle is. A theme that
binds the handle to another family therefore changes this text too, as it already did for
converted text.textcommands.ts applyToSelection(): a font_family from the font menu is turned into
font_uuid through canvas's FontManager.reference_uuid(null, family), and the family is not
written into the run.docs/Embedding.md "Theme fonts": every family gets a handle, a missing one is a manifest entry
without a url, and step 4 (print with a theme) no longer asks to open and save with the theme.podsettingsdialog.ts swatch_chooser(): the button carries a colour chip only when
its options are swatches (cherry-picked from fix/pod-font-chooser-no-chip).debe5ff (from 7eb6795): canvas #195 (TYP-940), #196 and #194 (CI only).
#196 is a fix to #195 found in end-to-end testing: 9834772 wrote uuid into every rich
frame's default_font, which document-schema's RichText\Font does not model, so the publisher
refused every document saved with it and nothing printed. Public surface for hosts:
font_uuid and no font_family, laid-out
words carry font_uuid, the template carries layout_fonts ([{uuid, font_family, font_styles}]), and the manifest may hold fonts with url: null. All of it is in
document-schema since TYP-939, which every service carries.validate() no longer reports font_not_printed. The state it reported, a stored layout
naming a family the print cannot find, is removed by the relayout at print time. A host that
blocked orders on it gets nothing to block on.substitute_font() is uuid-only. font_handles() reports the uuid each reference speaks with.'', which recorded a
load error. A family a theme has since loaded is no longer reported as a font issue.CANVAS_SERVICE_URL set on x1;debe5ff (TYP-944 and its pin bump): the relayout
calls its /layout. ⚠️ Never with canvas 9834772: its layouts do not validate.