Release Font Tools v0.1.0

This commit is contained in:
2026-09-01 14:35:39 +02:00
commit 25ff321f2a
65 changed files with 10590 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
# Accessibility
The workbench is keyboard operable, preserves visible focus, labels every input,
announces load/subset results, exposes coverage as text and tables, and provides
system-font comparison samples. Colour never carries the only indication of a
missing glyph or blocked operation.
+12
View File
@@ -0,0 +1,12 @@
# Architecture
`core/sfnt.ts` validates SFNT/WOFF headers and table boundaries before parsing.
`font.worker.ts` owns the opentype.js instance and the source bytes; the UI only
receives bounded serializable inspection records. Each load gets a new worker,
and an unresponsive operation is terminated after eight seconds. Subsetting is
a separate worker command that rebuilds a static outline font from requested
Unicode glyphs only after OS/2 restrictions are checked.
React keeps the last successful inspection after errors. Font rendering occurs
in a scriptless sandboxed iframe. Relative assets and a same-origin service
worker support nested offline deployment.
+11
View File
@@ -0,0 +1,11 @@
# Privacy and security
Font bytes, preview text and generated output stay in memory. There is no
telemetry, URL import, remote font lookup or automatic upload. Explicit local
downloads are the only output. Parsing uses strict size/table/expansion/glyph
caps, a disposable worker and a deadline. User metadata is rendered as text;
preview HTML is escaped and confined to a scriptless sandbox.
The OS/2 `fsType` field is technical metadata, not legal advice. Font Tools
blocks subsetting when it declares restricted embedding, no-subsetting or
bitmap-only embedding, but users must still comply with the actual licence.