Repository navigation
Releases: suzheng/k2f
Releases · suzheng/k2f
Release list
v0.3.3
[0.3.3] - 2026-10-15
Added
CONTENT_OVERFLOWcompile warning when text or a child box paints past a fixed or{fr}cell, a clamped stack, orcolumns. Warning only — pack still succeeds.FONT_SYNTHETICwarns when bold/italic stays synthetic while a same-family Bold/Italic file is embedded and not selected.
Fixed
init_package.py --fontremoves the replaced family's license files and copies a siblingOFL.txt/LICENSEwhen the new font has one.--font/--add-fontfillfont_facesfor same-family-Bold/-Italic/-BoldItalicfilenames next to-Regular.- SVG images rasterize at the destination pixel size (the viewer paint scale, and 4 px per pt of the image box for PDF, DOCX, PPTX, and IDML) instead of the SVG file's own pixel size scaled up with nearest-neighbor. Lock hashes are unchanged; reopen or re-export to pick up sharper lines.
v0.3.2
[0.3.2] - 2026-09-28
Added
- Desktop reader: in-app editing, file reload/watch, popover chrome, form fill, discard/save flows, and layout fixes. Packaged preview builds remain on k2f.dev/download.
- PDF export: effect-slice rasterization for blur, shadows, gradients, and translucent fills (scale 2–4; default 4). Non-effect pages stay vector outlines with text rendering mode 3.
Changed
- Project status docs: desktop reader listed under Preview; signing/notarization stay on the roadmap.
v0.3.1
Patch release focused on DOCX, PPTX, and IDML export fidelity (gallery-tested), plus embedded fonts and host-specific layout fixes.
See CHANGELOG.md for the full list.
v0.3.0
[0.3.0] - 2026-09-18
Added
- Pack/compile/raster reject SVG live text with
SVG_TEXT(notIMAGE_SIZE). Still fail-closed; put labels in a K2F text node or convert to<path>. - List markers and code blocks use the same package-font coverage fallback as body text.
- Skill catalog: OFL
NotoSerif-Regular.ttffor serif headings or body (--add-font catalog/assets/fonts/NotoSerif-Regular.ttf, then retarget rolefont_family). Starter stays Roboto-only; no cross-family fallback. k2f export-idml <package> -o <out-dir>— InDesign package ({stem}.idml+Document Fonts/).-o file.zipwrites the same tree zipped;--idml-onlywrites a lone.idml. The IDML ZIP still does not contain TTF bytes. IDML is not a K2F source (IDML_IS_NOT_A_SOURCE).- Role/variant
image_fit(containdefault, orcovercenter-crop). An image node's owncorner_radiusclips that bitmap. PPTX/DOCX emita:srcRect+roundRect; IDML uses FillProportionally + frame corners.
Changed
- Root
layoutofgrid/overlay/columns/ horizontalstackis a compile error (was a silent vertical-flow fallback for horizontal). Nest under a child. Catalogex_*.jsonare children — do not replacecontent/root.json.
Fixed
export-docx/export-pptx: lock paint already applied themeemphasis(includingemphasis→ italic) is not remapped to bold. Overlaying every non-italicintent as bold made true-italic runs export as bold-italic. Empty-paint fallback still bolds default emphasis.list_itemwith a partiallist_style(for example onlybullet_glyph) compiles by merging starter defaults. Explicit0still wins; schema fields stay optional.
v0.2.4
Summary
DOCX/PPTX export fidelity, desktop reader pinch-zoom / copy-all, and web viewer display-scale LOD.
See CHANGELOG.md for the full list.
Packages
- crates.io:
k2f,k2f_sdk, … - npm:
@openk2f/k2f@0.2.4 - PyPI:
k2f==0.2.4