Fix COLRv1 for Segoe UI Emoji The yx and xy transform components were swapped in the conversion. Also the repeat/reflect extend modes.
diff --git a/vello/src/scene.rs b/vello/src/scene.rs index 4a3ca30..effc416 100644 --- a/vello/src/scene.rs +++ b/vello/src/scene.rs
@@ -940,7 +940,7 @@ fn conv_skrifa_transform(transform: skrifa::color::Transform) -> Transform { Transform { - matrix: [transform.xx, transform.xy, transform.yx, transform.yy], + matrix: [transform.xx, transform.yx, transform.xy, transform.yy], translation: [transform.dx, transform.dy], } } @@ -1020,8 +1020,8 @@ fn conv_extend(extend: skrifa::color::Extend) -> Extend { match extend { skrifa::color::Extend::Pad => Extend::Pad, - skrifa::color::Extend::Repeat => Extend::Reflect, - skrifa::color::Extend::Reflect => Extend::Repeat, + skrifa::color::Extend::Repeat => Extend::Repeat, + skrifa::color::Extend::Reflect => Extend::Reflect, // TODO: Error reporting on unknown variant? _ => Extend::Pad, }