Chad Brokaw
Chad Brokaw
Add support for Unicode aware line breaking according to UAX #14.
The hinter currently doesn't allocate so this may require some restructuring. See https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests/23
This entails extending the basic alpha compositor to support additional modes and affine transformations.
Implement support for parsing version 1 of the COLR table and expose the additional data in the outline API.
This is increasingly important for digital typography so we want to support it throughout the stack.
We are currently working on variation support in our [fea compiler](https://github.com/cmyr/fea-rs) and have run into questions regarding how this should work when a font contains an `avar` version 2 table....
in accordance with the [spec proposal](https://github.com/harfbuzz/boring-expansion-spec/blob/main/beyond-64k.md). I recommend we do this in a few phases to limit breakage: 1. Rename `font_types::GlyphId` to `GlyphId16` and update codegen and resource files accordingly....
to prep for incoming script identification code. Just includes characters from each mappable range from the FT autofit code.
The `Location` and `LocationRef` types were intended to serve a similar purpose to other owned/borrowed type pairs in Rust (`String`/`&str`, `Vec`/`&[T]`, etc) but actual usage doesn't actually follow the same...
A few changes to fix correctness and/or match FreeType: 1. Make unscaled case pass-through. Avoids overflow on large source values. 2. Cast advance width to `u16` before scaling to match...