diff options
author | Dominik Röttsches <drott@chromium.org> | 2021-07-26 17:32:09 +0300 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2021-07-29 06:05:18 +0000 |
commit | 5c0ac7a4357cdb8f8e4cef4bb5b20aa54bfe8716 (patch) | |
tree | 3c64ebfc98b46fcc37528428356dc4acf59430b4 | |
parent | 66189807b8f42411d981bc7d2a3cc7f753cf22ae (diff) | |
download | freetype2-5c0ac7a4357cdb8f8e4cef4bb5b20aa54bfe8716.tar.gz |
[sfnt] Retrieve affine matrix from offset in 'COLR' v1 parsing.
* src/sfnt/ttcolr.c (read_paint): Implement spec change where
affine transform matrix is now referenced by offset instead of
being placed inline in the PaintTransform table.
-rw-r--r-- | src/sfnt/ttcolr.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/sfnt/ttcolr.c b/src/sfnt/ttcolr.c index e46ca48da..3970a5dc5 100644 --- a/src/sfnt/ttcolr.c +++ b/src/sfnt/ttcolr.c @@ -551,6 +551,11 @@ apaint->u.transform.paint.p = child_table_p; apaint->u.transform.paint.insert_root_transform = 0; + if ( !get_child_table_pointer( colr, paint_base, &p, &child_table_p ) ) + return 0; + + p = child_table_p; + apaint->u.transform.affine.xx = FT_NEXT_LONG( p ); apaint->u.transform.affine.yx = FT_NEXT_LONG( p ); apaint->u.transform.affine.xy = FT_NEXT_LONG( p ); |