@tsuki/fonts (0.1.0)
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
@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).