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