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