Initial checkin of Pika from heckimp
This commit is contained in:
44
build/patches/cairo-mr114-pika-issue-6210.patch
Normal file
44
build/patches/cairo-mr114-pika-issue-6210.patch
Normal file
@ -0,0 +1,44 @@
|
||||
From 4f4d89506f58a64b4829b1bb239bab9e46d63727 Mon Sep 17 00:00:00 2001
|
||||
From: Jehan <jehan@girinstud.io>
|
||||
Date: Tue, 19 Jan 2021 12:42:31 +0100
|
||||
Subject: [PATCH] src: do not override explicitly requested grayscale
|
||||
antialiasing.
|
||||
|
||||
If CAIRO_ANTIALIAS_DEFAULT is selected and system is set to subpixel, it
|
||||
is perfectly normal to switch to CAIRO_ANTIALIAS_SUBPIXEL.
|
||||
But when the calling application specifically requested
|
||||
CAIRO_ANTIALIAS_GRAY then Cairo should honor the request.
|
||||
|
||||
This is an issue we have had for years in PIKA, where text on images
|
||||
would render differently depending on the system the file is opened on.
|
||||
This is obviously not right as a graphics work should be system
|
||||
independant and allow the creator to decide if one wants a text to have
|
||||
grayscale or subpixel rendering (a settings which would stick when
|
||||
sharing the work file). Cairo should not override this.
|
||||
The CAIRO_ANTIALIAS_DEFAULT settings exists exactly for this (when we
|
||||
want Cairo to choose for us, in a system-dependant way); other settings
|
||||
are when we need system independance.
|
||||
|
||||
Thanks to Adam Fontenot for initial investigations and tests on this and
|
||||
other contributors before this.
|
||||
---
|
||||
src/cairo-ft-font.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
|
||||
index d2221edec..1f5befec3 100644
|
||||
--- a/src/cairo-ft-font.c
|
||||
+++ b/src/cairo-ft-font.c
|
||||
@@ -1945,8 +1945,7 @@ _cairo_ft_options_merge (cairo_ft_options_t *options,
|
||||
}
|
||||
|
||||
if (other->base.antialias == CAIRO_ANTIALIAS_SUBPIXEL &&
|
||||
- (options->base.antialias == CAIRO_ANTIALIAS_DEFAULT ||
|
||||
- options->base.antialias == CAIRO_ANTIALIAS_GRAY)) {
|
||||
+ options->base.antialias == CAIRO_ANTIALIAS_DEFAULT) {
|
||||
options->base.antialias = CAIRO_ANTIALIAS_SUBPIXEL;
|
||||
options->base.subpixel_order = other->base.subpixel_order;
|
||||
}
|
||||
--
|
||||
GitLab
|
||||
|
22
build/patches/cairo-mr245-issue325.patch
Normal file
22
build/patches/cairo-mr245-issue325.patch
Normal file
@ -0,0 +1,22 @@
|
||||
diff -Naur cairo-1.16.0/src/cairo-composite-rectangles.c cairo-1.16.0.patched/src/cairo-composite-rectangles.c
|
||||
--- cairo-1.16.0/src/cairo-composite-rectangles.c 2018-08-17 03:10:53.000000000 +0200
|
||||
+++ cairo-1.16.0.patched/src/cairo-composite-rectangles.c 2021-09-26 15:52:04.410502567 +0200
|
||||
@@ -431,18 +431,6 @@
|
||||
if (! _cairo_composite_rectangles_init (extents, surface, op, source, clip))
|
||||
return CAIRO_INT_STATUS_NOTHING_TO_DO;
|
||||
|
||||
- /* Computing the exact bbox and the overlap is expensive.
|
||||
- * First perform a cheap test to see if the glyphs are all clipped out.
|
||||
- */
|
||||
- if (extents->is_bounded & CAIRO_OPERATOR_BOUND_BY_MASK &&
|
||||
- _cairo_scaled_font_glyph_approximate_extents (scaled_font,
|
||||
- glyphs, num_glyphs,
|
||||
- &extents->mask))
|
||||
- {
|
||||
- if (! _cairo_rectangle_intersect (&extents->bounded, &extents->mask))
|
||||
- return CAIRO_INT_STATUS_NOTHING_TO_DO;
|
||||
- }
|
||||
-
|
||||
status = _cairo_scaled_font_glyph_device_extents (scaled_font,
|
||||
glyphs, num_glyphs,
|
||||
&extents->mask,
|
Reference in New Issue
Block a user