Tsuki

@tsuki/fonts (0.1.0)

Published 2026-05-20 05:59:32 +00:00 by dev

Installation

@tsuki:registry=https://git.d-v.cc/api/packages/tsuki/npm/
npm install @tsuki/fonts@0.1.0
"@tsuki/fonts": "0.1.0"

About this package

Self-hosted IBM Plex (Sans, Serif, Mono × 400, 500) for the tsuki design system

@tsuki/fonts

Self-hosted IBM Plex for the tsuki design system. Six WOFF2 files — Sans, Serif, Mono × weights 400 and 500. No italics. No 600/700.

Install

# .npmrc
@tsuki:registry=https://git.d-v.cc/api/packages/tsuki/npm/
//git.d-v.cc/api/packages/tsuki/npm/:_authToken=${GITEA_NPM_READ_TOKEN}
pnpm add @tsuki/fonts

Use — import order matters

@import '@tsuki/fonts/css';   /* MUST come first: declares the @font-face families */
@import '@tsuki/tokens/css';  /* references the families via var(--font-sans) */

Non-negotiable. If tokens loads first, the body text briefly falls back to the system font stack while @font-face resolves.

For Tauri / Vite apps: the bundler copies the WOFF2 files into the app bundle automatically because fonts.css references them as relative URLs. No extra config.

What's included

Family Weight File
IBM Plex Sans 400 files/ibm-plex-sans-400.woff2
IBM Plex Sans 500 files/ibm-plex-sans-500.woff2
IBM Plex Serif 400 files/ibm-plex-serif-400.woff2
IBM Plex Serif 500 files/ibm-plex-serif-500.woff2
IBM Plex Mono 400 files/ibm-plex-mono-400.woff2
IBM Plex Mono 500 files/ibm-plex-mono-500.woff2

Each file is the "complete" WOFF2 from IBM's release: Latin1, Latin2, Latin3, Greek, Cyrillic, and Pi (math symbols). ~60–70 KB each.

Sourcing

Files copied verbatim from the official IBM Plex GitHub releases:

  • IBM Plex Sans 1.1.0 — @ibm/plex-sans@1.1.0
  • IBM Plex Serif 2.0.0 — @ibm/plex-serif@2.0.0
  • IBM Plex Mono 1.1.0 — @ibm/plex-mono@1.1.0

To refresh: re-download the corresponding .zip from https://github.com/IBM/plex/releases, extract complete/woff2/IBMPlex*-{Regular,Medium}.woff2, and overwrite files/. No build step.

Releasing

export GITEA_NPM_TOKEN=<your-gitea-personal-access-token>
npm version <patch|minor|major>
npm publish                       # honors publishConfig.registry
git push --follow-tags

The repo's .npmrc reads GITEA_NPM_TOKEN from the environment — never commit the token. The publishConfig.registry in package.json pins the publish target.

License

IBM Plex is licensed under the SIL Open Font License 1.1. The full license text is bundled at files/LICENSE-IBM-Plex.txt. If you redistribute these fonts, the OFL requires that you preserve the license and not sell the fonts standalone. Using them in a webapp or product (including commercial use) is fine and requires no attribution in the UI.

The tsuki wrapper itself has no license declared at v0.1 (internal use).

Details
npm
2026-05-20 05:59:32 +00:00
189
latest
361 KiB
Assets (1)
fonts-0.1.0.tgz 361 KiB
Versions (1) View all
0.1.0 2026-05-20