rpms/openoffice.org/devel openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch, NONE, 1.1 openoffice.org.spec, 1.664, 1.665
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Thu Apr 20 11:05:47 UTC 2006
Author: caolanm
Update of /cvs/dist/rpms/openoffice.org/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv28050
Modified Files:
openoffice.org.spec
Added Files:
openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch
Log Message:
honour fontconfig hinting
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 | 98 +++++++++++++++++++----------
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 | 72 +++++++++++++++------
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, 192 insertions(+), 55 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
@@ -334,9 +341,14 @@
FC_SLANT,
FC_WEIGHT,
FC_SPACING,
+ FC_ANTIALIAS,
+ FC_HINTING,
+ FC_HINT_STYLE,
+ FC_AUTOHINT,
FC_FILE,
- FC_OUTLINE,
FC_INDEX,
+ FC_OUTLINE,
+ FC_EMBEDDED_BITMAP,
(void *) NULL );
FcPattern* pPattern = rWrapper.FcPatternCreate();
FcFontSet* pFSet = rWrapper.FcFontList( pConfig, pPattern, pOSet );
@@ -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,24 @@
if( eOutRes == FcResultMatch && ! outline )
continue;
+ rWrapper.FcConfigSubstitute( pConfig, 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 );
+
+#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]);}
@@ -684,6 +691,7 @@
FreetypeServerFont::FreetypeServerFont( const ImplFontSelectData& rFSD, FtFontInfo* pFI )
: ServerFont( rFSD ),
mnPrioEmbedded(nDefaultPrioEmbedded), mnPrioAntiAlias(nDefaultPrioAntiAlias),
+ mnPrioAutoHint(nDefaultPrioAutoHint),
mpFontInfo( pFI ),
maFaceFT( NULL ),
maSizeFT( NULL ),
@@ -806,42 +814,64 @@
mbArtItalic = (rFSD.meItalic != ITALIC_NONE && pFI->GetFontAttributes().GetSlant() == ITALIC_NONE);
mbArtBold = (rFSD.meWeight > WEIGHT_MEDIUM && pFI->GetFontAttributes().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
mnLoadFlags |= FT_LOAD_NO_HINTING;
+
mnLoadFlags |= FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH; //#88334#
if (mpFontInfo->DontUseAntiAlias())
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) )
@@ -1300,11 +1330,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;
@@ -1451,7 +1481,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
Index: openoffice.org.spec
===================================================================
RCS file: /cvs/dist/rpms/openoffice.org/devel/openoffice.org.spec,v
retrieving revision 1.664
retrieving revision 1.665
diff -u -r1.664 -r1.665
--- openoffice.org.spec 18 Apr 2006 10:11:41 -0000 1.664
+++ openoffice.org.spec 20 Apr 2006 11:05:44 -0000 1.665
@@ -222,6 +222,7 @@
%endif
Patch39: openoffice.org-2.0.2.rh188467.printingdefaults.patch
Patch40: openoffice.org-2.0.2.ooo64463.extensions.noxaw.patch
+Patch41: openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch
%define instdir %{_libdir}/openoffice.org2.0
@@ -1136,6 +1137,7 @@
%endif
%patch39 -p1 -b .rh188467.printingdefaults.patch
%patch40 -p1 -b .ooo64463.extensions.noxaw.patch
+%patch41 -p1 -b .ooo64508.vcl.honourfontconfighinting.patch
%if %{includingexternals}
#start ludicrous workaround
@@ -3685,6 +3687,7 @@
* Tue Apr 18 2006 Caolan McNamara <caolanm at redhat.com> - 1:2.0.2-5.10
- ooo#64463# don't require Xaw for the use mozilla plugins (e.g flash)
in OOo feature
+- ooo#64508#/rh#189061# honour fontconfig hinting settings
* Wed Apr 12 2006 Caolan McNamara <caolanm at redhat.com> - 1:2.0.2-5.9
- rh#187939# not detecting changes to CUPS printers during execution
More information about the fedora-cvs-commits
mailing list