diff options
Diffstat (limited to 'libreoffice/build/patches/skia_freetype211.patch')
-rw-r--r-- | libreoffice/build/patches/skia_freetype211.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/libreoffice/build/patches/skia_freetype211.patch b/libreoffice/build/patches/skia_freetype211.patch new file mode 100644 index 00000000..97be7f28 --- /dev/null +++ b/libreoffice/build/patches/skia_freetype211.patch @@ -0,0 +1,37 @@ +--- skia/src/ports/SkFontHost_FreeType_common.cpp.orig 2021-03-01 15:53:09.178606791 +0100 ++++ skia/src/ports/SkFontHost_FreeType_common.cpp 2021-08-12 17:48:32.358901987 +0200 +@@ -665,8 +665,13 @@ + canvas->drawPaint(paint); + break; + } ++#if 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,20 @@ + traverse_result = colrv1_start_glyph(canvas, palette, face, paint.u.colr_glyph.glyphID, + FT_COLOR_NO_ROOT_TRANSFORM); + break; ++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 ++ case FT_COLR_PAINTFORMAT_TRANSFORM: ++#else + case FT_COLR_PAINTFORMAT_TRANSFORMED: ++#endif + canvas->saveLayer(nullptr, nullptr); + // Traverse / draw operation will apply transform. + colrv1_draw_paint(canvas, palette, face, paint); + traverse_result = ++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11 ++ colrv1_traverse_paint(canvas, palette, face, paint.u.transform.paint); ++#else + colrv1_traverse_paint(canvas, palette, face, paint.u.transformed.paint); ++#endif + canvas->restore(); + break; + case FT_COLR_PAINTFORMAT_ROTATE: |