summaryrefslogtreecommitdiffstats
path: root/libreoffice/build/patches/skia_freetype211.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libreoffice/build/patches/skia_freetype211.patch')
-rw-r--r--libreoffice/build/patches/skia_freetype211.patch37
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: