Skip to content

Plans on weights?#21

Open
qlufiq-collab wants to merge 1 commit into
calcom:mainfrom
qlufiq-collab:bounty/calcom/font-2
Open

Plans on weights?#21
qlufiq-collab wants to merge 1 commit into
calcom:mainfrom
qlufiq-collab:bounty/calcom/font-2

Conversation

@qlufiq-collab

@qlufiq-collab qlufiq-collab commented Jun 11, 2026

Copy link
Copy Markdown

Summary

Update the npm package entry point (index.css) and package manifest (package.json) to expose the full weight range (400–700) via the variable font. The previous configuration referenced a non-existent fonts/webfonts/ directory and only declared a single static SemiBold (600) weight — a leftover from v1 before weights were added.

Changes

  • index.css — Replace the single-weight static @font-face with a variable font declaration using font-weight: 400 700 range, sourcing from fonts/calsans-var-full/CalSans-VariableFont.woff2 (with TTF fallback).
  • package.json — Update "files" array to point to the actual variable font location (fonts/calsans-var-full/) instead of the non-existent fonts/webfonts/ directory.

Test Plan

  • python3 -c "import json; json.load(open('package.json'))" → valid JSON, exits 0
  • file fonts/calsans-var-full/CalSans-VariableFont.woff2 → confirms WOFF2 font file exists
  • Manual: consumers importing cal-sans now get all weights (Regular 400, Medium 500, SemiBold 600, Bold 700) through a single variable font file with font-optical-sizing: auto support

Notes

The variable font includes all axes (opsz, GEOM, wght, YTAS, SHRP, ital), giving npm consumers access to the full design space — not just weight. The font-weight: 400 700 range declaration enables the browser to use any weight in that range without additional @font-face rules.

Closes #2

## Summary

Update the npm package entry point (`index.css`) and package manifest (`package.json`) to expose the full weight range (400–700) via the variable font. The previous configuration referenced a non-existent `fonts/webfonts/` directory and only declared a single static SemiBold (600) weight — a leftover from v1 before weights were added.

## Changes

- `index.css` — Replace the single-weight static `@font-face` with a variable font declaration using `font-weight: 400 700` range, sourcing from `fonts/calsans-var-full/CalSans-VariableFont.woff2` (with TTF fallback).
- `package.json` — Update `"files"` array to point to the actual variable font location (`fonts/calsans-var-full/`) instead of the non-existent `fonts/webfonts/` directory.

## Test Plan

- `python3 -c "import json; json.load(open('package.json'))"` → valid JSON, exits 0
- `file fonts/calsans-var-full/CalSans-VariableFont.woff2` → confirms WOFF2 font file exists
- Manual: consumers importing `cal-sans` now get all weights (Regular 400, Medium 500, SemiBold 600, Bold 700) through a single variable font file with `font-optical-sizing: auto` support

## Notes

The variable font includes all axes (`opsz`, `GEOM`, `wght`, `YTAS`, `SHRP`, `ital`), giving npm consumers access to the full design space — not just weight. The `font-weight: 400 700` range declaration enables the browser to use any weight in that range without additional `@font-face` rules.

Closes calcom#2

Bounty: calcom#2
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.

Plans on weights?

1 participant