You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Embedded TrueType variable fonts lose weights on import #850
Bento lets users pick fonts using the Embed Font file feature. This makes the font an embedded font asset, and when used gets injected, into the shell.
When you pick True type font with variable width fonts, the model ends up losing font weight ranges that the font supports.
For e.g. if you pick Google Sans1 - the embedded WOFF supports a weight range of 100 900, but we default to normal which gets mapped to 400. Additionally, when you use Bold you get the browser faux bold version, and its hard to tell the difference unless have a keen eye.
Workaround
The workaround is that the underlying Bento model allows you to specify exactly what range of weights is supported, so you can always override the defaults, by changing the JSON to something like:
If we cannot determine what weights are supported out of the box, we might want to warn the user to make sure they check. This is a really easy thing to miss.
Alternatively, if we can introspct the asset, and determine that it supports a weight range, just use that instead.
Steps to reproduce
Create a new Presentation
Embed a font resource that supports True Type variable fonts
Thanks @tikurahul, this was a really clear report, and the workaround in it pointed straight at the fix.
#851 makes "Embed font file…" read the weights from the font file itself. A variable font gets its full range, for example 100 900, so Bold uses the font's real bold instead of a synthesized one. A static font gets its own weight, and italic where the file says so. WOFF2 is covered too.
If you've already embedded Google Sans, embed it again once this lands and the weights will be picked up. No JSON editing needed.
Activity
nyblnet commentedon Oct 24, 2026
Thanks @tikurahul, this was a really clear report, and the workaround in it pointed straight at the fix.
#851 makes "Embed font file…" read the weights from the font file itself. A variable font gets its full range, for example
100 900, so Bold uses the font's real bold instead of a synthesized one. A static font gets its own weight, and italic where the file says so. WOFF2 is covered too.If you've already embedded Google Sans, embed it again once this lands and the weights will be picked up. No JSON editing needed.
slides: an embedded font is declared with the weights it has (#850) (#…