rpms/openoffice.org/devel openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch, 1.4, 1.5

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon Apr 24 11:42:09 UTC 2006


Author: caolanm

Update of /cvs/dist/rpms/openoffice.org/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv19143

Modified Files:
	openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch 
Log Message:
rh#189742# I hate fontconfig

openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch:
 inc/outfont.hxx                            |    0 
 inc/psprint/fontmanager.hxx                |    0 
 inc/vclenum.hxx                            |    0 
 psprint/inc/psprint/fontmanager.hxx        |   22 ++++++
 psprint/source/fontmanager/fontconfig.cxx  |  100 ++++++++++++++++++++---------
 psprint/source/fontmanager/fontmanager.cxx |    8 ++
 source/fontmanager/fontconfig.cxx          |    0 
 source/fontmanager/fontmanager.cxx         |    0 
 source/glyphs/gcach_ftyp.cxx               |    0 
 source/glyphs/gcach_ftyp.hxx               |    0 
 unx/source/gdi/xlfd_extd.cxx               |    0 
 vcl/inc/outfont.hxx                        |    6 +
 vcl/inc/vclenum.hxx                        |   22 ++++++
 vcl/source/glyphs/gcach_ftyp.cxx           |   71 ++++++++++++++------
 vcl/source/glyphs/gcach_ftyp.hxx           |    6 +
 vcl/unx/source/gdi/xlfd_extd.cxx           |    4 +
 vcl/win/source/gdi/salgdi3.cxx             |    9 ++
 win/source/gdi/salgdi3.cxx                 |    0 
 18 files changed, 194 insertions(+), 54 deletions(-)

Index: openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch
===================================================================
RCS file: /cvs/dist/rpms/openoffice.org/devel/openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch	20 Apr 2006 12:22:27 -0000	1.4
+++ openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch	24 Apr 2006 11:42:07 -0000	1.5
@@ -62,6 +62,41 @@
 diff -u -r1.17 fontconfig.cxx
 --- openoffice.org.orig/psprint/source/fontmanager/fontconfig.cxx	29 Mar 2006 11:21:45 -0000	1.17
 +++ openoffice.org/psprint/source/fontmanager/fontconfig.cxx	20 Apr 2006 10:36:06 -0000
+@@ -88,6 +88,7 @@
+     FcConfig*		(*m_pFcConfigGetCurrent)();
+     FcObjectSet*	(*m_pFcObjectSetVaBuild)(const char*,va_list);
+     void			(*m_pFcObjectSetDestroy)(FcObjectSet* pSet);
++    FcPattern*		(*m_pFcPatternDuplicate)(const FcPattern*);
+     FcPattern*		(*m_pFcPatternCreate)();
+     void			(*m_pFcPatternDestroy)(FcPattern*);
+     FcFontSet*		(*m_pFcFontList)(FcConfig*,FcPattern*,FcObjectSet*);
+@@ -143,6 +144,9 @@
+     FcPattern* FcPatternCreate()
+     { return m_pFcPatternCreate(); }
+ 
++    FcPattern* FcPatternDuplicate(const FcPattern *p)
++    { return m_pFcPatternDuplicate(p); }
++
+     void FcPatternDestroy( FcPattern* pPattern )
+     { m_pFcPatternDestroy( pPattern ); }
+     
+@@ -238,6 +242,8 @@
+         loadSymbol( "FcObjectSetDestroy" );
+     m_pFcPatternCreate = (FcPattern*(*)())
+         loadSymbol( "FcPatternCreate" );
++    m_pFcPatternDuplicate= (FcPattern*(*)(const FcPattern*))
++        loadSymbol( "FcPatternDuplicate" );
+     m_pFcPatternDestroy = (void(*)(FcPattern*))
+         loadSymbol( "FcPatternDestroy" );
+     m_pFcFontList = (FcFontSet*(*)(FcConfig*,FcPattern*,FcObjectSet*))
+@@ -283,6 +289,7 @@
+             m_pFcObjectSetVaBuild			&&
+             m_pFcObjectSetDestroy			&&
+             m_pFcPatternCreate				&&
++            m_pFcPatternDuplicate			&&
+             m_pFcPatternDestroy				&&
+             m_pFcFontList					&&
+             m_pFcConfigGetFonts             &&
 @@ -355,35 +367,18 @@
              int weight = 0;
              int spacing = 0;
@@ -110,17 +145,19 @@
              if( eFileRes != FcResultMatch || eFamilyRes != FcResultMatch || eOutRes != FcResultMatch )
                  continue;
  
-@@ -404,6 +399,24 @@
+@@ -404,6 +399,26 @@
              if( eOutRes == FcResultMatch && ! outline )
                  continue;
  
-+	    rWrapper.FcConfigSubstitute( rWrapper.getDefConfig(), pFSet->fonts[i], FcMatchFont );
-+	    rWrapper.FcDefaultSubstitute( pFSet->fonts[i] );
-+            FcResult eEmbeddedBitmap = rWrapper.FcPatternGetBool( pFSet->fonts[i], FC_EMBEDDED_BITMAP, 0, &embitmap );
-+            FcResult eAntialias      = rWrapper.FcPatternGetBool( pFSet->fonts[i], FC_ANTIALIAS, 0, &antialias );
-+    	    FcResult eAutoHint       = rWrapper.FcPatternGetBool( pFSet->fonts[i], FC_AUTOHINT, 0, &autohint );
-+    	    FcResult eHinting        = rWrapper.FcPatternGetBool( pFSet->fonts[i], FC_HINTING, 0, &hinting );
-+    	    FcResult eHintStyle      = rWrapper.FcPatternGetInteger( pFSet->fonts[i], FC_HINT_STYLE, 0, &hintstyle );
++	    FcPattern *tempfont = rWrapper.FcPatternDuplicate( pFSet->fonts[i] );
++	    rWrapper.FcConfigSubstitute( rWrapper.getDefConfig(), tempfont, FcMatchFont );
++	    rWrapper.FcDefaultSubstitute( tempfont );
++            FcResult eEmbeddedBitmap = rWrapper.FcPatternGetBool( tempfont, FC_EMBEDDED_BITMAP, 0, &embitmap );
++            FcResult eAntialias      = rWrapper.FcPatternGetBool( tempfont, FC_ANTIALIAS, 0, &antialias );
++    	    FcResult eAutoHint       = rWrapper.FcPatternGetBool( tempfont, FC_AUTOHINT, 0, &autohint );
++    	    FcResult eHinting        = rWrapper.FcPatternGetBool( tempfont, FC_HINTING, 0, &hinting );
++    	    FcResult eHintStyle      = rWrapper.FcPatternGetInteger( tempfont, FC_HINT_STYLE, 0, &hintstyle );
++    	    rWrapper.FcPatternDestroy( tempfont );
 +
 +#ifdef HDU_DEBUG
 +            fprintf( stderr, "   embeddedbitmap = %d, antialias = %d, autohint = %d, hinting = %d, hintstyle = %d\n"




More information about the fedora-cvs-commits mailing list