Skip to content

feat(website): add shared font converter and optimizer workbench#1197

Draft
ayuhito wants to merge 2 commits into
mainfrom
feat/font-tools-workbench
Draft

feat(website): add shared font converter and optimizer workbench#1197
ayuhito wants to merge 2 commits into
mainfrom
feat/font-tools-workbench

Conversation

@ayuhito

@ayuhito ayuhito commented Jul 20, 2026

Copy link
Copy Markdown
Member

Summary

  • replace the standalone converter UI with one shared converter and optimizer workbench
  • add a dedicated /tools/optimizer entry point while keeping both tools connected through the same interface
  • support multi-family batches, large file sets, output customization, progress, per-family results, and local ZIP downloads
  • extend the core build path to normalize compressed input, preserve all characters and variable axes, and prevent distinct fonts from overwriting the same output filename
  • add the optimizer to the tools index, sitemap, metadata, and prerendered routes

Why

Conversion and webfont optimization share most of the same file inspection, format selection, processing, and download workflow. Keeping them in one workbench removes duplicate UI and processing logic while still giving each task a focused, indexable route.

All font processing remains local to the browser. The optimizer defaults to WOFF2 and ready-to-use CSS, while the converter keeps direct format conversion as its simpler default.

User impact

  • users can switch between conversion and optimization without relearning the interface
  • large batches are grouped by family and remain manageable through progressive disclosure
  • TTF, OTF, WOFF, and WOFF2 inputs can be rebuilt into full-character webfont packages
  • generated CSS supports configurable font-display and font paths
  • conflicting source faces fail explicitly instead of silently overwriting an output file

Validation

  • pnpm --dir packages/core test:unit — 102 tests passed
  • pnpm --dir website typecheck
  • pnpm check
  • pnpm --dir website build — including prerendered /tools, /tools/converter, and /tools/optimizer
  • manual browser walkthroughs of converter and optimizer empty, upload, settings, processing, result, mobile, invalid-file, variable-font, and 32-file states

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 20, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
fontsource-api e5fb196 Jul 20 2026, 08:06 AM

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 20, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
fontsource-website e5fb196 Commit Preview URL

Branch Preview URL
Jul 20 2026, 08:07 AM

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