M4.97: SVG Options choose the encoding, SVG Tiny 1.2 and embedded font subsets

SVG export writes UTF-8, UTF-16 (big-endian with a byte order mark) or
ISO 8859-1 (other characters as character references) and SVG/SVGZ
open in any of them. The Tiny 1.2 profile (simplified) writes
presentation attributes only and leaves out filters, masks, blend
modes and symbols with warnings. embedFonts embeds the fonts type uses
as @font-face subsets of the characters used, honouring the fonts'
fsType (whole when subsetting is forbidden, left out when embedding
is). New options: encoding, profile, embedFonts (SVG Options dialog,
document.formats); document.serialize also returns dataBase64 for
non-UTF-8 files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bflatastic
2026-10-05 13:25:15 +07:00
co-authored by Claude Opus 5.5
parent eacc83e05b
commit fa3dcab411
17 changed files with 1138 additions and 46 deletions
Generated
+2
View File
@@ -4301,6 +4301,7 @@ dependencies = [
"resvg",
"serde",
"serde_json",
"skrifa 0.47.0",
"svgtypes 0.16.1",
"thiserror 2.0.21",
"usvg 0.48.1",
@@ -4338,6 +4339,7 @@ dependencies = [
"kurbo 0.13.1",
"log",
"skrifa 0.47.0",
"subsetter",
"vectorcraft-doc",
"vectorcraft-geom",
]