#1057: Incremental Font Transfer

Visit on Github.

Opened Feb 20, 2025

こんにちは TAG-さん!

I'm requesting a TAG review of Incremental Font Transfer.

Incremental transfer allows clients to load only the portions of the font they actually need which speeds up font loads and reduces data transfer needed to load the fonts; a font can be loaded over multiple requests where each request incrementally adds additional data.

Further details:

  • I have reviewed the TAG's Web Platform Design Principles
  • Previous early design review, if any: No (but see considered alternatives)
  • Relevant time constraints or deadlines:
  • The group where the work on this specification is currently being done: WebFonts WG
  • The group where standardization of this work is intended to be done (if different from the current group):
  • Major unresolved issues with or opposition to this specification:
  • This work is being funded by:

You should also know that...

Earlier horizontal review was done on the 9 July Working Draft of IFT; TAG review is requested on today's 20 Feb Working Draft which incorporates feedback from horizontal review and latest developments.

We previously requested review of an earlier approach, which had several problems such as difficulty in deployment, requirement for an active server implementation, fingerprinting risk, and poor performance with CDN caches. The new approach does not suffer from these problems.

Discussions

Log in to see TAG-private discussions.

Discussed Apr 1, 2025 (See Github)

Lola: Would like to be on this one Xiaocheng: I would join … will affect how fonts will be loaded Hadley: Feels architectural Xiaocheng: Might affect i18n … for larger character sets like Chinese

Comment by @svgeesus Apr 25, 2025 (See Github)

Hello, TAG!

We now have a fully functional Demo of IFT which compares IFT to normal font loading with Unicode-range static subsetting. Just click on "next text sample" to see the font being upgraded in real time to support more writing systems and more font variation axes. There is a running total of bytes transferred, you can see that IFT loads much less data.