Update to 1.18.0
- Drop the xml surface and cairo-sphinx tool as they've been removed upstream
This commit is contained in:
parent
eb90b25c28
commit
2f78fa84d9
1
.gitignore
vendored
1
.gitignore
vendored
@ -25,3 +25,4 @@ cairo-1.9.14.tar.gz
|
||||
/cairo-1.17.4.tar.xz
|
||||
/cairo-1.17.6.tar.xz
|
||||
/cairo-1.17.8.tar.xz
|
||||
/cairo-1.18.0.tar.xz
|
||||
|
@ -1,56 +0,0 @@
|
||||
From 12a5b7384f35d9a3f4c6b151fac4857444db3d6a Mon Sep 17 00:00:00 2001
|
||||
From: Nikolaus Waxweiler <madigens@gmail.com>
|
||||
Date: Sat, 10 Nov 2018 16:44:23 +0000
|
||||
Subject: [PATCH] Set default LCD filter to FreeType's default
|
||||
|
||||
---
|
||||
src/cairo-ft-font.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
|
||||
index 325dd61b4..3c47dc12e 100644
|
||||
--- a/src/cairo-ft-font.c
|
||||
+++ b/src/cairo-ft-font.c
|
||||
@@ -1404,7 +1404,7 @@ _render_glyph_outline (FT_Face face,
|
||||
cairo_image_surface_t **surface)
|
||||
{
|
||||
int rgba = FC_RGBA_UNKNOWN;
|
||||
- int lcd_filter = FT_LCD_FILTER_LEGACY;
|
||||
+ int lcd_filter = FT_LCD_FILTER_DEFAULT;
|
||||
FT_GlyphSlot glyphslot = face->glyph;
|
||||
FT_Outline *outline = &glyphslot->outline;
|
||||
FT_Bitmap bitmap;
|
||||
@@ -1439,13 +1439,13 @@ _render_glyph_outline (FT_Face face,
|
||||
case CAIRO_LCD_FILTER_NONE:
|
||||
lcd_filter = FT_LCD_FILTER_NONE;
|
||||
break;
|
||||
- case CAIRO_LCD_FILTER_DEFAULT:
|
||||
case CAIRO_LCD_FILTER_INTRA_PIXEL:
|
||||
lcd_filter = FT_LCD_FILTER_LEGACY;
|
||||
break;
|
||||
case CAIRO_LCD_FILTER_FIR3:
|
||||
lcd_filter = FT_LCD_FILTER_LIGHT;
|
||||
break;
|
||||
+ case CAIRO_LCD_FILTER_DEFAULT:
|
||||
case CAIRO_LCD_FILTER_FIR5:
|
||||
lcd_filter = FT_LCD_FILTER_DEFAULT;
|
||||
break;
|
||||
@@ -3416,7 +3416,6 @@ _cairo_ft_font_options_substitute (const cairo_font_options_t *options,
|
||||
case CAIRO_LCD_FILTER_NONE:
|
||||
lcd_filter = FT_LCD_FILTER_NONE;
|
||||
break;
|
||||
- case CAIRO_LCD_FILTER_DEFAULT:
|
||||
case CAIRO_LCD_FILTER_INTRA_PIXEL:
|
||||
lcd_filter = FT_LCD_FILTER_LEGACY;
|
||||
break;
|
||||
@@ -3424,6 +3423,7 @@ _cairo_ft_font_options_substitute (const cairo_font_options_t *options,
|
||||
lcd_filter = FT_LCD_FILTER_LIGHT;
|
||||
break;
|
||||
default:
|
||||
+ case CAIRO_LCD_FILTER_DEFAULT:
|
||||
case CAIRO_LCD_FILTER_FIR5:
|
||||
lcd_filter = FT_LCD_FILTER_DEFAULT;
|
||||
break;
|
||||
--
|
||||
2.19.1
|
||||
|
@ -1,178 +0,0 @@
|
||||
diff -urN cairo-1.17.6.old/doc/public/meson.build cairo-1.17.6/doc/public/meson.build
|
||||
--- cairo-1.17.6.old/doc/public/meson.build 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ cairo-1.17.6/doc/public/meson.build 2022-03-20 16:22:31.018317576 +0000
|
||||
@@ -0,0 +1,156 @@
|
||||
+gnome = import('gnome')
|
||||
+
|
||||
+ignore_headers = [
|
||||
+ # Sub-directories
|
||||
+ 'win32',
|
||||
+
|
||||
+ # Internal headers
|
||||
+ 'cairoint.h',
|
||||
+ 'cairo-features.h',
|
||||
+ 'cairo-features-win32.h',
|
||||
+
|
||||
+ # Inlined API
|
||||
+ 'cairo-box-inline.h',
|
||||
+ 'cairo-clip-inline.h',
|
||||
+ 'cairo-combsort-inline.h',
|
||||
+ 'cairo-contour-inline.h',
|
||||
+ 'cairo-error-inline.h',
|
||||
+ 'cairo-image-surface-inline.h',
|
||||
+ 'cairo-line-inline.h',
|
||||
+ 'cairo-list-inline.h',
|
||||
+ 'cairo-pattern-inline.h',
|
||||
+ 'cairo-recording-surface-inline.h',
|
||||
+ 'cairo-surface-inline.h',
|
||||
+ 'cairo-surface-observer-inline.h',
|
||||
+ 'cairo-surface-snapshot-inline.h',
|
||||
+ 'cairo-surface-subsurface-inline.h',
|
||||
+
|
||||
+ # Private headers
|
||||
+ 'cairo-analysis-surface-private.h',
|
||||
+ 'cairo-arc-private.h',
|
||||
+ 'cairo-array-private.h',
|
||||
+ 'cairo-atomic-private.h',
|
||||
+ 'cairo-backend-private.h',
|
||||
+ 'cairo-boxes-private.h',
|
||||
+ 'cairo-cache-private.h',
|
||||
+ 'cairo-clip-private.h',
|
||||
+ 'cairo-compiler-private.h',
|
||||
+ 'cairo-composite-rectangles-private.h',
|
||||
+ 'cairo-compositor-private.h',
|
||||
+ 'cairo-contour-private.h',
|
||||
+ 'cairo-damage-private.h',
|
||||
+ 'cairo-default-context-private.h',
|
||||
+ 'cairo-deprecated.h',
|
||||
+ 'cairo-device-private.h',
|
||||
+ 'cairo-error-private.h',
|
||||
+ 'cairo-fixed-private.h',
|
||||
+ 'cairo-fixed-type-private.h',
|
||||
+ 'cairo-fontconfig-private.h',
|
||||
+ 'cairo-freed-pool-private.h',
|
||||
+ 'cairo-freelist-private.h',
|
||||
+ 'cairo-freelist-type-private.h',
|
||||
+ 'cairo-ft-private.h',
|
||||
+ 'cairo-gstate-private.h',
|
||||
+ 'cairo-hash-private.h',
|
||||
+ 'cairo-image-info-private.h',
|
||||
+ 'cairo-image-surface-private.h',
|
||||
+ 'cairo-line-private.h',
|
||||
+ 'cairo-list-private.h',
|
||||
+ 'cairo-malloc-private.h',
|
||||
+ 'cairo-mempool-private.h',
|
||||
+ 'cairo-mutex-impl-private.h',
|
||||
+ 'cairo-mutex-list-private.h',
|
||||
+ 'cairo-mutex-private.h',
|
||||
+ 'cairo-mutex-type-private.h',
|
||||
+ 'cairo-output-stream-private.h',
|
||||
+ 'cairo-paginated-private.h',
|
||||
+ 'cairo-paginated-surface-private.h',
|
||||
+ 'cairo-path-fixed-private.h',
|
||||
+ 'cairo-path-private.h',
|
||||
+ 'cairo-pattern-private.h',
|
||||
+ 'cairo-pdf-operators-private.h',
|
||||
+ 'cairo-pdf-shading-private.h',
|
||||
+ 'cairo-pdf-surface-private.h',
|
||||
+ 'cairo-pixman-private.h',
|
||||
+ 'cairo-private.h',
|
||||
+ 'cairo-ps-surface-private.h',
|
||||
+ 'cairo-quartz-private.h',
|
||||
+ 'cairo-recording-surface-private.h',
|
||||
+ 'cairo-reference-count-private.h',
|
||||
+ 'cairo-region-private.h',
|
||||
+ 'cairo-rtree-private.h',
|
||||
+ 'cairo-scaled-font-private.h',
|
||||
+ 'cairo-scaled-font-subsets-private.h',
|
||||
+ 'cairo-script-private.h',
|
||||
+ 'cairo-slope-private.h',
|
||||
+ 'cairo-spans-compositor-private.h',
|
||||
+ 'cairo-spans-private.h',
|
||||
+ 'cairo-stroke-dash-private.h',
|
||||
+ 'cairo-surface-backend-private.h',
|
||||
+ 'cairo-surface-clipper-private.h',
|
||||
+ 'cairo-surface-fallback-private.h',
|
||||
+ 'cairo-surface-observer-private.h',
|
||||
+ 'cairo-surface-offset-private.h',
|
||||
+ 'cairo-surface-private.h',
|
||||
+ 'cairo-surface-snapshot-private.h',
|
||||
+ 'cairo-surface-subsurface-private.h',
|
||||
+ 'cairo-surface-wrapper-private.h',
|
||||
+ 'cairo-svg-surface-private.h',
|
||||
+ 'cairo-tag-attributes-private.h',
|
||||
+ 'cairo-tag-stack-private.h',
|
||||
+ 'cairo-tee-surface-private.h',
|
||||
+ 'cairo-time-private.h',
|
||||
+ 'cairo-traps-private.h',
|
||||
+ 'cairo-tristrip-private.h',
|
||||
+ 'cairo-truetype-subset-private.h',
|
||||
+ 'cairo-type1-private.h',
|
||||
+ 'cairo-type3-glyph-surface-private.h',
|
||||
+ 'cairo-types-private.h',
|
||||
+ 'cairo-user-font-private.h',
|
||||
+ 'cairo-wideint-private.h',
|
||||
+ 'cairo-wideint-type-private.h',
|
||||
+ 'cairo-xcb-private.h',
|
||||
+ 'cairo-xlib-private.h',
|
||||
+ 'cairo-xlib-surface-private.h',
|
||||
+ 'cairo-xlib-xrender-private.h',
|
||||
+ 'test-compositor-surface-private.h',
|
||||
+]
|
||||
+
|
||||
+ignore_decorators = [
|
||||
+ 'cairo_public',
|
||||
+ 'cairo_private',
|
||||
+]
|
||||
+
|
||||
+docpath = get_option('prefix') / get_option('datadir') / 'gtk-doc/html'
|
||||
+version_conf = configuration_data()
|
||||
+version_conf.set('CAIRO_VERSION', meson.project_version())
|
||||
+configure_file(
|
||||
+ input: 'version.xml.in',
|
||||
+ output: 'version.xml',
|
||||
+ configuration: version_conf
|
||||
+)
|
||||
+
|
||||
+gnome.gtkdoc('cairo',
|
||||
+ main_xml: 'cairo-docs.xml',
|
||||
+ namespace: 'cairo',
|
||||
+ mode: 'sgml',
|
||||
+ src_dir: doc_srcdir,
|
||||
+ dependencies: libcairo_dep,
|
||||
+ scan_args: [
|
||||
+ '--ignore-decorators=' + '|'.join(ignore_decorators),
|
||||
+ '--ignore-headers=' + ' '.join(ignore_headers),
|
||||
+ ],
|
||||
+ content_files: [
|
||||
+ 'language-bindings.xml',
|
||||
+ ],
|
||||
+ expand_content_files: [
|
||||
+ 'language-bindings.xml',
|
||||
+ ],
|
||||
+ html_assets: [
|
||||
+ ],
|
||||
+ fixxref_args: [
|
||||
+ '--html-dir=' + docpath,
|
||||
+ ],
|
||||
+ install: true,
|
||||
+ check: true,
|
||||
+)
|
||||
diff -urN cairo-1.17.6.old/doc/public/version.xml.in cairo-1.17.6/doc/public/version.xml.in
|
||||
--- cairo-1.17.6.old/doc/public/version.xml.in 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ cairo-1.17.6/doc/public/version.xml.in 2022-03-20 16:33:04.015756161 +0000
|
||||
@@ -0,0 +1 @@
|
||||
+@CAIRO_VERSION@
|
||||
diff -urN cairo-1.17.6.old/meson-cc-tests/check-unused-result.c cairo-1.17.6/meson-cc-tests/check-unused-result.c
|
||||
--- cairo-1.17.6.old/meson-cc-tests/check-unused-result.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ cairo-1.17.6/meson-cc-tests/check-unused-result.c 2022-03-20 15:55:39.285562258 +0000
|
||||
@@ -0,0 +1,9 @@
|
||||
+__attribute__((__warn_unused_result__)) void f (void) {}
|
||||
+__attribute__((__warn_unused_result__)) int g;
|
||||
+
|
||||
+int main(int c, char **v)
|
||||
+{
|
||||
+ (void)c;
|
||||
+ (void)v;
|
||||
+ return 0;
|
||||
+}
|
@ -1,70 +0,0 @@
|
||||
From 10cc34f521cf272f881bbad9a6fc4e794cca8687 Mon Sep 17 00:00:00 2001
|
||||
From: Adrian Johnson <ajohnson@redneon.com>
|
||||
Date: Sat, 13 May 2023 18:51:40 +0930
|
||||
Subject: [PATCH] ft: don't use scaled_glyph->dev_private to store data
|
||||
|
||||
It is also used by the xlib surface.
|
||||
|
||||
Fixes #778
|
||||
---
|
||||
src/cairo-ft-font.c | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
|
||||
index 834e4ba31..76c9e008f 100644
|
||||
--- a/src/cairo-ft-font.c
|
||||
+++ b/src/cairo-ft-font.c
|
||||
@@ -2600,6 +2600,7 @@ _cairo_ft_scaled_glyph_set_foreground_color (cairo_ft_scaled_font_t *scaled_font
|
||||
static cairo_int_status_t
|
||||
_cairo_ft_scaled_glyph_init_surface (cairo_ft_scaled_font_t *scaled_font,
|
||||
cairo_scaled_glyph_t *scaled_glyph,
|
||||
+ cairo_ft_glyph_private_t *glyph_priv,
|
||||
cairo_scaled_glyph_info_t info,
|
||||
FT_Face face,
|
||||
const cairo_color_t *foreground_color,
|
||||
@@ -2611,7 +2612,6 @@ _cairo_ft_scaled_glyph_init_surface (cairo_ft_scaled_font_t *scaled_font,
|
||||
cairo_status_t status;
|
||||
cairo_image_surface_t *surface;
|
||||
cairo_bool_t uses_foreground_color = FALSE;
|
||||
- cairo_ft_glyph_private_t *glyph_priv = scaled_glyph->dev_private;
|
||||
|
||||
/* Only one info type at a time handled in this function */
|
||||
assert (info == CAIRO_SCALED_GLYPH_INFO_COLOR_SURFACE || info == CAIRO_SCALED_GLYPH_INFO_SURFACE);
|
||||
@@ -3302,7 +3302,6 @@ _cairo_ft_scaled_glyph_init_metrics (cairo_ft_scaled_font_t *scaled_font,
|
||||
_cairo_scaled_glyph_attach_private (scaled_glyph, &glyph_priv->base,
|
||||
&ft_glyph_private_key,
|
||||
_cairo_ft_glyph_fini);
|
||||
- scaled_glyph->dev_private = glyph_priv;
|
||||
|
||||
/* We need to load color to determine if this is a color format. */
|
||||
int color_flag = 0;
|
||||
@@ -3461,8 +3460,8 @@ _cairo_ft_scaled_glyph_init (void *abstract_font,
|
||||
goto FAIL;
|
||||
}
|
||||
|
||||
- /* scaled_glyph->dev_private is intialized by _cairo_ft_scaled_glyph_init_metrics() */
|
||||
- glyph_priv = scaled_glyph->dev_private;
|
||||
+ glyph_priv = (cairo_ft_glyph_private_t *) _cairo_scaled_glyph_find_private (scaled_glyph,
|
||||
+ &ft_glyph_private_key);
|
||||
assert (glyph_priv != NULL);
|
||||
|
||||
if (info & CAIRO_SCALED_GLYPH_INFO_RECORDING_SURFACE) {
|
||||
@@ -3514,6 +3513,7 @@ _cairo_ft_scaled_glyph_init (void *abstract_font,
|
||||
} else {
|
||||
status = _cairo_ft_scaled_glyph_init_surface (scaled_font,
|
||||
scaled_glyph,
|
||||
+ glyph_priv,
|
||||
CAIRO_SCALED_GLYPH_INFO_COLOR_SURFACE,
|
||||
face,
|
||||
foreground_color,
|
||||
@@ -3527,6 +3527,7 @@ _cairo_ft_scaled_glyph_init (void *abstract_font,
|
||||
if (info & CAIRO_SCALED_GLYPH_INFO_SURFACE) {
|
||||
status = _cairo_ft_scaled_glyph_init_surface (scaled_font,
|
||||
scaled_glyph,
|
||||
+ glyph_priv,
|
||||
CAIRO_SCALED_GLYPH_INFO_SURFACE,
|
||||
face,
|
||||
NULL, /* foreground color */
|
||||
--
|
||||
GitLab
|
||||
|
@ -1,109 +0,0 @@
|
||||
From 5e42a5277eddafd312a73e355d7775a4401dae4e Mon Sep 17 00:00:00 2001
|
||||
From: Emmanuele Bassi <ebassi@gnome.org>
|
||||
Date: Fri, 3 Feb 2023 15:40:12 +0100
|
||||
Subject: [PATCH] tee: Fix cairo wrapper functions
|
||||
|
||||
Follow-up to !391 to apply the same changes to the (disabled by default)
|
||||
tee surface.
|
||||
|
||||
Fixes: #634
|
||||
---
|
||||
src/cairo-tee-surface.c | 24 ++++++++++++++----------
|
||||
1 file changed, 14 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/cairo-tee-surface.c b/src/cairo-tee-surface.c
|
||||
index 7a94c9bca..4994a5a60 100644
|
||||
--- a/src/cairo-tee-surface.c
|
||||
+++ b/src/cairo-tee-surface.c
|
||||
@@ -220,12 +220,12 @@ _cairo_tee_surface_paint (void *abstract_surface,
|
||||
num_slaves = _cairo_array_num_elements (&surface->slaves);
|
||||
slaves = _cairo_array_index (&surface->slaves, 0);
|
||||
for (n = 0; n < num_slaves; n++) {
|
||||
- status = _cairo_surface_wrapper_paint (&slaves[n], op, source, clip);
|
||||
+ status = _cairo_surface_wrapper_paint (&slaves[n], op, source, 0, clip);
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
- return _cairo_surface_wrapper_paint (&surface->master, op, source, clip);
|
||||
+ return _cairo_surface_wrapper_paint (&surface->master, op, source, 0, clip);
|
||||
}
|
||||
|
||||
static cairo_int_status_t
|
||||
@@ -244,13 +244,17 @@ _cairo_tee_surface_mask (void *abstract_surface,
|
||||
slaves = _cairo_array_index (&surface->slaves, 0);
|
||||
for (n = 0; n < num_slaves; n++) {
|
||||
status = _cairo_surface_wrapper_mask (&slaves[n],
|
||||
- op, source, mask, clip);
|
||||
+ op, source, 0,
|
||||
+ mask, 0,
|
||||
+ clip);
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
return _cairo_surface_wrapper_mask (&surface->master,
|
||||
- op, source, mask, clip);
|
||||
+ op, source, 0,
|
||||
+ mask, 0,
|
||||
+ clip);
|
||||
}
|
||||
|
||||
static cairo_int_status_t
|
||||
@@ -274,7 +278,7 @@ _cairo_tee_surface_stroke (void *abstract_surface,
|
||||
slaves = _cairo_array_index (&surface->slaves, 0);
|
||||
for (n = 0; n < num_slaves; n++) {
|
||||
status = _cairo_surface_wrapper_stroke (&slaves[n],
|
||||
- op, source,
|
||||
+ op, source, 0,
|
||||
path, style,
|
||||
ctm, ctm_inverse,
|
||||
tolerance, antialias,
|
||||
@@ -284,7 +288,7 @@ _cairo_tee_surface_stroke (void *abstract_surface,
|
||||
}
|
||||
|
||||
return _cairo_surface_wrapper_stroke (&surface->master,
|
||||
- op, source,
|
||||
+ op, source, 0,
|
||||
path, style,
|
||||
ctm, ctm_inverse,
|
||||
tolerance, antialias,
|
||||
@@ -310,7 +314,7 @@ _cairo_tee_surface_fill (void *abstract_surface,
|
||||
slaves = _cairo_array_index (&surface->slaves, 0);
|
||||
for (n = 0; n < num_slaves; n++) {
|
||||
status = _cairo_surface_wrapper_fill (&slaves[n],
|
||||
- op, source,
|
||||
+ op, source, 0,
|
||||
path, fill_rule,
|
||||
tolerance, antialias,
|
||||
clip);
|
||||
@@ -319,7 +323,7 @@ _cairo_tee_surface_fill (void *abstract_surface,
|
||||
}
|
||||
|
||||
return _cairo_surface_wrapper_fill (&surface->master,
|
||||
- op, source,
|
||||
+ op, source, 0,
|
||||
path, fill_rule,
|
||||
tolerance, antialias,
|
||||
clip);
|
||||
@@ -361,7 +365,7 @@ _cairo_tee_surface_show_text_glyphs (void *abstract_surface,
|
||||
for (n = 0; n < num_slaves; n++) {
|
||||
memcpy (glyphs_copy, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
|
||||
status = _cairo_surface_wrapper_show_text_glyphs (&slaves[n], op,
|
||||
- source,
|
||||
+ source, 0,
|
||||
utf8, utf8_len,
|
||||
glyphs_copy, num_glyphs,
|
||||
clusters, num_clusters,
|
||||
@@ -374,7 +378,7 @@ _cairo_tee_surface_show_text_glyphs (void *abstract_surface,
|
||||
|
||||
memcpy (glyphs_copy, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
|
||||
status = _cairo_surface_wrapper_show_text_glyphs (&surface->master, op,
|
||||
- source,
|
||||
+ source, 0,
|
||||
utf8, utf8_len,
|
||||
glyphs_copy, num_glyphs,
|
||||
clusters, num_clusters,
|
||||
--
|
||||
GitLab
|
||||
|
@ -1,61 +0,0 @@
|
||||
From 2766d9feeccd5d66e346b0abab38726b8e0aa1e9 Mon Sep 17 00:00:00 2001
|
||||
From: Adrian Johnson <ajohnson@redneon.com>
|
||||
Date: Tue, 7 Mar 2023 19:40:21 +1030
|
||||
Subject: [PATCH] ft: Use normal font size when detecting the format
|
||||
|
||||
The format may depend on the font size.
|
||||
|
||||
Fixes #643
|
||||
---
|
||||
src/cairo-ft-font.c | 17 ++++++++++++++++-
|
||||
1 file changed, 16 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
|
||||
index 22a6a622b..89af6193d 100644
|
||||
--- a/src/cairo-ft-font.c
|
||||
+++ b/src/cairo-ft-font.c
|
||||
@@ -3314,11 +3314,13 @@ _cairo_ft_scaled_glyph_init_metrics (cairo_ft_scaled_font_t *scaled_font,
|
||||
if (scaled_font->unscaled->have_color && scaled_font->base.options.color_mode != CAIRO_COLOR_MODE_NO_COLOR)
|
||||
color_flag = FT_LOAD_COLOR;
|
||||
#endif
|
||||
+ /* Ensure use_em_size = FALSE as the format (bitmap or outline)
|
||||
+ * may change with the size. */
|
||||
status = _cairo_ft_scaled_glyph_load_glyph (scaled_font,
|
||||
scaled_glyph,
|
||||
face,
|
||||
load_flags | color_flag,
|
||||
- !hint_metrics,
|
||||
+ FALSE,
|
||||
vertical_layout);
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
@@ -3344,6 +3346,18 @@ _cairo_ft_scaled_glyph_init_metrics (cairo_ft_scaled_font_t *scaled_font,
|
||||
glyph_priv->format = CAIRO_FT_GLYPH_TYPE_BITMAP;
|
||||
}
|
||||
|
||||
+ /* If hinting is off, load the glyph with font size set the the em size. */
|
||||
+ if (!hint_metrics) {
|
||||
+ status = _cairo_ft_scaled_glyph_load_glyph (scaled_font,
|
||||
+ scaled_glyph,
|
||||
+ face,
|
||||
+ load_flags | color_flag,
|
||||
+ TRUE,
|
||||
+ vertical_layout);
|
||||
+ if (unlikely (status))
|
||||
+ return status;
|
||||
+ }
|
||||
+
|
||||
_cairo_ft_scaled_glyph_get_metrics (scaled_font,
|
||||
face,
|
||||
vertical_layout,
|
||||
@@ -3369,6 +3383,7 @@ _cairo_ft_scaled_glyph_init_metrics (cairo_ft_scaled_font_t *scaled_font,
|
||||
}
|
||||
|
||||
if (glyph_priv->format == CAIRO_FT_GLYPH_TYPE_COLR_V1) {
|
||||
+ /* Restore font size if previously loaded at em_size. */
|
||||
if (!hint_metrics) {
|
||||
status = _cairo_ft_scaled_glyph_load_glyph (scaled_font,
|
||||
scaled_glyph,
|
||||
--
|
||||
GitLab
|
||||
|
19
cairo.spec
19
cairo.spec
@ -3,21 +3,15 @@
|
||||
%define fontconfig_version 2.2.95
|
||||
|
||||
Name: cairo
|
||||
Version: 1.17.8
|
||||
Release: 5%{?dist}
|
||||
Version: 1.18.0
|
||||
Release: 1%{?dist}
|
||||
Summary: A 2D graphics library
|
||||
|
||||
License: LGPL-2.1-only OR MPL-1.1
|
||||
URL: https://cairographics.org
|
||||
Source0: https://cairographics.org/snapshots/%{name}-%{version}.tar.xz
|
||||
Source0: https://cairographics.org/releases/%{name}-%{version}.tar.xz
|
||||
|
||||
Patch0: cairo-multilib.patch
|
||||
# https://gitlab.freedesktop.org/cairo/cairo/-/issues/634
|
||||
Patch1: cairo-1.17.8-fix-tee-compilation.patch
|
||||
# https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/467
|
||||
Patch2: cairo-1.17.8-ft-font-missing-glyph.patch
|
||||
# https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/476
|
||||
Patch3: cairo-1.17.8-fix-crash-scaled-glyph.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
@ -102,7 +96,7 @@ This package contains tools for working with the cairo graphics library.
|
||||
-Dtests=disabled \
|
||||
-Dxcb=enabled \
|
||||
-Dxlib=enabled \
|
||||
-Dxml=disabled
|
||||
%{nil}
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
@ -157,11 +151,14 @@ This package contains tools for working with the cairo graphics library.
|
||||
%{_libdir}/pkgconfig/cairo-gobject.pc
|
||||
|
||||
%files tools
|
||||
%{_bindir}/cairo-sphinx
|
||||
%{_bindir}/cairo-trace
|
||||
%{_libdir}/cairo/
|
||||
|
||||
%changelog
|
||||
* Wed Sep 27 2023 Kalev Lember <klember@redhat.com> - 1.18.0-1
|
||||
- Update to 1.18.0
|
||||
- Drop the xml surface and cairo-sphinx tool as they've been removed upstream
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.8-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (cairo-1.17.8.tar.xz) = 62f0eaaebc46be5f0de7cb49df055eeadcc02706095a9d641eceac563d48344c2234940ce90d84a610c5003e536d9dcd318a1649578fd9cd5ab5f0db5b75bd8f
|
||||
SHA512 (cairo-1.18.0.tar.xz) = 6366c7d5e3fd3e12df2edc43aa4ed4c3a517de2ef0b1b3b30dfa8b69a7cae1dd55765801228cec308d2e9792037d0704ae49d95b7b12c06f20df092fa0534e1c
|
||||
|
Loading…
Reference in New Issue
Block a user