Closed cmyr closed 2 years ago
For non-work reasons I'm out until July 12. I think @garretrieger could help pick some representative subsetting scenarios, and comment on whether GPOS only is sufficient or if we really need GSUB for an interesting comparison.
As of late this week I have codegen working for all of the compilation types in GPOS
Awesome, when I'm back I want you to walk me/us through how to use all the new toys (bearing in mind some of us don't yet speak Rust)
Sounds good, I'll reach out to garret to talk through some of the details, and we can catch up in July.
Yes, happy to chat about this. Some initial thoughts:
FYI here's the set of fonts we currently include in the hb benchmark suite: https://github.com/harfbuzz/harfbuzz/blob/main/perf/benchmark-subset.cc#L22
These were picked to cover several interesting subsetting scenarios (eg. complex GSUB/GPOS, large character counts, simple GSUB/GPOS, CFF vs glyf)
As of late this week I have codegen working for all of the compilation types in GPOS, and I'm ready to start thinking about the 'demonstration subsetter' discussed in #20.
Basically: we want to choose some task that is representative of the work of subsetting, but which will involve a modest subset of the work involved in a full implementation.
My current plan is to focus on only subsetting the GPOS table, and then comparing the output and the runtime to what is produced by HarfBuzz.
I think it might make sense to schedule a quick call and talk about this? I have various questions about things like constructing the subset plan, and how we might reduce scope, but it would be helpful to have input from someone with more knowledge of the HarfBuzz subsetter.
In any case I'm going to spend next week working on porting the repacker, since that's something we're going to need regardless.