Verify the 7segment font licence before redistribution #1

Closed
opened 2026-08-23 15:36:40 +02:00 by myrmidex · 2 comments
Owner

Context

7segment.woff is currently duplicated in at least three repos:

  • incr/incr/resources/fonts/7segment.woff
  • buckets-old and buckets-budget (referenced at /fonts/7segment.woff)
  • anagram-finder/web/resources/fonts/7segment.woff

Bundling it into a public package is a different act from keeping a copy in a private
project — it becomes redistribution. Many 7-segment display fonts are freeware-for-personal-use
or otherwise non-redistributable, so this needs checking before the package ships.

Its provenance is currently unknown. No licence file accompanies any of the copies.

Scope

  • Identify the font's origin and licence (likely candidates: DSEG, Seven Segment by Ceders,
    or a similar freeware face)
  • If redistributable (OFL, MIT, public domain): commit it with its licence file alongside,
    and record the source in the README
  • If not redistributable: do not ship it. Either
    • switch to a licence-clean alternative such as DSEG (OFL), or
    • keep .font-digital in the package but document that consumers supply their own font file

Why it blocks

This gates publishing the package (#2). It does not block defining the palette tokens.

Acceptance

  • Font licence identified and recorded
  • Either a licence file sits beside the font, or a replacement is chosen
  • README states the font's origin and terms
## Context `7segment.woff` is currently duplicated in at least three repos: - `incr/incr/resources/fonts/7segment.woff` - `buckets-old` and `buckets-budget` (referenced at `/fonts/7segment.woff`) - `anagram-finder/web/resources/fonts/7segment.woff` Bundling it into a **public** package is a different act from keeping a copy in a private project — it becomes redistribution. Many 7-segment display fonts are freeware-for-personal-use or otherwise non-redistributable, so this needs checking before the package ships. Its provenance is currently unknown. No licence file accompanies any of the copies. ## Scope - Identify the font's origin and licence (likely candidates: DSEG, Seven Segment by Ceders, or a similar freeware face) - If redistributable (OFL, MIT, public domain): commit it with its licence file alongside, and record the source in the README - If **not** redistributable: do not ship it. Either - switch to a licence-clean alternative such as [DSEG](https://github.com/keshikan/DSEG) (OFL), or - keep `.font-digital` in the package but document that consumers supply their own font file ## Why it blocks This gates publishing the package (#2). It does not block defining the palette tokens. ## Acceptance - [ ] Font licence identified and recorded - [ ] Either a licence file sits beside the font, or a replacement is chosen - [ ] README states the font's origin and terms
myrmidex added this to the v0.1.0 milestone 2026-08-23 15:36:40 +02:00
myrmidex added the
enhancement
label 2026-08-23 15:36:40 +02:00
myrmidex self-assigned this 2026-08-23 15:36:40 +02:00
myrmidex added a new dependency 2026-08-23 15:37:29 +02:00
Author
Owner

Resolved: SIL OFL 1.1 — redistributable

Identified from the font's own name table, then confirmed against the designer's page.

Name 7-Segment (PostScript Segment7), version 3.0
Designer Jan Bobrowski
Source http://torinak.com/7segment
Licence SIL Open Font License 1.1

Two independent sources agree:

  1. The WOFF name table — name ID 13 (LicenseDesc) = SIL OFL, name ID 9 (Designer) =
    Jan Bobrowski, name ID 12 (DesignerURL) = http://torinak.com/7segment. Decoded by
    decompressing the zlib'd name table out of the WOFF container.
  2. torinak.com/7segment states the font is released under the SIL OFL and links the canonical
    text at scripts.sil.org/OFL.

No replacement needed. The OFL exists precisely to permit this: bundling and
redistribution are allowed, including inside a published package, provided the licence text
travels with the font and the font is not sold standalone. DSEG is not required.

Condition to carry forward

OFL.txt must ship alongside 7segment.woff wherever it is redistributed — so it belongs in
the @lvl0/ui package's fonts/ directory, not just in the repo root, and must be included
in the published npm tarball (files in package.json).

Done in anagram-finder/web

  • resources/fonts/OFL.txt — canonical OFL 1.1 text (97 lines)
  • resources/fonts/README.md — attribution, source, and the redistribution condition

Both should be copied into this repo when #2 builds the package.

## Resolved: SIL OFL 1.1 — redistributable Identified from the font's own `name` table, then confirmed against the designer's page. | | | |---|---| | Name | 7-Segment (PostScript `Segment7`), version 3.0 | | Designer | Jan Bobrowski | | Source | http://torinak.com/7segment | | Licence | **SIL Open Font License 1.1** | Two independent sources agree: 1. The WOFF `name` table — name ID 13 (`LicenseDesc`) = `SIL OFL`, name ID 9 (`Designer`) = `Jan Bobrowski`, name ID 12 (`DesignerURL`) = `http://torinak.com/7segment`. Decoded by decompressing the zlib'd `name` table out of the WOFF container. 2. torinak.com/7segment states the font is released under the SIL OFL and links the canonical text at scripts.sil.org/OFL. **No replacement needed.** The OFL exists precisely to permit this: bundling and redistribution are allowed, including inside a published package, provided the licence text travels with the font and the font is not sold standalone. DSEG is not required. ### Condition to carry forward `OFL.txt` must ship alongside `7segment.woff` wherever it is redistributed — so it belongs in the `@lvl0/ui` package's `fonts/` directory, not just in the repo root, and must be included in the published npm tarball (`files` in `package.json`). ### Done in `anagram-finder/web` - `resources/fonts/OFL.txt` — canonical OFL 1.1 text (97 lines) - `resources/fonts/README.md` — attribution, source, and the redistribution condition Both should be copied into this repo when #2 builds the package.
Author
Owner

Font and licence now live here

fonts/7segment.woff and fonts/OFL.txt are in this repo, and the README documents the
origin, terms, and the redistribution condition. That satisfies this ticket's acceptance
criteria.

Open exposure until #2 lands

anagram-finder/web still ships its own copy of 7segment.woff at
resources/fonts/7segment.woff, and its OFL.txt was deliberately not kept there — the
licence text lives only in this repo now.

While that remains true, web redistributes an OFL font without the accompanying licence
text, which the OFL requires. web is a public AGPL repo and #2 there will publish a Docker
image containing the font.

Two ways to close it, in order of preference:

  1. #2 here — publish @lvl0/ui, then web imports it and deletes
    resources/fonts/ entirely. Font and licence travel together in the package. This is
    already on #2's acceptance list ("anagram-finder/web builds against the package with no
    visual change").
  2. Interim — if web publishes an image before #2 lands, put OFL.txt back beside the
    font in web until the migration.

Worth resolving before anagram-finder/web#2 builds a production image.

## Font and licence now live here `fonts/7segment.woff` and `fonts/OFL.txt` are in this repo, and the README documents the origin, terms, and the redistribution condition. That satisfies this ticket's acceptance criteria. ### Open exposure until #2 lands `anagram-finder/web` still ships its own copy of `7segment.woff` at `resources/fonts/7segment.woff`, and its `OFL.txt` was deliberately **not** kept there — the licence text lives only in this repo now. While that remains true, `web` redistributes an OFL font without the accompanying licence text, which the OFL requires. `web` is a public AGPL repo and #2 there will publish a Docker image containing the font. Two ways to close it, in order of preference: 1. **#2 here** — publish `@lvl0/ui`, then `web` imports it and deletes `resources/fonts/` entirely. Font and licence travel together in the package. This is already on #2's acceptance list ("`anagram-finder/web` builds against the package with no visual change"). 2. **Interim** — if `web` publishes an image before #2 lands, put `OFL.txt` back beside the font in `web` until the migration. Worth resolving before `anagram-finder/web#2` builds a production image.
Sign in to join this conversation.
No labels
bug
ci
docs
enhancement
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference: lvl0/ui#1
No description provided.