Chad Brokaw
Chad Brokaw
In `compute_scalar`, simply check for `peak == 0` for each region before reading all of the other data. Seems to be a roughly 20% win on fonts with sparse variation...
* Don't truncate fixed values when parsing (blue zones, scale, shift, fuzz, etc) * Match FreeType's parsing of binary coded decimal numbers * Fix bug where we were overwriting "family...
This is more inconsistency where FreeType truncates the fractional bits when reading `HVAR` but reads `gvar` as `Fixed` and then rounds to `F26Dot6`. https://github.com/googlefonts/fontations/blob/c32c0a6442371d0206f82a4a981b3854f313aaae/skrifa/src/outline/glyf/mod.rs#L628
Here: https://github.com/googlefonts/fontations/blob/756d45082d3832d0ec8bda6a30bc9b8bd1408424/skrifa/src/outline/glyf/mod.rs#L233 The whole point of the `hdmx` table is to provide hinted advances without having to run the TrueType interpreter. Also, some fonts have buggy hdmx tables and are...
See https://github.com/googlefonts/fontations/blob/756d45082d3832d0ec8bda6a30bc9b8bd1408424/skrifa/src/outline/cff/mod.rs#L444 where we apply a bunch of weird scale factors in discrete steps because FreeType does so. Note that FT applies these in different passes, in different locations in...
We’ve put some real effort into performance tuning lately and it’d be nice to have something setup to detect regressions and measure improvements. The bencher (https://github.com/bencherdev/bencher) tool looks promising for...
This is a fairly large update to codegen. It is technically breaking but will only affect users that reference the `TableRef` type explicitly. The change basically captures the sequence of...
... rather than slicing the data each time we traverse an offset. This also currently removes the null check for non-nullable offsets. Note that HB also seems to not check...
Just adds a bunch of `#[inline]` attributes to codegen'd functions.