🌐 đŸ€– PragmataPro subsetten — 1,2 MB Font fĂŒr ~70 Glyphen #9

Closed
opened 2026-08-13 18:39:01 +02:00 by holm · 1 comment
Owner
Dimension Bewertung EinschÀtzung
Aufwand ███░░░░░░░ Gering-mittel — pyftsubset, Glyphenmenge bestimmen, in shell.nix aufnehmen
Nutzen ███████░░░ Hoch — Ladezeit auf Mobilfunk, Repo-GrĂ¶ĂŸe
BruchhĂ€ufigkeit ████░░░░░░ Mittel — jeder Handy-Aufruf ĂŒber Mobilfunk zahlt drauf
Nachhaltigkeit ███████░░░ Hoch — einmal im Build verankert, gilt fĂŒr alle kĂŒnftigen Rebuilds
Dringlichkeit ███░░░░░░░ Niedrig — funktioniert auch ohne, kostet nur Bytes

Problem

assets/PragmataProLiga-Bold.woff2 ist 1,2 MB und wird ausschließlich fĂŒr Display-Text verwendet: .eyebrow, h1, .subtitle2, .topbar, .byte .hex, .flag .k/.v. Das sind grob 70 verschiedene Glyphen — Hex-Ziffern, Großbuchstaben, Umlaute, ein paar Symbole (▾ · // [ ]).

Die drei Berkeley-Mono-Schnitte liegen bei je ~24 KB und sind unkritisch.

Wirkung

Auf dem Handy ĂŒber Mobilfunk wird der Font vor dem ersten sinnvollen Render gebraucht (font-display: swap mildert das, aber der Reflow bleibt sichtbar). 1,2 MB fĂŒr ~70 Zeichen ist ein Faktor von deutlich ĂŒber 100 gegenĂŒber dem Nötigen.

Ansatz

pyftsubset mit expliziter --unicodes-Liste, Ausgabe als woff2, Schritt in shell.nix verfĂŒgbar machen und im Rebuild-Pfad dokumentieren. Original-Font nicht ersetzen, sondern als PragmataProLiga-Bold.subset.woff2 daneben legen — damit bleibt nachvollziehbar, woraus subsettet wurde.

Zu prĂŒfen: ob die Lizenz Modifikation/Subsetting erlaubt. Bei Webfont-Lizenzen ĂŒblicherweise ja, aber das entscheidet Holm.

đŸ€– angelegt von Claude v00 (API/Token holm)

| Dimension | Bewertung | EinschĂ€tzung | |---|---|---| | Aufwand | `███░░░░░░░` | Gering-mittel — pyftsubset, Glyphenmenge bestimmen, in shell.nix aufnehmen | | Nutzen | `███████░░░` | Hoch — Ladezeit auf Mobilfunk, Repo-GrĂ¶ĂŸe | | BruchhĂ€ufigkeit | `████░░░░░░` | Mittel — jeder Handy-Aufruf ĂŒber Mobilfunk zahlt drauf | | Nachhaltigkeit | `███████░░░` | Hoch — einmal im Build verankert, gilt fĂŒr alle kĂŒnftigen Rebuilds | | Dringlichkeit | `███░░░░░░░` | Niedrig — funktioniert auch ohne, kostet nur Bytes | ## Problem `assets/PragmataProLiga-Bold.woff2` ist **1,2 MB** und wird ausschließlich fĂŒr Display-Text verwendet: `.eyebrow`, `h1`, `.subtitle2`, `.topbar`, `.byte .hex`, `.flag .k/.v`. Das sind grob 70 verschiedene Glyphen — Hex-Ziffern, Großbuchstaben, Umlaute, ein paar Symbole (`▾ · // [ ]`). Die drei Berkeley-Mono-Schnitte liegen bei je ~24 KB und sind unkritisch. ## Wirkung Auf dem Handy ĂŒber Mobilfunk wird der Font vor dem ersten sinnvollen Render gebraucht (`font-display: swap` mildert das, aber der Reflow bleibt sichtbar). 1,2 MB fĂŒr ~70 Zeichen ist ein Faktor von deutlich ĂŒber 100 gegenĂŒber dem Nötigen. ## Ansatz `pyftsubset` mit expliziter `--unicodes`-Liste, Ausgabe als woff2, Schritt in `shell.nix` verfĂŒgbar machen und im Rebuild-Pfad dokumentieren. Original-Font **nicht** ersetzen, sondern als `PragmataProLiga-Bold.subset.woff2` daneben legen — damit bleibt nachvollziehbar, woraus subsettet wurde. Zu prĂŒfen: ob die Lizenz Modifikation/Subsetting erlaubt. Bei Webfont-Lizenzen ĂŒblicherweise ja, aber das entscheidet Holm. > đŸ€– angelegt von Claude v00 (API/Token holm)
Author
Owner

Lizenzrecherche: Subsetting ist bei beiden Fonts untersagt

PrimÀrquellen gelesen, nicht aus dem GedÀchtnis:

Berkeley Mono — EULA „Personal/Developer" (Berkeley Graphics LLC, Dokument-ID DX-100-05, April 2023), verlinkt unter usgraphics.com/legal/licenses als Developer License. Passend zum gekauften MX-012 (License Tier: Developer).

§1.12 „Derivative Work" — means any changes to the binary content of the Licensed Software including but not limited to reorganizing, transforming, adapting, converting, re-encoding, digitizing, or modifying in any way regardless of the medium.

§8 — Derivative Work of the Licensed Software is strictly prohibited.

Die Plain-English-Zusammenfassung derselben EULA sagt es unmissverstĂ€ndlich: „You may not modify the fonts in any way."

PragmataPro — FSD-Lizenzbedingungen, fsd.it/shop/terms, Abschnitt 5.2 Prohibited Actions:

File format conversion between desktop, web, and app versions · Modifying the Software in any way

Bemerkenswert: derselbe Text erlaubt Subsetting an einer Stelle explizit — beim Einbetten in statische PDFs (5.1: „Embed fonts in static PDFs with subsetting"). FĂŒr Webfonts gilt die Erlaubnis nicht.

Konsequenz

Die 1,2 MB bleiben. Der Weg, sie zu drĂŒcken, wĂ€re eine Anfrage an FSD bzw. U.S. Graphics — nicht eine technische Lösung, die wir selbst bauen können.

Mildernd: font-display: swap ist gesetzt, der Font blockiert also kein Rendering, und bei Auslieferung ĂŒber fonts.assets.mueller.network mit langen Cache-Zeiten zahlt nur der erste Aufruf. Der Font wird zudem ausschließlich fĂŒr Display-Text gebraucht — die Seite ist ohne ihn vollstĂ€ndig benutzbar.

Geschlossen als Won't Fix: nicht weil es sich nicht lohnt, sondern weil die Lizenz es verbietet.

đŸ€– Kommentar von Claude v00 (API/Token holm)

## Lizenzrecherche: Subsetting ist bei **beiden** Fonts untersagt PrimĂ€rquellen gelesen, nicht aus dem GedĂ€chtnis: **Berkeley Mono** — EULA „Personal/Developer" (Berkeley Graphics LLC, Dokument-ID `DX-100-05`, April 2023), verlinkt unter [usgraphics.com/legal/licenses](https://usgraphics.com/legal/licenses) als *Developer License*. Passend zum gekauften `MX-012` (License Tier: Developer). > **§1.12 „Derivative Work"** — means any changes to the binary content of the *Licensed Software* including but not limited to reorganizing, transforming, adapting, converting, re-encoding, digitizing, or modifying in any way regardless of the medium. > > **§8** — *Derivative Work of the Licensed Software is strictly prohibited.* Die Plain-English-Zusammenfassung derselben EULA sagt es unmissverstĂ€ndlich: „You may not modify the fonts in any way." **PragmataPro** — FSD-Lizenzbedingungen, [fsd.it/shop/terms](https://fsd.it/shop/terms/), Abschnitt 5.2 *Prohibited Actions*: > File format conversion between desktop, web, and app versions · Modifying the Software in any way Bemerkenswert: derselbe Text erlaubt Subsetting an **einer** Stelle explizit — beim Einbetten in statische PDFs (5.1: „Embed fonts in static PDFs with subsetting"). FĂŒr Webfonts gilt die Erlaubnis nicht. ## Konsequenz Die 1,2 MB bleiben. Der Weg, sie zu drĂŒcken, wĂ€re eine Anfrage an FSD bzw. U.S. Graphics — nicht eine technische Lösung, die wir selbst bauen können. Mildernd: `font-display: swap` ist gesetzt, der Font blockiert also kein Rendering, und bei Auslieferung ĂŒber `fonts.assets.mueller.network` mit langen Cache-Zeiten zahlt nur der erste Aufruf. Der Font wird zudem ausschließlich fĂŒr Display-Text gebraucht — die Seite ist ohne ihn vollstĂ€ndig benutzbar. Geschlossen als *Won't Fix*: nicht weil es sich nicht lohnt, sondern weil die Lizenz es verbietet. > đŸ€– Kommentar von Claude v00 (API/Token holm)
holm 2026-08-13 18:43:00 +02:00
Sign in to join this conversation.
No description provided.