[GH-ISSUE #493] Use variable font files #6186

Closed
opened 2026-04-20 16:47:22 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @vikunja-bot on GitHub (Apr 1, 2025).
Original GitHub issue: https://github.com/go-vikunja/vikunja/issues/493

Original issue by dpschen on 2021-09-22T18:50:43.000Z

Subsequent to https://kolaente.dev/vikunja/frontend/pulls/759

For the future it might make sense to use variable fonts.
If interested read some stuff about them e.g. here first: https://variablefonts.io/about-variable-fonts/#opsz

We are lucky! Both fonts do exist in a variable editon:

After beeing optimized the variable fonts will be much smaller (since there is just one file per font). Older browser can keep the current fonts as fallback.

Additionally we could do stuff like animate font-weight when hovering, etc. with them.

Right now the linked fonts in the repos above are not optimzed so that's some stuff that needs to happen before it makes sense to use them. I researched a bit and this is what I found out:


What makes the variable font files, that I linked, large is that they have much more OpenType features enabled and a lot of glyphs for all kind of languages that are not (yet) used by Vikunja.

I guess it makes sense to align the features of the current included font file with the variable font.

By using Googles woff2 library with woff2_decompress font.woff2 I could open the curently used non-variable font files through FontDrop (because it just supports ttf files). I could find out that the only OpenType feature the OpenSans currently uses is ligatures. The currently used Glyphs are just the Latin unicode-range.

With Glyphhanger it should be no problem to subset the font to Latin and use only the ligatures OpenType features

Maybe it makes even sense to add some beautiful features because of the saved space by using just one font. If you drag the ttfs from the repos above in FontDrop you can check out all the cool additional stuff that's available. Just to give an example: the mono-sized numbers might make sense for the task ids.

Original issue on Gitea


@kolaente commented on 2021-09-23T18:33:07.000Z:

Sounds really promising! I didn't know variable fonts were a thing. I think it would make sense to explore this further.

Originally created by @vikunja-bot on GitHub (Apr 1, 2025). Original GitHub issue: https://github.com/go-vikunja/vikunja/issues/493 _Original issue by dpschen on 2021-09-22T18:50:43.000Z_ *Subsequent to https://kolaente.dev/vikunja/frontend/pulls/759* For the future it might make sense to use variable fonts. If interested read some stuff about them e.g. here first: https://variablefonts.io/about-variable-fonts/#opsz We are lucky! Both fonts do exist in a variable editon: - https://github.com/googlefonts/opensans/tree/main/fonts/variable - https://github.com/andrew-paglinawan/QuicksandFamily/blob/master/fonts/Quicksand%5Bwght%5D.ttf After beeing optimized the variable fonts will be much smaller (since there is just one file per font). Older browser can keep the current fonts as fallback. Additionally we could do stuff like animate font-weight when hovering, etc. with them. Right now the linked fonts in the repos above are not optimzed so that's some stuff that needs to happen before it makes sense to use them. I researched a bit and this is what I found out: --- What makes the variable font files, that I linked, large is that they have much more OpenType features enabled and a lot of glyphs for all kind of languages that are not (yet) used by Vikunja. I guess it makes sense to align the features of the current included font file with the variable font. By using Googles [woff2](https://github.com/google/woff2) library with `woff2_decompress font.woff2` I could open the curently used non-variable font files through [FontDrop](https://fontdrop.info/) (because it just supports ttf files). I could find out that the only OpenType feature the OpenSans currently uses is ligatures. The currently used Glyphs are just the `Latin` unicode-range. With [Glyphhanger](https://www.zachleat.com/web/glyphhanger/) it should be no problem to subset the font to Latin and use only the ligatures OpenType features Maybe it makes even sense to add some beautiful features because of the saved space by using just one font. If you drag the ttfs from the repos above in FontDrop you can check out all the cool additional stuff that's available. Just to give an example: the mono-sized numbers might make sense for the task ids. [Original issue on Gitea](https://kolaente.dev/vikunja/vikunja/issues/1833) --- _**@kolaente** commented on 2021-09-23T18:33:07.000Z_: Sounds really promising! I didn't know variable fonts were a thing. I think it would make sense to explore this further.
Author
Owner

@kolaente commented on GitHub (Aug 17, 2025):

Since variable fonts are now widely supported, let's implement this.

<!-- gh-comment-id:3194645437 --> @kolaente commented on GitHub (Aug 17, 2025): Since variable fonts are now [widely supported](https://caniuse.com/variable-fonts), let's implement this.
Author
Owner

@kolaente commented on GitHub (Aug 17, 2025):

Now implemented in f01f2af4cf

cc @dpschen

<!-- gh-comment-id:3194649786 --> @kolaente commented on GitHub (Aug 17, 2025): Now implemented in https://github.com/go-vikunja/vikunja/commit/f01f2af4cf5a7862803349c1990e326e95b01f09 cc @dpschen
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/vikunja#6186