reapply mozilla-cairo-lcd.patch
authorWolfgang Rosenauer <wr@rosenauer.org>
Fri, 11 Mar 2011 11:14:05 +0100
changeset 237 676030198746
parent 236 a4f5954df3a3
child 238 d537c4a65693
reapply mozilla-cairo-lcd.patch update locale provides pull correct l10n tree
MozillaFirefox/MozillaFirefox.spec
mozilla-cairo-lcd.patch
mozilla-xulrunner20/create-tar.sh
mozilla-xulrunner20/mozilla-cairo-lcd.patch
mozilla-xulrunner20/mozilla-xulrunner20.changes
mozilla-xulrunner20/mozilla-xulrunner20.spec
series
--- a/MozillaFirefox/MozillaFirefox.spec	Sat Mar 05 22:23:55 2011 +0100
+++ b/MozillaFirefox/MozillaFirefox.spec	Fri Mar 11 11:14:05 2011 +0100
@@ -136,7 +136,7 @@
 %package translations-other
 Summary:        Extra translations for MozillaFirefox
 License:        GPLv2+ ; LGPLv2.1+ ; MPLv1.1+
-Provides:       locale(%{name}:af;ak;ast;be;bg;bn_BD;br;bs;cy;el;en_ZA;eo;es_MX;et;eu;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;kn;ku;lg;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;zu)
+Provides:       locale(%{name}:af;ak;ast;be;bg;bn_BD;br;bs;cy;el;en_ZA;eo;es_MX;et;eu;fa;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;kn;ku;lg;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;zu)
 Group:          System/Localization
 Requires:       %{name} = %{version}
 Obsoletes:      %{name}-translations < %{version}-%{release}
--- a/mozilla-cairo-lcd.patch	Sat Mar 05 22:23:55 2011 +0100
+++ b/mozilla-cairo-lcd.patch	Fri Mar 11 11:14:05 2011 +0100
@@ -1,14 +1,11 @@
-# HG changeset patch
-# Parent 863b8585016fffd4755445eca723011717f4b930
-Subject: Add a Cairo LCD filter to use FreeType LCD colour filtering features
-References:
-https://bugzilla.mozilla.org/show_bug.cgi?id=404637
-http://bugs.freedesktop.org/show_bug.cgi?id=10301
+Description: Add a Cairo LCD filter to use FreeType LCD colour filtering features
+Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=404637
+Bug-Cairo: http://bugs.freedesktop.org/show_bug.cgi?id=10301
 
 diff --git a/config/system-headers b/config/system-headers
 --- a/config/system-headers
 +++ b/config/system-headers
-@@ -262,16 +262,17 @@ Font.h
+@@ -267,16 +267,17 @@ Font.h
  Fonts.h
  fp.h
  fpieee.h
@@ -25,7 +22,7 @@
  freetype/t1tables.h
  fribidi/fribidi.h
  FSp_fopen.h
- fstream.h
+ fstream
 diff --git a/gfx/cairo/cairo/src/cairo-font-options.c b/gfx/cairo/cairo/src/cairo-font-options.c
 --- a/gfx/cairo/cairo/src/cairo-font-options.c
 +++ b/gfx/cairo/cairo/src/cairo-font-options.c
@@ -232,7 +229,7 @@
  /* This is the max number of FT_face objects we keep open at once
   */
  #define MAX_OPEN_FACES 10
-@@ -772,46 +794,309 @@ _cairo_ft_unscaled_font_set_scale (cairo
+@@ -774,45 +796,309 @@ _cairo_ft_unscaled_font_set_scale (cairo
  					unscaled->face->available_sizes[best_i].height);
  	if (error)
  	    return _cairo_error (CAIRO_STATUS_NO_MEMORY);
@@ -549,7 +546,6 @@
      int width, height, stride;
      unsigned char *data;
      int format = CAIRO_FORMAT_A8;
--    cairo_bool_t subpixel = FALSE;
 +    cairo_image_surface_t *image;
  
      width = bitmap->width;
@@ -559,7 +555,7 @@
  	*surface = (cairo_image_surface_t *)
  	    cairo_image_surface_create_for_data (NULL, format, 0, 0, 0);
  	return (*surface)->base.status;
-@@ -858,154 +1143,63 @@ _get_bitmap_surface (FT_Bitmap		     *bi
+@@ -859,150 +1145,63 @@ _get_bitmap_surface (FT_Bitmap		     *bi
  	}
  #endif
  	format = CAIRO_FORMAT_A1;
@@ -688,7 +684,6 @@
 -	    data = data_rgba;
 -	    stride = stride_rgba;
  	    format = CAIRO_FORMAT_ARGB32;
--	    subpixel = TRUE;
 -	    break;
 -	}
  	}
