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
The harfbuzz subsetter is a compiled C++ lib that supports variable to static font instantiation. This appears to be exposed through the uharfbuzz Python bindings and it should be significantly faster.
so, I think that we could do something along the lines of the following:
importuharfbuzzwithopen(fontpath, "rb") asfontbin:
hb_face=uharfbuzz.Face(fontbin.read())
hb_font=uharfbuzz.Font(hb_face)
variation_axis_defs= {
"opsz": "10",
"wght": "700",
"GRAD": "-25",
}
hb_font.set_variations(variation_axis_defs)
# TODO# how do you write binary back to disk?
It isn't clear to me based on a quick read through of the hb source what level of feature support it has relative to the pure Python varLib.mutator and varLib.instancer libs.
D/W Behdad and his feedback was that it is best to continue to base this application on fontTools for now. The support in harfbuzz is not mature at the moment and the fonttools implementation is likely to remain the default in the near - mid term. Will leave this open and follow.
The harfbuzz subsetter is a compiled C++ lib that supports variable to static font instantiation. This appears to be exposed through the uharfbuzz Python bindings and it should be significantly faster.
https://github.com/harfbuzz/uharfbuzz/blob/da2e6d5a2c4607276378c84f0ba1fd3bf362beed/src/uharfbuzz/_harfbuzz.pyx#L387
so, I think that we could do something along the lines of the following:
It isn't clear to me based on a quick read through of the hb source what level of feature support it has relative to the pure Python varLib.mutator and varLib.instancer libs.
Questions
The text was updated successfully, but these errors were encountered: