Should we add variable font instancing to the patch/subset protocol

In the current proposal for patch subset the client specifies the desired
subset using only the desired unicode codepoints. However, for variable
fonts it's also potentially useful if the client is able to specify the
specific portion of the variable design space that is needed. This would
allow the server to optionally narrow down the design space of the
generated subset to further reduce the bytes to transfer.

For example if a weight and width variable font is being used, but only the
normal width is in use then the server could drop all of the delta's
associated with the width axis (if the default outline is the normal
width). Server side this could be supported by using a variable font
instancer in conjunction with the subsetter (something similar to fontTools
mutator
<https://github.com/fonttools/fonttools/blob/main/Lib/fontTools/varLib/mutator.py>)
when producing the before and after states to generate the patch. For the
protocol specification this would require adding some additional fields
which the client uses to specify the design space they have and the design
space they want to add.

Thoughts on adding this into the protocol specification? We should discuss
during tomorrow's call.

Received on Tuesday, 30 March 2021 00:00:54 UTC