@@ -714,14 +709,11 @@
  	return (*surface)->base.status;
      }
  
--    if (subpixel)
--	pixman_image_set_component_alpha ((*surface)->pixman_image, TRUE);
--
 -    _cairo_image_surface_assume_ownership_of_data ((*surface));
 +    if (font_options->antialias == CAIRO_ANTIALIAS_SUBPIXEL)
 +	pixman_image_set_component_alpha (image->pixman_image, TRUE);
 +
-+    _cairo_image_surface_assume_ownership_of_data (image);
++    _cairo_image_surface_assume_ownership_of_data ((image));
  
      _cairo_debug_check_image_surface_is_defined (&(*surface)->base);
  
@@ -730,7 +722,7 @@
  
  /* Converts an outline FT_GlyphSlot into an image
   *
-@@ -1022,129 +1216,169 @@ _get_bitmap_surface (FT_Bitmap		     *bi
+@@ -1019,129 +1218,169 @@ _get_bitmap_surface (FT_Bitmap		     *bi
   * when we add subpixel support. If so, we may want to eliminate
   * this version of the code path entirely.
   */
@@ -967,7 +959,7 @@
  _render_glyph_bitmap (FT_Face		      face,
  		      cairo_font_options_t   *font_options,
  		      cairo_image_surface_t **surface)
