Chad Brokaw

Results 51 issues of 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

break_with_freetype

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...

break_with_freetype

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...

cleanup
break_with_freetype

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.