rpms/openoffice.org/FC-5 openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch, NONE, 1.1 openoffice.org-2.0.2.ooo64743.vcl.adjustonlevel1.patch, NONE, 1.1 openoffice.org-2.0.2.rh188467.printingdefaults.patch, NONE, 1.1 .cvsignore, 1.100, 1.101 openoffice.org-1.9.121.rh127576.gnomeprintui.patch, 1.11, 1.12 openoffice.org.spec, 1.652, 1.653 sources, 1.162, 1.163 openoffice.org-2.0.2.ooo63583.sd.accessibility.patch, 1.2, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Apr 26 08:36:07 UTC 2006


Author: caolanm

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

Modified Files:
	.cvsignore openoffice.org-1.9.121.rh127576.gnomeprintui.patch 
	openoffice.org.spec sources 
Added Files:
	openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch 
	openoffice.org-2.0.2.ooo64743.vcl.adjustonlevel1.patch 
	openoffice.org-2.0.2.rh188467.printingdefaults.patch 
Removed Files:
	openoffice.org-2.0.2.ooo63583.sd.accessibility.patch 
Log Message:
the outstanding FC-5 top problems

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(-)

--- NEW FILE openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch ---
Index: inc/psprint/fontmanager.hxx
===================================================================
RCS file: /cvs/gsl/psprint/inc/psprint/fontmanager.hxx,v
retrieving revision 1.29
diff -u -r1.29 fontmanager.hxx
--- openoffice.org.orig/psprint/inc/psprint/fontmanager.hxx	29 Mar 2006 11:21:16 -0000	1.29
+++ openoffice.org/psprint/inc/psprint/fontmanager.hxx	20 Apr 2006 10:35:55 -0000
@@ -152,6 +152,17 @@
 };
 }
 