-@@ -1354,16 +1588,17 @@ _get_pattern_ft_options (FcPattern *patt
+@@ -1350,16 +1589,17 @@ _get_pattern_ft_options (FcPattern *patt
  
      /* disable antialiasing if requested */
      if (FcPatternGetBool (pattern,
@@ -985,7 +977,7 @@
  
  	if (FcPatternGetInteger (pattern,
  				 FC_RGBA, 0, &rgba) != FcResultMatch)
-@@ -1389,16 +1624,35 @@ _get_pattern_ft_options (FcPattern *patt
+@@ -1385,16 +1625,35 @@ _get_pattern_ft_options (FcPattern *patt
  	    break;
  	}
  
@@ -1013,15 +1005,15 @@
 +	    }
 +	}
 +
- #ifdef FC_HINT_STYLE    
- 	if (FcPatternGetInteger (pattern, 
+ #ifdef FC_HINT_STYLE
+ 	if (FcPatternGetInteger (pattern,
  				 FC_HINT_STYLE, 0, &hintstyle) != FcResultMatch)
  	    hintstyle = FC_HINT_FULL;
  
  	if (!hinting)
  	    hintstyle = FC_HINT_NONE;
  
-@@ -1490,16 +1744,22 @@ _cairo_ft_options_merge (cairo_ft_option
+@@ -1486,16 +1745,22 @@ _cairo_ft_options_merge (cairo_ft_option
      }
  
      if (options->base.hint_style == CAIRO_HINT_STYLE_DEFAULT)
@@ -1044,7 +1036,7 @@
  	load_flags |= FT_LOAD_MONOCHROME;
      } else {
  	switch (options->base.hint_style) {
-@@ -1513,21 +1773,21 @@ _cairo_ft_options_merge (cairo_ft_option
+@@ -1509,21 +1774,21 @@ _cairo_ft_options_merge (cairo_ft_option
  	    break;
  	case CAIRO_HINT_STYLE_FULL:
  	case CAIRO_HINT_STYLE_DEFAULT:
@@ -1068,7 +1060,7 @@
      }
  
      options->load_flags = load_flags | load_target;
-@@ -2510,16 +2770,44 @@ _cairo_ft_font_options_substitute (const
+@@ -2512,16 +2777,44 @@ _cairo_ft_font_options_substitute (const
  		rgba = FC_RGBA_NONE;
  	    }
  
@@ -1116,13 +1108,13 @@
 diff --git a/gfx/cairo/cairo/src/cairo-surface.c b/gfx/cairo/cairo/src/cairo-surface.c
 --- a/gfx/cairo/cairo/src/cairo-surface.c
 +++ b/gfx/cairo/cairo/src/cairo-surface.c
-@@ -60,16 +60,17 @@ const cairo_surface_t name = {					\
-     0.0,				/* y_fallback_resolution */	\
-     NULL,				/* clip */		\
-     0,					/* next_clip_serial */	\
-     0,					/* current_clip_serial */	\
-     FALSE,				/* is_snapshot */	\
-     FALSE,				/* has_font_options */	\
+@@ -68,16 +68,17 @@ const cairo_surface_t name = {					\
+     NULL,				/* snapshot_detach */	\
+     { 0,	/* size */					\
+       0,	/* num_elements */				\
+       0,	/* element_size */				\
+       NULL,	/* elements */					\
+     },					/* snapshots */		\
      { CAIRO_ANTIALIAS_DEFAULT,		/* antialias */		\
        CAIRO_SUBPIXEL_ORDER_DEFAULT,	/* subpixel_order */	\
 +      CAIRO_LCD_FILTER_DEFAULT,		/* lcd_filter */	\
@@ -1131,13 +1123,13 @@
      }					/* font_options */	\
  }
  
+ /* XXX error object! */
+ 
  static DEFINE_NIL_SURFACE(CAIRO_STATUS_NO_MEMORY, _cairo_surface_nil);
- static DEFINE_NIL_SURFACE(CAIRO_STATUS_INVALID_CONTENT, _cairo_surface_nil_invalid_content);
- static DEFINE_NIL_SURFACE(CAIRO_STATUS_INVALID_FORMAT, _cairo_surface_nil_invalid_format);
 diff --git a/gfx/cairo/cairo/src/cairo-types-private.h b/gfx/cairo/cairo/src/cairo-types-private.h
 --- a/gfx/cairo/cairo/src/cairo-types-private.h
 +++ b/gfx/cairo/cairo/src/cairo-types-private.h
-@@ -110,19 +110,45 @@ struct _cairo_array {
+@@ -112,19 +112,45 @@ struct _cairo_array {
      unsigned int size;
      unsigned int num_elements;
      unsigned int element_size;
@@ -1179,17 +1171,41 @@
      cairo_hint_metrics_t hint_metrics;
  };
  
- typedef cairo_bool_t (*cairo_cache_predicate_func_t) (const void *entry);
- 
- struct _cairo_cache {
-     cairo_hash_table_t *hash_table;
+ /* XXX: Right now, the _cairo_color structure puts unpremultiplied
+    color in the doubles and premultiplied color in the shorts. Yes,
+    this is crazy insane, (but at least we don't export this
+    madness). I'm still working on a cleaner API, but in the meantime,
 diff --git a/gfx/cairo/cairo/src/cairo-xlib-screen.c b/gfx/cairo/cairo/src/cairo-xlib-screen.c
 --- a/gfx/cairo/cairo/src/cairo-xlib-screen.c
 +++ b/gfx/cairo/cairo/src/cairo-xlib-screen.c
-@@ -145,23 +145,32 @@ get_integer_default (Display    *dpy,
+@@ -56,16 +56,23 @@
+ 
+ #include "cairo-xlib-private.h"
+ #include "cairo-xlib-xrender-private.h"
+ 
+ #include "cairo-xlib-surface-private.h"
+ 
+ #include <fontconfig/fontconfig.h>
+ 
++#ifndef FC_LCD_NONE
++#define FC_LCD_NONE	0
++#define FC_LCD_DEFAULT	1
++#define FC_LCD_LIGHT	2
++#define FC_LCD_LEGACY	3
++#endif
++
+ static int
+ parse_boolean (const char *v)
+ {
+     char c0, c1;
+ 
+     c0 = *v;
+     if (c0 == 't' || c0 == 'T' || c0 == 'y' || c0 == 'Y' || c0 == '1')
+ 	return 1;
+@@ -145,23 +152,32 @@ get_integer_default (Display    *dpy,
  static void
  _cairo_xlib_init_screen_font_options (Display *dpy,
- 				      cairo_xlib_screen_info_t *info)
+ 				      cairo_xlib_screen_t *info)
  {
      cairo_bool_t xft_hinting;
      cairo_bool_t xft_antialias;
@@ -1219,7 +1235,7 @@
  
      if (!get_integer_default (dpy, "rgba", &xft_rgba))
      {
-@@ -234,28 +243,47 @@ _cairo_xlib_init_screen_font_options (Di
+@@ -234,28 +250,47 @@ _cairo_xlib_init_screen_font_options (Di
  	subpixel_order = CAIRO_SUBPIXEL_ORDER_VBGR;
  	break;
      case FC_RGBA_UNKNOWN:
@@ -1262,15 +1278,15 @@
      cairo_font_options_set_hint_metrics (&info->font_options, CAIRO_HINT_METRICS_ON);
  }
  
- cairo_xlib_screen_info_t *
- _cairo_xlib_screen_info_reference (cairo_xlib_screen_info_t *info)
+ cairo_xlib_screen_t *
+ _cairo_xlib_screen_reference (cairo_xlib_screen_t *info)
  {
      assert (CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&info->ref_count));
  
 diff --git a/gfx/cairo/cairo/src/cairoint.h b/gfx/cairo/cairo/src/cairoint.h
 --- a/gfx/cairo/cairo/src/cairoint.h
 +++ b/gfx/cairo/cairo/src/cairoint.h
-@@ -1444,16 +1444,23 @@ extern const cairo_private uint16_t _cai
+@@ -1400,16 +1400,23 @@ extern const cairo_private uint16_t _cai
  
  cairo_private void
  _cairo_font_options_init_default (cairo_font_options_t *options);
@@ -1294,3 +1310,24 @@
  cairo_private unsigned char *
  _cairo_lzw_compress (unsigned char *data, unsigned long *size_in_out);
  
+diff --git a/js/src/config/system-headers b/js/src/config/system-headers
+--- a/js/src/config/system-headers
++++ b/js/src/config/system-headers
+@@ -267,16 +267,17 @@ Font.h
+ Fonts.h
+ fp.h
+ fpieee.h
+ frame/log.h
+ frame/req.h
+ freetype/freetype.h
+ freetype/ftcache.h
+ freetype/ftglyph.h
++freetype/ftlcdfil.h
+ freetype/ftsynth.h
+ freetype/ftoutln.h
+ freetype/ttnameid.h
+ freetype/tttables.h
+ freetype/t1tables.h
+ fribidi/fribidi.h
+ FSp_fopen.h
+ fstream
--- a/mozilla-xulrunner20/create-tar.sh	Sat Mar 05 22:23:55 2011 +0100
+++ b/mozilla-xulrunner20/create-tar.sh	Fri Mar 11 11:14:05 2011 +0100
@@ -18,7 +18,7 @@
     ja-JP-mac|en-US)
       ;;
     *)
-      hg clone http://hg.mozilla.org/l10n-central/$locale l10n/$locale
+      hg clone http://hg.mozilla.org/releases/l10n-mozilla-2.0/$locale l10n/$locale
       [ "$RELEASE_TAG" == "default" ] || hg -R l10n/$locale up -C -r $RELEASE_TAG
       ;;
   esac
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-xulrunner20/mozilla-cairo-lcd.patch	Fri Mar 11 11:14:05 2011 +0100
@@ -0,0 +1,1 @@
+../mozilla-cairo-lcd.patch
\ No newline at end of file
--- a/mozilla-xulrunner20/mozilla-xulrunner20.changes	Sat Mar 05 22:23:55 2011 +0100
+++ b/mozilla-xulrunner20/mozilla-xulrunner20.changes	Fri Mar 11 11:14:05 2011 +0100
@@ -2,8 +2,11 @@
 Fri Mar  4 15:16:56 UTC 2011 - wr@rosenauer.org
 
 - update to 2.0rc1
+  * removed upstreamed mozilla-gio-launch-uri.patch
+  * updated supported locale list
 - set useragent buildid to branded Firefox default
-- removed upstreamed mozilla-gio-launch-uri.patch
+- apply mozilla-cairo-lcd.patch for internal cairo to fix
+  font smoothing in combination with freetype
 
 -------------------------------------------------------------------
 Wed Feb 23 07:51:12 UTC 2011 - wr@rosenauer.org
--- a/mozilla-xulrunner20/mozilla-xulrunner20.spec	Sat Mar 05 22:23:55 2011 +0100
+++ b/mozilla-xulrunner20/mozilla-xulrunner20.spec	Fri Mar 11 11:14:05 2011 +0100
@@ -64,17 +64,18 @@
 Patch5:         mozilla-prefer_plugin_pref.patch
 Patch6:         mozilla-shared-nss-db.patch
 Patch7:         mozilla-kde.patch
+Patch8:         mozilla-cairo-lcd.patch
 # PATCH-FEATURE-SLED FATE#302023, FATE#302024
-Patch8:         mozilla-gconf-backend.patch
-Patch9:         gecko-lockdown.patch
-Patch10:        toolkit-ui-lockdown.patch
+Patch9:         mozilla-gconf-backend.patch
+Patch10:         gecko-lockdown.patch
+Patch11:        toolkit-ui-lockdown.patch
 # ---
-Patch11:        mozilla-cpuid.patch
-Patch12:        mozilla-language.patch
-Patch13:        mozilla-gio.patch
-Patch14:        mozilla-cairo-return.patch
-Patch15:        mozilla-ntlm-full-path.patch
-Patch16:        mozilla-gecko-version.patch
+Patch12:        mozilla-cpuid.patch
+Patch13:        mozilla-language.patch
+Patch14:        mozilla-gio.patch
+Patch15:        mozilla-cairo-return.patch
+Patch16:        mozilla-ntlm-full-path.patch
+Patch17:        mozilla-gecko-version.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Requires:       mozilla-js20 = %{version}
 Requires(post):  update-alternatives coreutils
@@ -163,7 +164,7 @@
 Summary:        Extra translations for XULRunner 2.0
 Group:          System/Localization
 Requires:       %{name} = %{version}
-Provides:       locale(%{name}:af;ak;ast;be;bg;bn_BD;br;bs;cy;el;en_ZA;eo;es_MX;et;eu;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;kn;ku;lg;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;zu)
+Provides:       locale(%{name}:af;ak;ast;be;bg;bn_BD;br;bs;cy;el;en_ZA;eo;es_MX;et;eu;fa;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;kn;ku;lg;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;zu)
 Obsoletes:      %{name}-translations < %{version}-%{release}
 
 %description translations-other
@@ -208,17 +209,18 @@
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
-#%patch8 -p1
+%patch8 -p1
 #%patch9 -p1
 #%patch10 -p1
+#%patch11 -p1
 %if %suse_version < 1120
-#%patch11 -p1
+#%patch12 -p1
 %endif
-%patch12 -p1
 %patch13 -p1
 %patch14 -p1
 %patch15 -p1
 %patch16 -p1
+%patch17 -p1
 
 %build
 kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
--- a/series	Sat Mar 05 22:23:55 2011 +0100
+++ b/series	Fri Mar 11 11:14:05 2011 +0100
@@ -10,7 +10,7 @@
 #gecko-lockdown.patch
 #toolkit-ui-lockdown.patch
 #mozilla-cpuid.patch
-#mozilla-cairo-lcd.patch
+mozilla-cairo-lcd.patch
 mozilla-language.patch
 mozilla-gio.patch
 mozilla-cairo-return.patch