summaryrefslogtreecommitdiffstats
path: root/gfx/cairo/dwrite-glyph-extents.patch
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-11-06 21:06:15 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-11-07 14:49:48 +0100
commit7efd71616ec5efedbe626a986a707c35d3cac323 (patch)
tree0223e8271d9d18763efd743f43f98b8b8b9e5c2e /gfx/cairo/dwrite-glyph-extents.patch
parentbbc2206a0fda053a6f5071b457bd209dab9ed268 (diff)
downloadUXP-7efd71616ec5efedbe626a986a707c35d3cac323.tar
UXP-7efd71616ec5efedbe626a986a707c35d3cac323.tar.gz
UXP-7efd71616ec5efedbe626a986a707c35d3cac323.tar.lz
UXP-7efd71616ec5efedbe626a986a707c35d3cac323.tar.xz
UXP-7efd71616ec5efedbe626a986a707c35d3cac323.zip
Issue #1274 - Part 1: Adopt the cairo version as our own.
- Move header licensing from tri-license to MPL 2.0. MPL-compatible other licensing has been retained where originally present. - Remove individual superseded licensing terms. - Remove patches, outdated readmes & incomplete patch summaries. - Remove incomplete cairo release notes (only went up to 1.6.4 anyway). - Rewrite COPYING to indicate the current state of the library in tree.
Diffstat (limited to 'gfx/cairo/dwrite-glyph-extents.patch')
-rw-r--r--gfx/cairo/dwrite-glyph-extents.patch44
1 files changed, 0 insertions, 44 deletions
diff --git a/gfx/cairo/dwrite-glyph-extents.patch b/gfx/cairo/dwrite-glyph-extents.patch
deleted file mode 100644
index d3625e198..000000000
--- a/gfx/cairo/dwrite-glyph-extents.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/gfx/cairo/cairo/src/cairo-dwrite-font.cpp b/gfx/cairo/cairo/src/cairo-dwrite-font.cpp
---- a/gfx/cairo/cairo/src/cairo-dwrite-font.cpp
-+++ b/gfx/cairo/cairo/src/cairo-dwrite-font.cpp
-@@ -582,22 +582,37 @@ _cairo_dwrite_scaled_font_init_glyph_met
- DWRITE_FONT_METRICS fontMetrics;
- font_face->dwriteface->GetMetrics(&fontMetrics);
- HRESULT hr = font_face->dwriteface->GetDesignGlyphMetrics(&charIndex, 1, &metrics);
- if (FAILED(hr)) {
- return CAIRO_INT_STATUS_UNSUPPORTED;
- }
-
- // TODO: Treat swap_xy.
-- extents.width = (FLOAT)(metrics.advanceWidth - metrics.leftSideBearing - metrics.rightSideBearing) / fontMetrics.designUnitsPerEm;
-- extents.height = (FLOAT)(metrics.advanceHeight - metrics.topSideBearing - metrics.bottomSideBearing) / fontMetrics.designUnitsPerEm;
-+ extents.width = (FLOAT)(metrics.advanceWidth - metrics.leftSideBearing - metrics.rightSideBearing) /
-+ fontMetrics.designUnitsPerEm;
-+ extents.height = (FLOAT)(metrics.advanceHeight - metrics.topSideBearing - metrics.bottomSideBearing) /
-+ fontMetrics.designUnitsPerEm;
- extents.x_advance = (FLOAT)metrics.advanceWidth / fontMetrics.designUnitsPerEm;
- extents.x_bearing = (FLOAT)metrics.leftSideBearing / fontMetrics.designUnitsPerEm;
- extents.y_advance = 0.0;
-- extents.y_bearing = (FLOAT)(metrics.topSideBearing - metrics.verticalOriginY) / fontMetrics.designUnitsPerEm;
-+ extents.y_bearing = (FLOAT)(metrics.topSideBearing - metrics.verticalOriginY) /
-+ fontMetrics.designUnitsPerEm;
-+
-+ // We pad the extents here because GetDesignGlyphMetrics returns "ideal" metrics
-+ // for the glyph outline, without accounting for hinting/gridfitting/antialiasing,
-+ // and therefore it does not always cover all pixels that will actually be touched.
-+ if (scaled_font->base.options.antialias != CAIRO_ANTIALIAS_NONE &&
-+ extents.width > 0 && extents.height > 0) {
-+ extents.width += scaled_font->mat_inverse.xx * 2;
-+ extents.x_bearing -= scaled_font->mat_inverse.xx;
-+ extents.height += scaled_font->mat_inverse.yy * 2;
-+ extents.y_bearing -= scaled_font->mat_inverse.yy;
-+ }
-+
- _cairo_scaled_glyph_set_metrics (scaled_glyph,
- &scaled_font->base,
- &extents);
- return CAIRO_INT_STATUS_SUCCESS;
- }
-
- /**
- * Stack-based helper implementing IDWriteGeometrySink.