Skip to content

feat(fonts): centralize UI font assets and loading policy in DDS - #127

Merged
jlc488 merged 3 commits into
mainfrom
fix/shared-family-font-artifact
Oct 29, 2026
Merged

jlc488 merged 3 commits into
mainfrom
fix/shared-family-font-artifact

Conversation

@jlc488

@jlc488 jlc488 commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

Consumers currently carry separate font archives and repeat preload/cache choices. Provide one DDS-owned font-only artifact that apps and static sites can pin without coupling their component framework versions.

The private generated package contains the existing 12 DDS UI font faces, three licenses, canonical font/fallback CSS and one manifest. Pure helpers select preloads and validate public font cache paths; the static exporter supplies the same generated files and metadata to Next/MkDocs adapters. The full Korean file, atomic family alias and optional loading policy are retained. Existing legacy font entry points and document/PDF fonts are unchanged.

There is no npm publication or release-version change. Consumers vendor the same integrity-pinned derivative with its DDS source commit and asset hashes. Application adapters retain their own output URLs and HTTP serialization while font selection/policy remains in DDS.

Validation: 15 related artifact/runtime tests pass locally; the file-symlink case is skipped on Windows without symlink privilege and is included in Linux CI. Tests cover deterministic bytes across LF/CRLF source text, all face/license hashes, unsafe/reserved output paths, metadata symlinks (including missing targets), response cache negative guards and bundle matching. Independent archive regeneration and source review are performed separately. Consumer type/build/browser checks remain tracked in the consuming PRs.

@jlc488
jlc488 marked this pull request as ready for review October 29, 2026 12:26
@jlc488
jlc488 merged commit 0c223d8 into main Oct 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant