diff options
author | Adrian Johnson <ajohnson@redneon.com> | 2021-08-27 23:12:24 +0930 |
---|---|---|
committer | Adrian Johnson <ajohnson@redneon.com> | 2021-08-28 18:07:01 +0930 |
commit | fea24631076f74a3202ba0233be85588ae28db36 (patch) | |
tree | 1df67721f194ad6f161d5d63ddd146d05a0d0b68 /src/cairo-type1-fallback.c | |
parent | 5e76dd7a5c0585515eeef5099f12b273c94d3b0f (diff) | |
download | cairo-fea24631076f74a3202ba0233be85588ae28db36.tar.gz |
Support color fonts that use the foreground color
COLR fonts can have a layer with the same color as the current text
color. This change passes the current color (if solid) through to
the font backend where it can be used to render color fonts.
scaled_glyph_lookup checks if the foreground color has changed (for
glyph that require it) and requests a new color surface if required.
This also fixes a bug where scaled_glyph_lookup would always request a
color surface for glyphs for glyphs in color fonts that do not have
color.
Diffstat (limited to 'src/cairo-type1-fallback.c')
-rw-r--r-- | src/cairo-type1-fallback.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cairo-type1-fallback.c b/src/cairo-type1-fallback.c index 0b8e66cd0..3a44c4666 100644 --- a/src/cairo-type1-fallback.c +++ b/src/cairo-type1-fallback.c @@ -1,3 +1,4 @@ +/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */ /* cairo - a vector graphics library with display and print output * * Copyright © 2006 Red Hat, Inc @@ -354,6 +355,7 @@ cairo_type1_font_create_charstring (cairo_type1_font_t *font, glyph_index, CAIRO_SCALED_GLYPH_INFO_METRICS| CAIRO_SCALED_GLYPH_INFO_PATH, + NULL, /* foreground color */ &scaled_glyph); /* It is ok for the .notdef glyph to not have a path available. We @@ -363,6 +365,7 @@ cairo_type1_font_create_charstring (cairo_type1_font_t *font, status = _cairo_scaled_glyph_lookup (font->type1_scaled_font, glyph_index, CAIRO_SCALED_GLYPH_INFO_METRICS, + NULL, /* foreground color */ &scaled_glyph); } if (unlikely (status)) |