+namespace fchint
+{
+enum type {
+    Nohint = 0,
+    Slight = 1,
+    Medium = 2,
+    Full = 3
+};
+}
+
+
 /*
  *  the difference between FastPrintFontInfo and PrintFontInfo
  *  is that the information in FastPrintFontInfo can usually
@@ -179,6 +190,9 @@
     rtl_TextEncoding        			m_aEncoding;
     fcstatus::type                      m_eEmbeddedbitmap;
     fcstatus::type                      m_eAntialias;
+    fcstatus::type                      m_eAutoHint;
+    fcstatus::type                      m_eHinting;
+    fchint::type                        m_eHintStyle;
 
     FastPrintFontInfo() :
             m_nID( 0 ),
@@ -190,7 +204,10 @@
             m_ePitch( pitch::Unknown ),
             m_aEncoding( RTL_TEXTENCODING_DONTKNOW ),
             m_eEmbeddedbitmap( fcstatus::isunset ),
-            m_eAntialias( fcstatus::isunset )
+            m_eAntialias( fcstatus::isunset ),
+            m_eAutoHint( fcstatus::isunset ),
+            m_eHinting( fcstatus::isunset ),
+            m_eHintStyle( fchint::Full )
     {}
 };
 
@@ -307,6 +324,9 @@
 
         fcstatus::type                              m_eEmbeddedbitmap;
         fcstatus::type                              m_eAntialias;
+        fcstatus::type                              m_eAutoHint;
+        fcstatus::type                              m_eHinting;
+        fchint::type                                m_eHintStyle;
 
         std::map< sal_Unicode, sal_Int32 >			m_aEncodingVector;
         std::map< sal_Unicode, rtl::OString >		m_aNonEncoded;
Index: source/fontmanager/fontconfig.cxx
===================================================================
RCS file: /cvs/gsl/psprint/source/fontmanager/fontconfig.cxx,v
retrieving revision 1.17
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;
             int nCollectionEntry = -1;
-            FcBool outline = false, embitmap = true, antialias = true;
-            
-            FcResult eFileRes	= rWrapper.FcPatternGetString( pFSet->fonts[i], FC_FILE, 0, &file );
-            FcResult eFamilyRes	= rWrapper.FcPatternGetString( pFSet->fonts[i], FC_FAMILY, 0, &family );
-            FcResult eStyleRes	= rWrapper.FcPatternGetString( pFSet->fonts[i], FC_STYLE, 0, &style );
-            FcResult eSlantRes	= rWrapper.FcPatternGetInteger( pFSet->fonts[i], FC_SLANT, 0, &slant );
-            FcResult eWeightRes	= rWrapper.FcPatternGetInteger( pFSet->fonts[i], FC_WEIGHT, 0, &weight );
-            FcResult eSpacRes	= rWrapper.FcPatternGetInteger( pFSet->fonts[i], FC_SPACING, 0, &spacing );
-            FcResult eOutRes	= rWrapper.FcPatternGetBool( pFSet->fonts[i], FC_OUTLINE, 0, &outline );
-            FcResult eIndexRes = rWrapper.FcPatternGetInteger( pFSet->fonts[i], FC_INDEX, 0, &nCollectionEntry );            
-
-            FcResult eEmbeddedBitmap = FcResultNoMatch;
-            FcResult eAntialias = FcResultNoMatch;
-
-			if (eFamilyRes == FcResultMatch)
-			{
-			    FcPattern *pMatch = rWrapper.FcPatternCreate();
-    			rWrapper.FcPatternAddString(pMatch, FC_FAMILY, family);
-    			rWrapper.FcConfigSubstitute( NULL, pMatch, FcMatchPattern );
-    			FcResult eResult;
-    			if (FcPattern* pResult = rWrapper.FcFontSetMatch( NULL, &pFSet, 1, pMatch, &eResult ))
-    			{
-                	eEmbeddedBitmap = rWrapper.FcPatternGetBool( pResult, FC_EMBEDDED_BITMAP, 0, &embitmap );
-    	            eAntialias = rWrapper.FcPatternGetBool( pResult, FC_ANTIALIAS, 0, &antialias );
-    				rWrapper.FcPatternDestroy(pResult);
-    			}
-    			rWrapper.FcPatternDestroy(pMatch);
-   			}
-            
+            FcBool outline = false, embitmap = true, antialias = true, autohint = true, hinting = true;
+            int hintstyle = FC_HINT_FULL;
+
+            FcResult eFileRes        = rWrapper.FcPatternGetString( pFSet->fonts[i], FC_FILE, 0, &file );
+            FcResult eFamilyRes      = rWrapper.FcPatternGetString( pFSet->fonts[i], FC_FAMILY, 0, &family );
+            FcResult eStyleRes       = rWrapper.FcPatternGetString( pFSet->fonts[i], FC_STYLE, 0, &style );
+            FcResult eSlantRes       = rWrapper.FcPatternGetInteger( pFSet->fonts[i], FC_SLANT, 0, &slant );
+            FcResult eWeightRes      = rWrapper.FcPatternGetInteger( pFSet->fonts[i], FC_WEIGHT, 0, &weight );
+            FcResult eSpacRes        = rWrapper.FcPatternGetInteger( pFSet->fonts[i], FC_SPACING, 0, &spacing );
+            FcResult eOutRes         = rWrapper.FcPatternGetBool( pFSet->fonts[i], FC_OUTLINE, 0, &outline );
+            FcResult eIndexRes       = rWrapper.FcPatternGetInteger( pFSet->fonts[i], FC_INDEX, 0, &nCollectionEntry );
+
             if( eFileRes != FcResultMatch || eFamilyRes != FcResultMatch || eOutRes != FcResultMatch )
                 continue;
 
@@ -404,6 +399,26 @@
             if( eOutRes == FcResultMatch && ! outline )
                 continue;
 
+	    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"
+                     , eEmbeddedBitmap == FcResultMatch ? embitmap : -1
+                     , eAntialias == FcResultMatch ? antialias : -1
+                     , eAutoHint == FcResultMatch ? autohint : -1
+                     , eHinting == FcResultMatch ? hinting : -1
+                     , eHintStyle == FcResultMatch ? hintstyle : -1
+                     );
+#endif
+
             // see if this font is already cached
             // update attributes
             std::list< PrintFont* > aFonts;
@@ -526,8 +539,38 @@
                 {
                   pUpdate->m_eAntialias = antialias ? fcstatus::istrue : fcstatus::isfalse;
                 }
+                if( eAutoHint == FcResultMatch )
+                {
+                  pUpdate->m_eAutoHint = autohint ? fcstatus::istrue : fcstatus::isfalse;
+                }
+                if( eHinting == FcResultMatch )
+                {
+                  pUpdate->m_eHinting = hinting ? fcstatus::istrue : fcstatus::isfalse;
+                }
+                if (eHintStyle != FcResultMatch)
+                {
+                  pUpdate->m_eHintStyle = fchint::Full;
+                }
+                else
+                {
+                  switch (hintstyle)
+                  {
+                    case FC_HINT_NONE:
+                      pUpdate->m_eHintStyle = fchint::Nohint;
+                      break;
+                    case FC_HINT_SLIGHT:
+                      pUpdate->m_eHintStyle = fchint::Slight;
+                      break;
+                    case FC_HINT_MEDIUM:
+                      pUpdate->m_eHintStyle = fchint::Medium;
+                      break;
+                    case FC_HINT_FULL:
+                    default:
+                      pUpdate->m_eHintStyle = fchint::Full;
+                      break;
+                  }
+                }
 
-                
                 // update font cache
                 m_pFontCache->updateFontCacheEntry( pUpdate, false );
                 // sort into known fonts
Index: source/fontmanager/fontmanager.cxx
===================================================================
RCS file: /cvs/gsl/psprint/source/fontmanager/fontmanager.cxx,v
retrieving revision 1.67
diff -u -r1.67 fontmanager.cxx
--- openoffice.org.orig/psprint/source/fontmanager/fontmanager.cxx	7 Apr 2006 13:44:31 -0000	1.67
+++ openoffice.org/psprint/source/fontmanager/fontmanager.cxx	20 Apr 2006 10:36:18 -0000
@@ -381,7 +381,10 @@
         m_bHaveVerticalSubstitutedGlyphs( false ),
         m_bUserOverride( false ),
         m_eEmbeddedbitmap( fcstatus::isunset ),
-        m_eAntialias( fcstatus::isunset )
+        m_eAntialias( fcstatus::isunset ),
+        m_eAutoHint( fcstatus::isunset ),
+        m_eHinting( fcstatus::isunset ),
+        m_eHintStyle( fchint::Full )
 {
 }
 
@@ -2595,6 +2598,9 @@
     rInfo.m_aEncoding       = pFont->m_aEncoding;
     rInfo.m_eEmbeddedbitmap = pFont->m_eEmbeddedbitmap;
     rInfo.m_eAntialias      = pFont->m_eAntialias;
+    rInfo.m_eAutoHint       = pFont->m_eAutoHint;
+    rInfo.m_eHinting        = pFont->m_eHinting;
+    rInfo.m_eHintStyle      = pFont->m_eHintStyle;
     rInfo.m_aAliases.clear();
     for( ::std::list< int >::iterator it = pFont->m_aAliases.begin(); it != pFont->m_aAliases.end(); ++it )
         rInfo.m_aAliases.push_back( m_pAtoms->getString( ATOM_FAMILYNAME, *it ) );
Index: inc/outfont.hxx
===================================================================
RCS file: /cvs/gsl/vcl/inc/outfont.hxx,v
retrieving revision 1.21
diff -u -r1.21 outfont.hxx
--- openoffice.org.orig/vcl/inc/outfont.hxx	7 Apr 2006 15:27:27 -0000	1.21
+++ openoffice.org/vcl/inc/outfont.hxx	20 Apr 2006 10:32:09 -0000
@@ -120,6 +120,9 @@
     bool               IsSubsettable() const     { return mbSubsettable; }
     FontEmbeddedBitmap UseEmbeddedBitmap() const { return meEmbeddedBitmap; }
     FontAntiAlias      UseAntiAlias() const      { return meAntiAlias; }
+    FontHinting        UseHinting() const        { return meHinting; }
+    FontAutoHint       UseAutoHint() const       { return meAutoHint; }
+    FontHintStyle      GetHintStyle() const      { return meHintStyle; }
 
 public: // TODO: hide members behind accessor methods
     String             maMapNames;       // List of family name aliass separated with ';'
@@ -130,6 +133,9 @@
     bool               mbEmbeddable;     // true: the font can be embedded
     FontEmbeddedBitmap meEmbeddedBitmap; // whether the embedded bitmaps should be used
     FontAntiAlias      meAntiAlias;      // whether the font should be antialiased
+    FontAutoHint       meAutoHint;       // whether the font should be autohinted
+    FontHinting        meHinting;        // whether the font should be hinted
+    FontHintStyle      meHintStyle;      // type of font hinting to be used
 };
 
 // ----------------
Index: inc/vclenum.hxx
===================================================================
RCS file: /cvs/gsl/vcl/inc/vclenum.hxx,v
retrieving revision 1.7
diff -u -r1.7 vclenum.hxx
--- openoffice.org.orig/vcl/inc/vclenum.hxx	29 Mar 2006 11:24:50 -0000	1.7
+++ openoffice.org/vcl/inc/vclenum.hxx	20 Apr 2006 10:32:57 -0000
@@ -289,6 +289,28 @@
 
 #endif
 
+#ifndef ENUM_FONTAUTOHINT_DECLARED
+#define ENUM_FONTAUTOHINT_DECLARED
+
+enum FontAutoHint { AUTOHINT_DONTKNOW, AUTOHINT_FALSE, AUTOHINT_TRUE };
+
+#endif
+
+#ifndef ENUM_FONTHINTING_DECLARED
+#define ENUM_FONTHINTING_DECLARED
+
+enum FontHinting { HINTING_DONTKNOW, HINTING_FALSE, HINTING_TRUE };
+
+#endif
+
+#ifndef ENUM_FONTHINTSTYLE_DECLARED
+#define ENUM_FONTHINTSTYLE_DECLARED
+
+enum FontHintStyle { HINT_NONE, HINT_SLIGHT, HINT_MEDIUM, HINT_FULL };
+
+#endif
+
+
 // ------------------------------------------------------------
 
 #ifndef ENUM_KEYFUNCTYPE_DECLARED
Index: source/glyphs/gcach_ftyp.cxx
===================================================================
RCS file: /cvs/gsl/vcl/source/glyphs/gcach_ftyp.cxx,v
retrieving revision 1.122
diff -u -r1.122 gcach_ftyp.cxx
--- openoffice.org.orig/vcl/source/glyphs/gcach_ftyp.cxx	7 Apr 2006 15:33:10 -0000	1.122
+++ openoffice.org/vcl/source/glyphs/gcach_ftyp.cxx	20 Apr 2006 10:35:25 -0000
@@ -387,6 +387,13 @@
     return mpExtraKernInfo->GetUnscaledKernValue( cLeftChar, cRightChar );
 }
 
+bool FtFontInfo::DontUseHinting() const
+{
+    return
+      (maDevFontAttributes.UseHinting() == HINTING_FALSE) ||
+      (maDevFontAttributes.GetHintStyle() == HINT_NONE);
+}
+
 // -----------------------------------------------------------------------
 
 static unsigned GetUInt( const unsigned char* p ) { return((p[0]<<24)+(p[1]<<16)+(p[2]<<8)+p[3]);}
@@ -691,6 +698,7 @@
 FreetypeServerFont::FreetypeServerFont( const ImplFontSelectData& rFSD, FtFontInfo* pFI )
 :   ServerFont( rFSD ),
     mnPrioEmbedded(nDefaultPrioEmbedded), mnPrioAntiAlias(nDefaultPrioAntiAlias),
+    mnPrioAutoHint(nDefaultPrioAutoHint),
     mpFontInfo( pFI ),
     maFaceFT( NULL ),
     maSizeFT( NULL ),
@@ -813,22 +821,27 @@
 
     mbArtItalic = (rFSD.meItalic != ITALIC_NONE && rFSD.mpFontData->GetSlant() == ITALIC_NONE);
     mbArtBold = (rFSD.meWeight > WEIGHT_MEDIUM && rFSD.mpFontData->GetWeight() <= WEIGHT_MEDIUM);
+    mbUseGamma = false;
+    if (mbArtBold)
+    {
+        static const int TT_CODEPAGE_RANGE_874  = (1L << 16); // Thai
+        static const int TT_CODEPAGE_RANGE_932  = (1L << 17); // JIS/Japan
+        static const int TT_CODEPAGE_RANGE_936  = (1L << 18); // Chinese: Simplified
+        static const int TT_CODEPAGE_RANGE_949  = (1L << 19); // Korean Wansung
+        static const int TT_CODEPAGE_RANGE_950  = (1L << 20); // Chinese: Traditional
+        static const int TT_CODEPAGE_RANGE_1361 = (1L << 21); // Korean Johab
+        static const int TT_CODEPAGE_RANGES1_CJKT = 0x3F0000; // all of the above
+        const TT_OS2* pOs2 = (const TT_OS2*)FT_Get_Sfnt_Table( maFaceFT, ft_sfnt_os2 );
+        if ((pOs2) && (pOs2->ulCodePageRange1 & TT_CODEPAGE_RANGES1_CJKT )
+	          && rFSD.mnHeight < 20)
+	    mbUseGamma = true;
+    }
+
+    FontAutoHint eHint = mpFontInfo->GetUseAutoHint();
+    if (eHint == AUTOHINT_DONTKNOW)
+        eHint = mbUseGamma ? AUTOHINT_TRUE : AUTOHINT_FALSE;
 
-    static const int TT_CODEPAGE_RANGE_874  = (1L << 16); // Thai
-    static const int TT_CODEPAGE_RANGE_932  = (1L << 17); // JIS/Japan
-    static const int TT_CODEPAGE_RANGE_936  = (1L << 18); // Chinese: Simplified
-    static const int TT_CODEPAGE_RANGE_949  = (1L << 19); // Korean Wansung
-    static const int TT_CODEPAGE_RANGE_950  = (1L << 20); // Chinese: Traditional
-    static const int TT_CODEPAGE_RANGE_1361 = (1L << 21); // Korean Johab
-    static const int TT_CODEPAGE_RANGES1_CJKT = 0x3F0000; // all of the above
-    const TT_OS2* pOs2 = (const TT_OS2*)FT_Get_Sfnt_Table( maFaceFT, ft_sfnt_os2 );
-    if ((pOs2) && (pOs2->ulCodePageRange1 & TT_CODEPAGE_RANGES1_CJKT )
-	      && rFSD.mnHeight < 20)
-	mbUseGamma = true;
-    else
-	mbUseGamma = false;
-
-    if (mbUseGamma)
+    if (eHint == AUTOHINT_TRUE)
 	mnLoadFlags |= FT_LOAD_FORCE_AUTOHINT;
 
     if( (mnSin != 0) && (mnCos != 0) ) // hinting for 0/90/180/270 degrees only
@@ -839,16 +852,32 @@
         mnPrioAntiAlias = 0;
     if (mpFontInfo->DontUseEmbeddedBitmaps())
         mnPrioEmbedded = 0;
+    if (mpFontInfo->DontUseHinting())
+        mnPrioAutoHint = 0;
 
 #if (FTVERSION >= 2005) || defined(TT_CONFIG_OPTION_BYTECODE_INTERPRETER)
-    if( nDefaultPrioAutoHint <= 0 )
+    if( mnPrioAutoHint <= 0 )
 #endif
         mnLoadFlags |= FT_LOAD_NO_HINTING;
 
-#ifdef FT_LOAD_TARGET_LIGHT
+#if defined(FT_LOAD_TARGET_LIGHT) && defined(FT_LOAD_TARGET_NORMAL)
     // enable "light hinting" if available
     if( !(mnLoadFlags & FT_LOAD_NO_HINTING) && (nFTVERSION >= 2103))
-        mnLoadFlags |= FT_LOAD_TARGET_LIGHT;
+    {
+      switch (mpFontInfo->GetHintStyle())
+      {
+          default:
+          case HINT_SLIGHT:
+          case HINT_MEDIUM:
+                mnLoadFlags |= FT_LOAD_TARGET_LIGHT;
+                break;
+          case HINT_FULL:
+                mnLoadFlags |= FT_LOAD_TARGET_NORMAL;
+                break;
+          case HINT_NONE:
+                break;
+      }
+    }
 #endif
 
     if( ((mnCos != 0) && (mnSin != 0)) || (mnPrioEmbedded <= 0) )
@@ -1307,11 +1336,11 @@
 #if (FTVERSION >= 2002)
     // for 0/90/180/270 degree fonts enable autohinting even if not advisable
     // non-hinted and non-antialiased bitmaps just look too ugly
-    if( (mnCos==0 || mnSin==0) && (nDefaultPrioAutoHint > 0) )
+    if( (mnCos==0 || mnSin==0) && (mnPrioAutoHint > 0) )
         nLoadFlags &= ~FT_LOAD_NO_HINTING;
 #endif
 
-    if( mnPrioEmbedded <= nDefaultPrioAutoHint )
+    if( mnPrioEmbedded <= mnPrioAutoHint )
         nLoadFlags |= FT_LOAD_NO_BITMAP;
 
     FT_Error rc = -1;
@@ -1458,7 +1487,7 @@
     // autohinting in FT<=2.0.4 makes antialiased glyphs look worse
     nLoadFlags |= FT_LOAD_NO_HINTING;
 #else
-    if( (nGlyphFlags & GF_UNHINTED) || (nDefaultPrioAutoHint < mnPrioAntiAlias) )
+    if( (nGlyphFlags & GF_UNHINTED) || (mnPrioAutoHint < mnPrioAntiAlias) )
         nLoadFlags |= FT_LOAD_NO_HINTING;
 #endif
 
Index: source/glyphs/gcach_ftyp.hxx
===================================================================
RCS file: /cvs/gsl/vcl/source/glyphs/gcach_ftyp.hxx,v
retrieving revision 1.34
diff -u -r1.34 gcach_ftyp.hxx
--- openoffice.org.orig/vcl/source/glyphs/gcach_ftyp.hxx	29 Mar 2006 11:26:24 -0000	1.34
+++ openoffice.org/vcl/source/glyphs/gcach_ftyp.hxx	20 Apr 2006 10:35:25 -0000
@@ -92,11 +92,14 @@
     const ::rtl::OString* GetFontFileName() const   { return mpFontFile->GetFileName(); }
     int                   GetFaceNum() const        { return mnFaceNum; }
     int                   GetSynthetic() const      { return mnSynthetic; }
-    int                   GetFontId() const         { return mnFontId; }
+    int                   GetFontId() const         { return mnFontId; }
     bool                  DontUseAntiAlias() const  
         { return maDevFontAttributes.UseAntiAlias() == ANTIALIAS_FALSE; }
     bool                  DontUseEmbeddedBitmaps() const 
         { return maDevFontAttributes.UseEmbeddedBitmap() == EMBEDDEDBITMAP_FALSE; }
+    bool                  DontUseHinting() const;
+    FontAutoHint          GetUseAutoHint() const 	{ return maDevFontAttributes.UseAutoHint(); }
+    FontHintStyle         GetHintStyle() const 		{ return maDevFontAttributes.GetHintStyle(); }
     bool                  IsSymbolFont() const      { return maDevFontAttributes.IsSymbolFont(); }
     const ImplFontAttributes& GetFontAttributes() const { return maDevFontAttributes; }
 
@@ -212,6 +215,7 @@
     int                         mnWidth;
     int                         mnPrioEmbedded;
     int                         mnPrioAntiAlias;
+    int                         mnPrioAutoHint;
     FtFontInfo*                 mpFontInfo;
     FT_Int                      mnLoadFlags;
     double                      mfStretch;
Index: unx/source/gdi/xlfd_extd.cxx
===================================================================
RCS file: /cvs/gsl/vcl/unx/source/gdi/xlfd_extd.cxx,v
retrieving revision 1.26
diff -u -r1.26 xlfd_extd.cxx
--- openoffice.org.orig/vcl/unx/source/gdi/xlfd_extd.cxx	29 Mar 2006 11:29:14 -0000	1.26
+++ openoffice.org/vcl/unx/source/gdi/xlfd_extd.cxx	20 Apr 2006 10:40:01 -0000
@@ -117,6 +117,10 @@
     meEmbeddedBitmap = EMBEDDEDBITMAP_DONTKNOW;
     meAntiAlias = ANTIALIAS_DONTKNOW;
 
+    meAutoHint = AUTOHINT_DONTKNOW;
+    meHinting = HINTING_DONTKNOW;
+    meHintStyle = HINT_FULL;
+
     mnQuality      = -1;
 }
 
Index: win/source/gdi/salgdi3.cxx
===================================================================
RCS file: /cvs/gsl/vcl/win/source/gdi/salgdi3.cxx,v
retrieving revision 1.77
diff -u -r1.77 salgdi3.cxx
--- openoffice.org.orig/vcl/win/source/gdi/salgdi3.cxx	29 Mar 2006 11:29:53 -0000	1.77
+++ openoffice.org/vcl/win/source/gdi/salgdi3.cxx	20 Apr 2006 10:40:39 -0000
@@ -411,6 +411,9 @@
 
     aDFA.meEmbeddedBitmap = EMBEDDEDBITMAP_DONTKNOW;
     aDFA.meAntiAlias = ANTIALIAS_DONTKNOW;
+    aDFA.meAutoHint = AUTOHINT_DONTKNOW;
+    aDFA.meHinting = HINTING_DONTKNOW;
+    aDFA.meHintStyle = HINT_FULL;
     
     // TODO: add alias names
 
@@ -493,6 +496,9 @@
 
     aDFA.meEmbeddedBitmap = EMBEDDEDBITMAP_DONTKNOW;
     aDFA.meAntiAlias = ANTIALIAS_DONTKNOW;
+    aDFA.meAutoHint = AUTOHINT_DONTKNOW;
+    aDFA.meHinting = HINTING_DONTKNOW;
+    aDFA.meHintStyle = HINT_FULL;
 
     // TODO: add alias names
     return aDFA;
@@ -1890,6 +1896,9 @@
     aDFA.mbEmbeddable = false;
     aDFA.meEmbeddedBitmap = EMBEDDEDBITMAP_DONTKNOW;
     aDFA.meAntiAlias = ANTIALIAS_DONTKNOW;
+    aDFA.meAutoHint = AUTOHINT_DONTKNOW;
+    aDFA.meHinting = HINTING_DONTKNOW;
+    aDFA.meHintStyle = HINT_FULL;
 
     /*
 	// TODO: improve ImplDevFontAttributes using "FONTRES:" from *.fot file

openoffice.org-2.0.2.ooo64743.vcl.adjustonlevel1.patch:
 source/gdi/sallayout.cxx     |    0 
 vcl/source/gdi/sallayout.cxx |    2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE openoffice.org-2.0.2.ooo64743.vcl.adjustonlevel1.patch ---
Index: source/gdi/sallayout.cxx
===================================================================
RCS file: /cvs/gsl/vcl/source/gdi/sallayout.cxx,v
retrieving revision 1.75
diff -u -r1.75 sallayout.cxx
--- openoffice.org.orig/vcl/source/gdi/sallayout.cxx	26 Jan 2006 18:09:48 -0000	1.75
+++ openoffice.org/vcl/source/gdi/sallayout.cxx	25 Apr 2006 11:42:27 -0000
@@ -1560,7 +1560,7 @@
     for( n = 0; n < nLevel; ++n )
         maFallbackRuns[n].ResetPos();
     int nActiveCharPos = nCharPos[0];
-    while( nValid[0] && (nLevel > 1))
+    while( nValid[0] && (nLevel > 0))
     {
         // find best fallback level
         for( n = 0; n < nLevel; ++n )

openoffice.org-2.0.2.rh188467.printingdefaults.patch:
 configuration/ppds/SGENPRT.PS                |    0 
 configuration/psprint.conf                   |    0 
 psprint_config/configuration/ppds/SGENPRT.PS |    1 +
 psprint_config/configuration/psprint.conf    |    4 ++--
 4 files changed, 3 insertions(+), 2 deletions(-)

--- NEW FILE openoffice.org-2.0.2.rh188467.printingdefaults.patch ---
Index: configuration/ppds/SGENPRT.PS
===================================================================
RCS file: /cvs/external/psprint_config/configuration/ppds/SGENPRT.PS,v
retrieving revision 1.3
diff -u -p -u -r1.3 SGENPRT.PS
--- openoffice.org.orig/psprint_config/configuration/ppds/SGENPRT.PS	26 Nov 2004 16:10:35 -0000	1.3
+++ openoffice.org/psprint_config/configuration/ppds/SGENPRT.PS	30 Aug 2005 11:17:51 -0000
@@ -58,6 +58,7 @@
 *ColorDevice: True
 *DefaultColorSpace: RGB
 *LanguageLevel: "2"
+*TTRasterizer: Type42
 
 *% --- For None Color or old PostScript(R) printers use following lines ---
 *% *ColorDevice: False
Index: configuration/psprint.conf
===================================================================
RCS file: /cvs/external/psprint_config/configuration/psprint.conf,v
retrieving revision 1.2
diff -u -p -u -r1.2 psprint.conf
--- openoffice.org.orig/psprint_config/configuration/psprint.conf	9 Nov 2004 16:38:35 -0000	1.2
+++ openoffice.org/psprint_config/configuration/psprint.conf	30 Aug 2005 11:17:50 -0000
@@ -48,7 +48,7 @@
 ;         defaults for newly added printers.
 ; PerformFontSubstitution: wether to replace downloadable fonts
 ;         with resident fonts or not
-PerformFontSubstitution=true
+PerformFontSubstitution=false
 
 ; SubstFont_<downloadable font>: the resident font to replace
 ;         <downloadable font> if PerformFontSubstitution is true
@@ -84,7 +84,7 @@
 
 ; PerformFontSubstitution: wether to replace downloadable fonts
 ;         with resident fonts or not
-PerformFontSubstitution=true
+PerformFontSubstitution=false
 
 ; SubstFont_<downloadable font>: the resident font to replace
 ;         <downloadable font> if PerformFontSubstitution is true


Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/openoffice.org/FC-5/.cvsignore,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -r1.100 -r1.101
--- .cvsignore	25 Feb 2006 13:49:16 -0000	1.100
+++ .cvsignore	26 Apr 2006 08:36:03 -0000	1.101
@@ -161,3 +161,4 @@
 OOB680_m3.tar.bz2
 OOB680_m4.tar.bz2
 OOB680_m5.tar.bz2
+ooo64726.sdf

openoffice.org-1.9.121.rh127576.gnomeprintui.patch:
 configuration/ppds/SGENPRT.PS                |    0 
 configuration/psprint.conf                   |    0 
 inc/jobset.hxx                               |    0 
 inc/print.hxx                                |    0 
 psprint/source/printer/cupsmgr.cxx           |   19 
 psprint/source/printer/makefile.mk           |    2 
 psprint/util/makefile.mk                     |    4 
 psprint_config/configuration/ppds/SGENPRT.PS |    2 
 psprint_config/configuration/psprint.conf    |    2 
 source/dialogs/makefile.mk                   |    0 
 source/dialogs/printdlg.cxx                  |    0 
 source/gdi/jobset.cxx                        |    0 
 source/printer/cupsmgr.cxx                   |    0 
 svtools/source/dialogs/makefile.mk           |    4 
 svtools/source/dialogs/printdlg.cxx          |  525 ++++++++++++++++++++++++++-
 svtools/util/makefile.mk                     |    8 
 util/makefile.mk                             |    0 
 vcl/inc/jobset.hxx                           |    1 
 vcl/inc/print.hxx                            |    1 
 vcl/source/gdi/jobset.cxx                    |  194 +++++++++
 20 files changed, 757 insertions(+), 5 deletions(-)

Index: openoffice.org-1.9.121.rh127576.gnomeprintui.patch
===================================================================
RCS file: /cvs/dist/rpms/openoffice.org/FC-5/openoffice.org-1.9.121.rh127576.gnomeprintui.patch,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- openoffice.org-1.9.121.rh127576.gnomeprintui.patch	29 Mar 2006 10:48:48 -0000	1.11
+++ openoffice.org-1.9.121.rh127576.gnomeprintui.patch	26 Apr 2006 08:36:03 -0000	1.12
@@ -5,6 +5,32 @@
 diff -u -p -u -r1.12 cupsmgr.cxx
 --- openoffice.org.orig/psprint/source/printer/cupsmgr.cxx	6 Jun 2005 16:07:42 -0000	1.12
 +++ openoffice.org/psprint/source/printer/cupsmgr.cxx	25 Jul 2005 15:02:37 -0000
+@@ -52,6 +52,16 @@
+ 
+ #include <algorithm>
+ 
++#define WE_ARE_LIBGNOMEPRINT_INTERNALS
++#include <libgnomeprint/private/gpa-utils.h>
++#include <libgnomeprint/gnome-print-config.h>
++#include <libgnomeprint/gnome-print.h>
++#include <libgnomeprint/private/gpa-printer.h>
++#include <libgnomeprint/private/gpa-key.h>
++#include <libgnomeprint/private/gpa-node.h>
++#include <libgnomeprint/private/gpa-state.h>
++#include <libgnomeprint/private/gpa-root.h>
++
+ namespace psp
+ {
+ class CUPSWrapper
+@@ -409,6 +419,8 @@
+ #if OSL_DEBUG_LEVEL > 1
+     fprintf( stderr, "starting cupsGetDests\n" );
+ #endif
++    if (!gpa_initialized())
++    	gpa_init();
+     int nDests = 0;
+     cups_dest_t* pDests = NULL;
+     nDests = m_pCUPSWrapper->cupsGetDests( &pDests );
 @@ -475,9 +487,10 @@ void CUPSManager::initialize()
  
      // clear old stuff
@@ -528,12 +554,13 @@
  short PrintDialog::Execute()
  {
  	if ( !mpPrinter || mpPrinter->IsPrinting() || mpPrinter->IsJobActive() )
-@@ -647,6 +832,343 @@ short PrintDialog::Execute()
+@@ -647,6 +832,345 @@ short PrintDialog::Execute()
  	ImplInitControls();
  	ImplModifyControlHdl( NULL );
  
 +#if 1
 +	static GPAList *pKnownPrinters;
++	gulong id = 0;
 +	if (!pKnownPrinters)
 +	{
 +		if (!gpa_initialized())
@@ -795,6 +822,7 @@
 +	}
 +
 +	gtk_widget_destroy( pDialog );
++	if (id) g_signal_handler_disconnect (GPA_NODE(pKnownPrinters), id);
 +	g_object_unref (pConfig);
 +	g_object_unref (pJob);
 +
@@ -917,11 +945,23 @@
  *PCFileName: "SGENPRT.PPD"
  
  
-@@ -58,6 +58,7 @@
- *ColorDevice: True
- *DefaultColorSpace: RGB
- *LanguageLevel: "2"
-+*TTRasterizer: Type42
+--- openoffice.org.orig/psprint/util/makefile.mk	2006-04-10 16:10:36.000000000 +0100
++++ openoffice.org/psprint/util/makefile.mk	2006-04-11 17:31:45.000000000 +0100
+@@ -89,5 +89,9 @@
  
- *% --- For None Color or old PostScript(R) printers use following lines ---
- *% *ColorDevice: False
+ # --- Targets ------------------------------------------------------------
+ 
++PKGCONFIG_MODULES=libgnomeprint-2.2
++.INCLUDE: pkg_config.mk
++
++SHL1STDLIBS+=$(PKGCONFIG_LIBS)
+ 
+ .INCLUDE :	target.mk
+--- openoffice.org.orig/psprint/source/printer/makefile.mk	2006-04-10 16:10:35.000000000 +0100
++++ openoffice.org/psprint/source/printer/makefile.mk	2006-04-11 17:30:25.000000000 +0100
+@@ -75,3 +75,5 @@
+ 
+ $(SLO)$/cupsmgr.obj : $(INCCOM)$/rtsname.hxx
+ 
++PKGCONFIG_MODULES=libgnomeprint-2.2
++.INCLUDE: pkg_config.mk


Index: openoffice.org.spec
===================================================================
RCS file: /cvs/dist/rpms/openoffice.org/FC-5/openoffice.org.spec,v
retrieving revision 1.652
retrieving revision 1.653
diff -u -r1.652 -r1.653
--- openoffice.org.spec	10 Apr 2006 13:25:30 -0000	1.652
+++ openoffice.org.spec	26 Apr 2006 08:36:04 -0000	1.653
@@ -93,6 +93,7 @@
 Source9:	Tigert-templates.tar.gz
 Source10:	documentation.openoffice.org-templates.tar.gz
 Source11:	redhat-templates.tar.gz
+Source12:	ooo64726.sdf
 BuildRequires:	tcsh, perl, sed, zip, bzip2, unzip, tar, findutils, prelink
 BuildRequires:	autoconf, make >= 3.79.1, ant, flex, bison, perl-Compress-Zlib
 BuildRequires:	gcc >= 3.4.3, gcc-c++ >= 3.4.3, binutils, perl-Archive-Zip
@@ -159,6 +160,9 @@
 Patch34: openoffice.org-2.0.2.ooo62030.solenv._version.patch
 Patch35: openoffice.org-2.0.2.oooXXXXX.config_office.noppds.patch
 Patch36: openoffice.org-2.0.2.ooo63155.sfx2.badscript.patch
+Patch37: openoffice.org-2.0.2.rh188467.printingdefaults.patch
+Patch38: openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch
+Patch39: openoffice.org-2.0.2.ooo64743.vcl.adjustonlevel1.patch
 
 %define instdir %{_libdir}/openoffice.org2.0
 
@@ -804,6 +808,9 @@
 %patch34 -p1 -b .ooo62030.solenv._version.patch
 %patch35 -p1 -b .oooXXXXX.config_office.noppds.patch
 %patch36 -p1 -b .ooo63155.sfx2.badscript.patch
+%patch37 -p1 -b .rh188467.printingdefaults.patch
+%patch38 -p1 -b .ooo64508.vcl.honourfontconfighinting.patch
+%patch39 -p1 -b .ooo64743.vcl.adjustonlevel1.patch
 
 %if %{includingexternals}
 #start ludicrous workaround
@@ -894,6 +901,7 @@
 deliver -link
 localize -m -x -l ta-IN -f %{SOURCE2}
 localize -m -x -l ga -f %{SOURCE6}
+localize -m -x -l bn -f %{SOURCE12}
 cd ../..
 
 cd instsetoo_native/util
@@ -3243,8 +3251,14 @@
 %{instdir}/share/registry/modules/org/openoffice/Office/Scripting/Scripting-python.xcu
 
 %changelog
-* Mon Apr 10 2006 Caolan McNamara <caolanm at redhat.com> - 1:2.0.2-5.8
-- rh#188053# a11y fixes
+* Wed Apr 26 2006 Caolan McNamara <caolanm at redhat.com> - 1:2.0.2-5.8
+- rh#187939# mispatch between gnomeprint vs OOo printer detect
+- rh#188467# set better printing defaults
+- rh#189061# honour fontconfig autohint/hinting settings
+- rh#189761# multilevel glyph fallback fix
+- rh#188053# a11y + impress crash
+- rh#189760# Bengali short-cut keys are not available easly from the keyboard
+- upgrade to 2.0.X Tamil translations
 
 * Wed Mar 29 2006 Caolan McNamara <caolanm at redhat.com> - 1:2.0.2-5.7
 - ooo#59997# replacement opens___.ttf updated


Index: sources
===================================================================
RCS file: /cvs/dist/rpms/openoffice.org/FC-5/sources,v
retrieving revision 1.162
retrieving revision 1.163
diff -u -r1.162 -r1.163
--- sources	20 Mar 2006 10:28:10 -0000	1.162
+++ sources	26 Apr 2006 08:36:04 -0000	1.163
@@ -1,4 +1,3 @@
-a66c6ab52b2eb2deaa7ff85595276b15  GSI_ta-IN.sdf
 a4a22f6b80a4f02c01bbe0400e131e57  RegisterAndLicence.xcu
 1825a3b182fd46e08075a42257cfc6aa  gcj-sed.sh
 16cb79cb018c6311e9797e85bd2461b2  evolocal.odb
@@ -7,6 +6,8 @@
 1b4d9a03ebb4c864015620153afb77c6  Tigert-templates.tar.gz
 20789fc643e2b857291e1973075fccb0  OOB680_m5.tar.bz2
 67ba19cf8ac46671799ff63a48901e8b  openoffice.org-simple-crash_report.sh
-1fb6d1fc0b5c6f4425b3cd779727b30c  opens___.ttf
-8d8c4222654f718436c234582c8fd529  GSI_ga.sdf
 bfa60acd8b0c30a1a6d14165da45c1dd  openoffice.org-myspell-contrib.tar.gz
+afe937f8dd4c3aa10e9bda068059cdfd  opens___.ttf
+7f31494f6d929e03b1e29408d8083d19  GSI_ga.sdf
+008752c97e7cd0edbb7f6589ae61e498  GSI_ta-IN.sdf
+05a906513ef89af5e189097fa0c50681  ooo64726.sdf


--- openoffice.org-2.0.2.ooo63583.sd.accessibility.patch DELETED ---




More information about the fedora-cvs-commits mailing list