Behdad Esfahbod

Results 277 issues of Behdad Esfahbod

Many fonts crash it currently. Keeping this issue to track my progress mostly.

``` self.cff.remove_unused_subroutines() File "/home/behdad/fonttools/Lib/fontTools/cffLib/__init__.py", line 324, in remove_unused_subroutines remove_unused_subroutines(self) File "/home/behdad/fonttools/Lib/fontTools/cffLib/transforms.py", line 474, in remove_unused_subroutines _cs_subset_subroutines(subr, local_subrs, font.GlobalSubrs) File "/home/behdad/fonttools/Lib/fontTools/cffLib/transforms.py", line 297, in _cs_subset_subroutines p[i - 1] = subrs._used.index(p[i -...

Experiment with speeding up `gvar` use by storing float32 numbers directly in a new table called `HVAC`, which addresses other shortcomings of `gvar` as well.

The following takes more spec, but is faster to parse, than the existing format1: ```cpp struct MultiItemVariationData { uint8 Format; // 2 uint16 regionIndexCount; uint16 regionIndexes[regionIndexCount]; CFF2IndexOf deltaSets; }; ```

@manuel-rhdt Hi. Can you please pass on the crates.io project to @khaledhosny if you won't be updating it? Thanks.

It still has some memory corruption with CFF fonts; though it doesn't seem to crash, but shows up in valgrind. I believe this is the root cause: https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests/345

Fixes https://github.com/fonttools/fonttools/issues/3673

See this for details: https://github.com/harfbuzz/boring-expansion-spec/issues/159 I suggest we implement that already. That is, if the `VariationStore` struct's `length` field is 65,535, then allow the embedded `ItemVariationStore` to reach out to...