ooo-build r13832 - in trunk: . patches/dev300



Author: thorstenb
Date: Mon Sep  8 11:09:54 2008
New Revision: 13832
URL: http://svn.gnome.org/viewvc/ooo-build?rev=13832&view=rev

Log:
    * patches/dev300/apply:
    * patches/dev300/psprint-fontconfig-fix.diff: fixed a wrong
    read-out of fontconfig flags, leading to wrong autohinting
    (n#407958).



Added:
   trunk/patches/dev300/psprint-fontconfig-fix.diff
Modified:
   trunk/ChangeLog
   trunk/patches/dev300/apply

Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply	(original)
+++ trunk/patches/dev300/apply	Mon Sep  8 11:09:54 2008
@@ -1880,6 +1880,7 @@
 [ CairoFonts ]
 # needs Gtk2.0 >= 2.10 and cairo, so this is on the own section
 ooo59127.vcl.honourcairofont.diff
+psprint-fontconfig-fix.diff, n#407958, thorsten
 
 [ GStreamer ]
 SectionOwner => rodo

Added: trunk/patches/dev300/psprint-fontconfig-fix.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/psprint-fontconfig-fix.diff	Mon Sep  8 11:09:54 2008
@@ -0,0 +1,43 @@
+ psprint/source/fontmanager/fontconfig.cxx |   24 +++++++++++++++---------
+ 1 files changed, 15 insertions(+), 9 deletions(-)
+
+
+diff --git psprint/source/fontmanager/fontconfig.cxx psprint/source/fontmanager/fontconfig.cxx
+index 0a875f6..396726d 100644
+--- psprint/source/fontmanager/fontconfig.cxx
++++ psprint/source/fontmanager/fontconfig.cxx
+@@ -1002,19 +1002,25 @@ FontConfigHints PrintFontManager::getFontConfigHints( const FastPrintFontInfo& r
+     FcBool embitmap = true, antialias = true, autohint = true, hinting = true;
+     int hintstyle = FC_HINT_FULL, rgba = FC_RGBA_UNKNOWN;
+ 
+-    rWrapper.FcConfigSubstitute( pConfig, pPattern, FcMatchFont );
++    rWrapper.FcConfigSubstitute( pConfig, pPattern, FcMatchPattern );
+     GdkScreen *pScreen = gdk_screen_get_default();
+     if (const cairo_font_options_t *pOptions = pScreen ? gdk_screen_get_font_options(pScreen) : 0)
+ 	cairo_ft_font_options_substitute(pOptions, pPattern);
+     rWrapper.FcDefaultSubstitute( pPattern );
+-    FcResult eEmbeddedBitmap = rWrapper.FcPatternGetBool( pPattern, FC_EMBEDDED_BITMAP, 0, &embitmap );
+-    FcResult eAntialias = rWrapper.FcPatternGetBool( pPattern, FC_ANTIALIAS, 0, &antialias );
+-    FcResult eAutoHint = rWrapper.FcPatternGetBool( pPattern, FC_AUTOHINT, 0, &autohint );
+-    FcResult eSubPixel = rWrapper.FcPatternGetInteger( pPattern, FC_RGBA, 0, &rgba);
+-    FcResult eHinting = rWrapper.FcPatternGetBool( pPattern, FC_HINTING, 0, &hinting );
+-
+-    FcResult eHintStyle = rWrapper.FcPatternGetInteger( pPattern, FC_HINT_STYLE, 0, &hintstyle );
+-    rWrapper.FcPatternDestroy(pPattern);
++
++    FcResult eResult = FcResultNoMatch;
++    FcFontSet* pFontSet = rWrapper.getFontSet();
++    FcPattern* pResult = rWrapper.FcFontSetMatch( pConfig, &pFontSet, 1, pPattern, &eResult );
++    rWrapper.FcPatternDestroy( pPattern );
++
++    FcResult eEmbeddedBitmap = rWrapper.FcPatternGetBool( pResult, FC_EMBEDDED_BITMAP, 0, &embitmap );
++    FcResult eAntialias = rWrapper.FcPatternGetBool( pResult, FC_ANTIALIAS, 0, &antialias );
++    FcResult eAutoHint = rWrapper.FcPatternGetBool( pResult, FC_AUTOHINT, 0, &autohint );
++    FcResult eSubPixel = rWrapper.FcPatternGetInteger( pResult, FC_RGBA, 0, &rgba);
++    FcResult eHinting = rWrapper.FcPatternGetBool( pResult, FC_HINTING, 0, &hinting );
++
++    FcResult eHintStyle = rWrapper.FcPatternGetInteger( pResult, FC_HINT_STYLE, 0, &hintstyle );
++    rWrapper.FcPatternDestroy( pResult );
+  
+     if( eEmbeddedBitmap == FcResultMatch )
+         aHints.m_eEmbeddedbitmap = embitmap ? fcstatus::istrue : fcstatus::isfalse;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]