- Add a better nopangoxft patch that doesn't depend on pangocairo
- Add firefox-1.5-pango-mathml.patch (bug 150393)
This commit is contained in:
parent
2deee06177
commit
e3df1420c6
45
firefox-1.5-nopangoxft.patch
Normal file
45
firefox-1.5-nopangoxft.patch
Normal file
@ -0,0 +1,45 @@
|
||||
--- mozilla/gfx/src/gtk/mozilla-decoder.cpp.noxft 2004-11-07 18:59:23.000000000 -0500
|
||||
+++ mozilla/gfx/src/gtk/mozilla-decoder.cpp 2006-08-06 18:24:37.000000000 -0400
|
||||
@@ -40,10 +40,9 @@
|
||||
#define PANGO_ENABLE_ENGINE
|
||||
|
||||
#include "mozilla-decoder.h"
|
||||
-#include <pango/pangoxft.h>
|
||||
#include <pango/pangofc-fontmap.h>
|
||||
#include <pango/pangofc-font.h>
|
||||
-#include <gdk/gdkx.h>
|
||||
+#include <gdk/gdkpango.h>
|
||||
|
||||
#include "nsString.h"
|
||||
#include "nsIPersistentProperties2.h"
|
||||
@@ -54,6 +53,7 @@
|
||||
#include "nsCompressedCharMap.h"
|
||||
|
||||
#undef DEBUG_CUSTOM_ENCODER
|
||||
+#define DEBUG_CUSTOM_ENCODER 1
|
||||
|
||||
G_DEFINE_TYPE (MozillaDecoder, mozilla_decoder, PANGO_TYPE_FC_DECODER)
|
||||
|
||||
@@ -145,6 +145,13 @@ mozilla_decoders_init(void)
|
||||
if (initialized)
|
||||
return 0;
|
||||
|
||||
+ PangoContext* context = gdk_pango_context_get ();
|
||||
+ PangoFontMap* fontmap = pango_context_get_font_map (context);
|
||||
+ g_object_unref (context);
|
||||
+
|
||||
+ if (!PANGO_IS_FC_FONT_MAP (fontmap))
|
||||
+ return -1;
|
||||
+
|
||||
encoder_hash = g_hash_table_new(g_str_hash, g_str_equal);
|
||||
cmap_hash = g_hash_table_new(g_str_hash, g_str_equal);
|
||||
wide_hash = g_hash_table_new(g_str_hash, g_str_equal);
|
||||
@@ -208,7 +215,7 @@ mozilla_decoders_init(void)
|
||||
}
|
||||
}
|
||||
|
||||
- pango_fc_font_map_add_decoder_find_func(PANGO_FC_FONT_MAP(pango_xft_get_font_map(GDK_DISPLAY(),gdk_x11_get_default_screen())),
|
||||
+ pango_fc_font_map_add_decoder_find_func(PANGO_FC_FONT_MAP(fontmap),
|
||||
mozilla_find_decoder,
|
||||
NULL,
|
||||
NULL);
|
42
firefox-1.5-pango-mathml.patch
Normal file
42
firefox-1.5-pango-mathml.patch
Normal file
@ -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);
|
10
firefox.spec
10
firefox.spec
@ -11,7 +11,7 @@
|
||||
Summary: Mozilla Firefox Web browser.
|
||||
Name: firefox
|
||||
Version: 1.5.0.6
|
||||
Release: 3
|
||||
Release: 4
|
||||
URL: http://www.mozilla.org/projects/firefox/
|
||||
License: MPL/LGPL
|
||||
Group: Applications/Internet
|
||||
@ -53,7 +53,8 @@ Patch27: firefox-gnomestripe-0.1-livemarks.patch
|
||||
Patch42: firefox-1.1-uriloader.patch
|
||||
|
||||
# font system fixes
|
||||
Patch81: firefox-nopangoxft.patch
|
||||
Patch81: firefox-1.5-nopangoxft.patch
|
||||
Patch82: firefox-1.5-pango-mathml.patch
|
||||
|
||||
# patches from upstream (Patch100+)
|
||||
Patch101: firefox-1.5-pango-ua.patch
|
||||
@ -136,6 +137,7 @@ removed in favor of xulrunner-devel.
|
||||
#%patch27 -p1
|
||||
%patch42 -p0
|
||||
%patch81 -p1
|
||||
%patch82 -p1
|
||||
|
||||
%patch101 -p0 -b .pango-ua
|
||||
%patch102 -p0 -b .pango-about
|
||||
@ -354,6 +356,10 @@ fi
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
%changelog
|
||||
* Tue Aug 22 2006 Behdad Esfahbod <besfahbo@redhat.com> - 1.5.0.6-4
|
||||
- Add a better nopangoxft patch that doesn't depend on pangocairo
|
||||
- Add firefox-1.5-pango-mathml.patch (bug 150393)
|
||||
|
||||
* Tue Aug 08 2006 Kai Engert <kengert@redhat.com> - 1.5.0.6-3
|
||||
- Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user