--- external/skia/UnpackedTarball_skia.mk.orig 2021-08-23 22:03:48.538000000 +1000 +++ external/skia/UnpackedTarball_skia.mk 2021-08-23 22:04:58.137000000 +1000 @@ -39,6 +39,7 @@ fast-png-write.patch.1 \ skia_sk_cpu_sse_level_0_by_default.patch.1 \ fix-warnings.patch.1 \ + skia_freetype-2.11.patch.0 \ $(eval $(call gb_UnpackedTarball_set_patchlevel,skia,1)) --- /dev/null 2021-08-23 17:37:05.741000000 +1000 +++ external/skia/skia_freetype-2.11.patch.0 2021-08-23 22:01:05.176000000 +1000 @@ -0,0 +1,38 @@ +--- src/ports/SkFontHost_FreeType_common.cpp.orig 2021-03-02 00:53:09.178606791 +1000 ++++ src/ports/SkFontHost_FreeType_common.cpp 2021-08-23 21:58:57.678000000 +1000 +@@ -665,8 +665,13 @@ + canvas->drawPaint(paint); + break; + } ++#ifdef FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 ++ case FT_COLR_PAINTFORMAT_TRANSFORM: { ++ SkMatrix transform = ToSkMatrix(colrv1_paint.u.transform.affine); ++#else + case FT_COLR_PAINTFORMAT_TRANSFORMED: { + SkMatrix transform = ToSkMatrix(colrv1_paint.u.transformed.affine); ++#endif + + canvas->concat(transform); + break; +@@ -760,12 +765,21 @@ + traverse_result = colrv1_start_glyph(canvas, palette, face, paint.u.colr_glyph.glyphID, + FT_COLOR_NO_ROOT_TRANSFORM); + break; ++#ifdef FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 ++ case FT_COLR_PAINTFORMAT_TRANSFORM: ++ canvas->saveLayer(nullptr, nullptr); ++ // Traverse / draw operation will apply transform. ++ colrv1_draw_paint(canvas, palette, face, paint); ++ traverse_result = ++ colrv1_traverse_paint(canvas, palette, face, paint.u.transform.paint); ++#else + case FT_COLR_PAINTFORMAT_TRANSFORMED: + canvas->saveLayer(nullptr, nullptr); + // Traverse / draw operation will apply transform. + colrv1_draw_paint(canvas, palette, face, paint); + traverse_result = + colrv1_traverse_paint(canvas, palette, face, paint.u.transformed.paint); ++#endif + canvas->restore(); + break; + case FT_COLR_PAINTFORMAT_ROTATE: