summaryrefslogtreecommitdiff
path: root/firefox-1.5-pango-mathml.patch
diff options
context:
space:
mode:
Diffstat (limited to 'firefox-1.5-pango-mathml.patch')
-rw-r--r--firefox-1.5-pango-mathml.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/firefox-1.5-pango-mathml.patch b/firefox-1.5-pango-mathml.patch
new file mode 100644
index 0000000..98c4136
--- /dev/null
+++ b/firefox-1.5-pango-mathml.patch
@@ -0,0 +1,42 @@
+--- mozilla/gfx/src/gtk/nsFontMetricsPango.cpp.mathml 2006-02-23 16:01:42.000000000 -0500
++++ mozilla/gfx/src/gtk/nsFontMetricsPango.cpp 2006-08-22 20:06:40.000000000 -0400
+@@ -829,30 +829,27 @@ nsFontMetricsPango::GetBoundingMetrics(c
+ goto loser;
+ }
+
+- pango_layout_set_text(layout, text, strlen(text));
++ pango_layout_set_text(layout, text, -1);
+ FixupSpaceWidths(layout, text);
+
+- // Get the logical extents
+ PangoLayoutLine *line;
+ if (pango_layout_get_line_count(layout) != 1) {
+ printf("Warning: more than one line!\n");
+ }
+ line = pango_layout_get_line(layout, 0);
+
+- // Get the ink extents
+- PangoRectangle rect;
+- pango_layout_line_get_extents(line, NULL, &rect);
++ // Get the ink and logical extents
++ PangoRectangle ink, logical;
++ pango_layout_line_get_extents(line, &ink, &logical);
+
+ float P2T;
+ P2T = mDeviceContext->DevUnitsToAppUnits();
+
+- aBoundingMetrics.leftBearing =
+- NSToCoordRound(rect.x * P2T / PANGO_SCALE);
+- aBoundingMetrics.rightBearing =
+- NSToCoordRound(rect.width * P2T / PANGO_SCALE);
+- aBoundingMetrics.width = NSToCoordRound((rect.x + rect.width) * P2T / PANGO_SCALE);
+- aBoundingMetrics.ascent = NSToCoordRound(rect.y * P2T / PANGO_SCALE);
+- aBoundingMetrics.descent = NSToCoordRound(rect.height * P2T / PANGO_SCALE);
++ aBoundingMetrics.leftBearing = NSToCoordRound(PANGO_LBEARING(ink) * P2T / PANGO_SCALE);
++ aBoundingMetrics.rightBearing = NSToCoordRound(PANGO_RBEARING(ink) * P2T / PANGO_SCALE);
++ aBoundingMetrics.ascent = NSToCoordRound(PANGO_ASCENT(ink) * P2T / PANGO_SCALE);
++ aBoundingMetrics.descent = NSToCoordRound(PANGO_DESCENT(ink) * P2T / PANGO_SCALE);
++ aBoundingMetrics.width = NSToCoordRound(logical.width * P2T / PANGO_SCALE);
+
+ loser:
+ g_free(text);
bgstack15