rpms/openoffice.org/F-9 openoffice.org-3.0.0.ooo88303.vcl.dynamicfontoptions.patch, NONE, 1.1 openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch, 1.20, 1.21 openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch, 1.2, 1.3 openoffice.org.spec, 1.1510, 1.1511
Caolan McNamara
caolanm at fedoraproject.org
Wed Nov 19 12:08:38 UTC 2008
- Previous message (by thread): rpms/perl-PAR-Dist/F-9 .cvsignore, 1.17, 1.18 perl-PAR-Dist.spec, 1.26, 1.27 sources, 1.17, 1.18
- Next message (by thread): rpms/rcssserver/F-10 .cvsignore, 1.4, 1.5 rcssserver.spec, 1.3, 1.4 sources, 1.4, 1.5
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: caolanm
Update of /cvs/pkgs/rpms/openoffice.org/F-9
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv21229
Modified Files:
openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch
openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch
openoffice.org.spec
Added Files:
openoffice.org-3.0.0.ooo88303.vcl.dynamicfontoptions.patch
Log Message:
Resolves: rhbz#471103 improve font-settings
openoffice.org-3.0.0.ooo88303.vcl.dynamicfontoptions.patch:
--- NEW FILE openoffice.org-3.0.0.ooo88303.vcl.dynamicfontoptions.patch ---
diff -ru vcl/inc/vcl/glyphcache.hxx vcl/inc/vcl/glyphcache.hxx
--- openoffice.org.orig/vcl/inc/vcl/glyphcache.hxx 2008-04-15 08:44:36.000000000 +0100
+++ openoffice.org/vcl/inc/vcl/glyphcache.hxx 2008-04-15 16:24:06.000000000 +0100
@@ -105,8 +105,9 @@
struct IFSD_Hash{ size_t operator()( const ImplFontSelectData& ) const; };
typedef ::std::hash_map<ImplFontSelectData,ServerFont*,IFSD_Hash,IFSD_Equal > FontList;
FontList maFontList;
-
+public:
ULONG mnMaxSize; // max overall cache size in bytes
+private:
mutable ULONG mnBytesUsed;
mutable long mnLruIndex;
mutable int mnGlyphCount;
diff -ru vcl/inc/vcl/settings.hxx vcl/inc/vcl/settings.hxx
--- openoffice.org.orig/vcl/inc/vcl/settings.hxx 2008-04-15 08:44:37.000000000 +0100
+++ openoffice.org/vcl/inc/vcl/settings.hxx 2008-04-15 08:47:15.000000000 +0100
@@ -449,6 +449,7 @@
ULONG mnSymbolsStyle;
ULONG mnPreferredSymbolsStyle;
USHORT mnSkipDisabledInMenus;
+ const void* mpFontOptions;
};
// -----------------
@@ -746,6 +747,11 @@
BOOL GetSkipDisabledInMenus() const
{ return (BOOL) mpData->mnSkipDisabledInMenus; }
+ void SetCairoFontOptions( const void *pOptions )
+ { CopyData(); mpData->mpFontOptions = pOptions; }
+ const void* GetCairoFontOptions() const
+ { return mpData->mpFontOptions; }
+
void SetAppFont( const Font& rFont )
{ CopyData(); mpData->maAppFont = rFont; }
const Font& GetAppFont() const
diff -ru vcl/source/app/settings.cxx vcl/source/app/settings.cxx
--- openoffice.org.orig/vcl/source/app/settings.cxx 2008-04-15 08:44:34.000000000 +0100
+++ openoffice.org/vcl/source/app/settings.cxx 2008-04-15 08:48:27.000000000 +0100
@@ -466,6 +466,7 @@
mnToolbarIconSize = STYLE_TOOLBAR_ICONSIZE_UNKNOWN;
mnSymbolsStyle = STYLE_SYMBOLS_AUTO;
mnPreferredSymbolsStyle = STYLE_SYMBOLS_AUTO;
+ mpFontOptions = NULL;
SetStandardStyles();
}
@@ -568,6 +569,7 @@
mnToolbarIconSize = rData.mnToolbarIconSize;
mnSymbolsStyle = rData.mnSymbolsStyle;
mnPreferredSymbolsStyle = rData.mnPreferredSymbolsStyle;
+ mpFontOptions = rData.mpFontOptions;
}
// -----------------------------------------------------------------------
diff -ru vcl/source/window/winproc.cxx vcl/source/window/winproc.cxx
--- openoffice.org.orig/vcl/source/window/winproc.cxx 2008-04-15 08:44:34.000000000 +0100
+++ openoffice.org/vcl/source/window/winproc.cxx 2008-04-15 16:40:53.000000000 +0100
@@ -78,6 +78,7 @@
extern void MyOutputDebugString( char *s);
#endif
#endif
+#include <vcl/glyphcache.hxx>
//#define USE_NEW_RTL_IMPLEMENTATION
@@ -2225,9 +2226,14 @@
nType = DATACHANGED_DISPLAY;
break;
case SALEVENT_FONTCHANGED:
+ {
+ ULONG nOldSize = GlyphCache::GetInstance().mnMaxSize;
+ GlyphCache::GetInstance().mnMaxSize = 0;
OutputDevice::ImplUpdateAllFontData( TRUE );
+ GlyphCache::GetInstance().mnMaxSize = nOldSize;
nType = DATACHANGED_FONTS;
break;
+ }
case SALEVENT_DATETIMECHANGED:
nType = DATACHANGED_DATETIME;
break;
diff -ru vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx
--- openoffice.org.orig/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx 2008-04-15 08:44:28.000000000 +0100
+++ openoffice.org/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx 2008-04-15 16:21:17.000000000 +0100
@@ -3286,6 +3287,11 @@
aStyleSet.GetWindowColor().IsDark() );
aStyleSet.SetHighContrastMode( bHC );
+ const cairo_font_options_t *pNewOptions = 0;
+ if (GdkScreen* pScreen = gdk_display_get_screen( gdk_display_get_default(), m_nScreen ))
+ pNewOptions = gdk_screen_get_font_options(pScreen);
+ aStyleSet.SetCairoFontOptions( pNewOptions );
+
// finally update the collected settings
rSettings.SetStyleSettings( aStyleSet );
diff -ru vcl/unx/gtk/window/gtkframe.cxx vcl/unx/gtk/window/gtkframe.cxx
--- openoffice.org.orig/vcl/unx/gtk/window/gtkframe.cxx 2008-04-15 08:44:28.000000000 +0100
+++ openoffice.org/vcl/unx/gtk/window/gtkframe.cxx 2008-04-15 16:38:26.000000000 +0100
@@ -2942,10 +2942,13 @@
// redraw itself to adjust to the new style
// where there IS no new style resulting in tremendous unnecessary flickering
if( pPrevious != NULL )
+ {
// signalStyleSet does NOT usually have the gdk lock
// so post user event to safely dispatch the SALEVENT_SETTINGSCHANGED
// note: settings changed for multiple frames is avoided in winproc.cxx ImplHandleSettings
pThis->getDisplay()->SendInternalEvent( pThis, NULL, SALEVENT_SETTINGSCHANGED );
+ pThis->getDisplay()->SendInternalEvent( pThis, NULL, SALEVENT_FONTCHANGED );
+ }
/* #i64117# gtk sets a nice background pixmap
* but we actually don't really want that, so save
diff -ru vcl/unx/source/gdi/salgdi3.cxx vcl/unx/source/gdi/salgdi3.cxx
--- openoffice.org.orig/vcl/unx/source/gdi/salgdi3.cxx 2008-04-15 08:44:29.000000000 +0100
+++ openoffice.org/vcl/unx/source/gdi/salgdi3.cxx 2008-04-15 11:58:46.000000000 +0100
@@ -782,6 +782,7 @@
void (*mp_set_font_matrix)(cairo_t *, const cairo_matrix_t *);
void (*mp_show_glyphs)(cairo_t *, const cairo_glyph_t *, int );
void (*mp_set_source_rgb)(cairo_t *, double , double , double );
+ void (*mp_set_font_options)(cairo_t *, const void *);
bool canEmbolden() const { return false; }
@@ -817,6 +818,8 @@
{ (*mp_show_glyphs)(cr, glyphs, no_glyphs); }
void set_source_rgb(cairo_t *cr, double red, double green, double blue)
{ (*mp_set_source_rgb)(cr, red, green, blue); }
+ void set_font_options(cairo_t *cr, const void *options)
+ { (*mp_set_font_options)(cr, options); }
};
static CairoWrapper* pCairoInstance = NULL;
@@ -875,6 +878,8 @@
osl_getAsciiFunctionSymbol( mpCairoLib, "cairo_show_glyphs" );
mp_set_source_rgb = (void (*)(cairo_t *, double , double , double ))
osl_getAsciiFunctionSymbol( mpCairoLib, "cairo_set_source_rgb" );
+ mp_set_font_options = (void (*)(cairo_t *, const void *options ))
+ osl_getAsciiFunctionSymbol( mpCairoLib, "cairo_set_font_options" );
if( !(
mp_xlib_surface_create_with_xrender_format &&
@@ -891,7 +896,8 @@
mp_matrix_rotate &&
mp_set_font_matrix &&
mp_show_glyphs &&
- mp_set_source_rgb
+ mp_set_source_rgb &&
+ mp_set_font_options
) )
{
osl_unloadModule( mpCairoLib );
@@ -1009,6 +1015,9 @@
cairo_t *cr = rCairo.create(surface);
rCairo.surface_destroy(surface);
+ if (const void *pOptions = Application::GetSettings().GetStyleSettings().GetCairoFontOptions())
+ rCairo.set_font_options(cr, pOptions);
+
if( pClipRegion_ && !XEmptyRegion( pClipRegion_ ) )
{
for (long i = 0; i < pClipRegion_->numRects; ++i)
openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch:
Index: openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/F-9/openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch 23 Apr 2008 08:46:47 -0000 1.20
+++ openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch 19 Nov 2008 12:08:36 -0000 1.21
@@ -1,7 +1,11 @@
-diff -ru vcl/inc/impfont.hxx vcl/inc/impfont.hxx
---- openoffice.org.orig/vcl/inc/vcl/impfont.hxx 2006-05-04 08:55:40.000000000 +0100
-+++ openoffice.org/vcl/inc/vcl/impfont.hxx 2006-05-05 09:39:11.000000000 +0100
-@@ -155,6 +155,42 @@
+Index: inc/vcl/impfont.hxx
+===================================================================
+RCS file: /cvs/gsl/vcl/inc/vcl/impfont.hxx,v
+retrieving revision 1.3
+diff -u -r1.3 impfont.hxx
+--- openoffice.org.orig/vcl/inc/vcl/impfont.hxx 11 Apr 2008 07:39:29 -0000 1.3
++++ openoffice.org/vcl/inc/vcl/impfont.hxx 30 May 2008 09:28:28 -0000
+@@ -135,6 +135,42 @@
bool operator==( const ImplFontMetric& ) const;
};
@@ -23,7 +27,7 @@
+ meAntiAlias(ANTIALIAS_DONTKNOW),
+ meAutoHint(AUTOHINT_DONTKNOW),
+ meHinting(HINTING_DONTKNOW),
-+ meHintStyle(HINT_FULL)
++ meHintStyle(HINT_SLIGHT)
+ {}
+ ImplFontHints(FontEmbeddedBitmap eEmbeddedBitmap, FontAntiAlias eAntiAlias,
+ FontAutoHint eAutoHint, FontHinting eHinting, FontHintStyle eHintStyle) :
@@ -44,10 +48,14 @@
// -------------------
// - ImplFontCharMap -
// -------------------
-diff -ru vcl/inc/outdev.hxx vcl/inc/outdev.hxx
---- openoffice.org.orig/vcl/inc/vcl/outdev.hxx 2006-05-04 08:55:40.000000000 +0100
-+++ openoffice.org/vcl/inc/vcl/outdev.hxx 2006-05-05 10:27:05.000000000 +0100
-@@ -106,6 +106,8 @@
+Index: inc/vcl/outdev.hxx
+===================================================================
+RCS file: /cvs/gsl/vcl/inc/vcl/outdev.hxx,v
+retrieving revision 1.6
+diff -u -r1.6 outdev.hxx
+--- openoffice.org.orig/vcl/inc/vcl/outdev.hxx 11 Apr 2008 07:47:31 -0000 1.6
++++ openoffice.org/vcl/inc/vcl/outdev.hxx 30 May 2008 09:28:33 -0000
+@@ -77,6 +77,8 @@
class FontCharMap;
class SalLayout;
class ImplLayoutArgs;
@@ -55,8 +63,8 @@
+class ImplFontAttributes;
class VirtualDevice;
- namespace basegfx {
-@@ -566,6 +568,7 @@
+ namespace com {
+@@ -549,6 +551,7 @@
SAL_DLLPRIVATE static FontEmphasisMark ImplGetEmphasisMarkStyle( const Font& rFont );
SAL_DLLPRIVATE static BOOL ImplIsUnderlineAbove( const Font& );
@@ -64,10 +72,14 @@
//#endif
protected:
-diff -ru vcl/inc/outfont.hxx vcl/inc/outfont.hxx
---- openoffice.org.orig/vcl/inc/vcl/outfont.hxx 2006-05-04 08:55:40.000000000 +0100
-+++ openoffice.org/vcl/inc/vcl/outfont.hxx 2006-05-04 14:37:46.000000000 +0100
-@@ -118,8 +118,6 @@
+Index: inc/vcl/outfont.hxx
+===================================================================
+RCS file: /cvs/gsl/vcl/inc/vcl/outfont.hxx,v
+retrieving revision 1.6
+diff -u -r1.6 outfont.hxx
+--- openoffice.org.orig/vcl/inc/vcl/outfont.hxx 11 Apr 2008 07:48:01 -0000 1.6
++++ openoffice.org/vcl/inc/vcl/outfont.hxx 30 May 2008 09:28:33 -0000
+@@ -101,8 +101,6 @@
bool IsDeviceFont() const { return mbDevice; }
bool IsEmbeddable() const { return mbEmbeddable; }
bool IsSubsettable() const { return mbSubsettable; }
@@ -76,7 +88,7 @@
public: // TODO: hide members behind accessor methods
String maMapNames; // List of family name aliass separated with ';'
-@@ -128,8 +126,6 @@
+@@ -111,8 +109,6 @@
bool mbDevice; // true: built in font
bool mbSubsettable; // true: a subset of the font can be created
bool mbEmbeddable; // true: the font can be embedded
@@ -85,10 +97,14 @@
};
// ----------------
-diff -ru vcl/inc/salgdi.hxx vcl/inc/salgdi.hxx
---- openoffice.org.orig/vcl/inc/vcl/salgdi.hxx 2006-05-04 08:55:40.000000000 +0100
-+++ openoffice.org/vcl/inc/vcl/salgdi.hxx 2006-05-05 10:40:08.000000000 +0100
-@@ -215,6 +215,8 @@
+Index: inc/vcl/salgdi.hxx
+===================================================================
+RCS file: /cvs/gsl/vcl/inc/vcl/salgdi.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 salgdi.hxx
+--- openoffice.org.orig/vcl/inc/vcl/salgdi.hxx 11 Apr 2008 07:53:59 -0000 1.5
++++ openoffice.org/vcl/inc/vcl/salgdi.hxx 30 May 2008 09:28:35 -0000
+@@ -223,6 +223,8 @@
void ReleaseFonts() { SetFont( NULL, 0 ); }
// get the current font's metrics
virtual void GetFontMetric( ImplFontMetricData* ) = 0;
@@ -97,10 +113,14 @@
// get kernign pairs of the current font
// return only PairCount if (pKernPairs == NULL)
virtual ULONG GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs ) = 0;
-diff -ru vcl/inc/vclenum.hxx vcl/inc/vclenum.hxx
---- openoffice.org.orig/vcl/inc/vcl/vclenum.hxx 2006-05-04 08:55:40.000000000 +0100
-+++ openoffice.org/vcl/inc/vcl/vclenum.hxx 2006-05-04 15:53:15.000000000 +0100
-@@ -289,6 +289,27 @@
+Index: inc/vcl/vclenum.hxx
+===================================================================
+RCS file: /cvs/gsl/vcl/inc/vcl/vclenum.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 vclenum.hxx
+--- openoffice.org.orig/vcl/inc/vcl/vclenum.hxx 11 Apr 2008 08:07:45 -0000 1.5
++++ openoffice.org/vcl/inc/vcl/vclenum.hxx 30 May 2008 09:28:42 -0000
+@@ -284,6 +284,27 @@
#endif
@@ -128,10 +148,14 @@
// ------------------------------------------------------------
#ifndef ENUM_KEYFUNCTYPE_DECLARED
-diff -ru vcl/source/gdi/outdev3.cxx vcl/source/gdi/outdev3.cxx
---- openoffice.org.orig/vcl/source/gdi/outdev3.cxx 2006-05-04 08:55:40.000000000 +0100
-+++ openoffice.org/vcl/source/gdi/outdev3.cxx 2006-05-05 10:27:34.000000000 +0100
-@@ -7250,6 +7250,14 @@
+Index: source/gdi/outdev3.cxx
+===================================================================
+RCS file: /cvs/gsl/vcl/source/gdi/outdev3.cxx,v
+retrieving revision 1.240
+diff -u -r1.240 outdev3.cxx
+--- openoffice.org.orig/vcl/source/gdi/outdev3.cxx 11 Apr 2008 08:49:58 -0000 1.240
++++ openoffice.org/vcl/source/gdi/outdev3.cxx 30 May 2008 09:29:42 -0000
+@@ -7332,6 +7332,14 @@
// -----------------------------------------------------------------------
@@ -146,10 +170,180 @@
FontMetric OutputDevice::GetFontMetric() const
{
DBG_TRACE( "OutputDevice::GetFontMetric()" );
-diff -ru vcl/source/glyphs/gcach_ftyp.hxx vcl/source/glyphs/gcach_ftyp.hxx
---- openoffice.org.orig/vcl/source/glyphs/gcach_ftyp.hxx 2006-05-04 08:55:40.000000000 +0100
-+++ openoffice.org/vcl/source/glyphs/gcach_ftyp.hxx 2006-05-04 14:53:16.000000000 +0100
-@@ -93,10 +93,6 @@
+Index: source/glyphs/gcach_ftyp.cxx
+===================================================================
+RCS file: /cvs/gsl/vcl/source/glyphs/gcach_ftyp.cxx,v
+retrieving revision 1.149
+diff -u -r1.149 gcach_ftyp.cxx
+--- openoffice.org.orig/vcl/source/glyphs/gcach_ftyp.cxx 11 Apr 2008 08:57:28 -0000 1.149
++++ openoffice.org/vcl/source/glyphs/gcach_ftyp.cxx 30 May 2008 09:30:01 -0000
+@@ -43,6 +43,7 @@
+ #include <vcl/impfont.hxx>
+ #include <vcl/bitmap.hxx>
+ #include <vcl/bmpacc.hxx>
++#include <vcl/virdev.hxx>
+
+ #include <tools/poly.hxx>
+ #include <basegfx/matrix/b2dhommatrix.hxx>
+@@ -623,9 +624,6 @@
+ aDFA.mbSubsettable= false;
+ aDFA.mbEmbeddable = false;
+
+- aDFA.meEmbeddedBitmap = EMBEDDEDBITMAP_DONTKNOW;
+- aDFA.meAntiAlias = ANTIALIAS_DONTKNOW;
+-
+ FT_Done_Face( aFaceFT );
+ AddFontFile( aCFileName, nFaceNum, ++mnNextFontId, aDFA, NULL );
+ ++nCount;
+@@ -705,6 +703,7 @@
+ : ServerFont( rFSD ),
+ mnPrioEmbedded(nDefaultPrioEmbedded),
+ mnPrioAntiAlias(nDefaultPrioAntiAlias),
++ mnPrioAutoHint(nDefaultPrioAutoHint),
+ mpFontInfo( pFI ),
+ maFaceFT( NULL ),
+ maSizeFT( NULL ),
+@@ -834,42 +833,69 @@
+
+ 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;
++ }
++
++ ImplFontHints aHints;
++ VirtualDevice vdev( 1 );
++ vdev.ImplGetFontHints( pFI->GetFontAttributes(), mnWidth, aHints );
++
++ FontAutoHint eHint = aHints.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 (aHints.DontUseAntiAlias())
++ mnPrioAntiAlias = 0;
++ if (aHints.DontUseEmbeddedBitmaps())
++ mnPrioEmbedded = 0;
++ if (aHints.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
+- // enable "light hinting" if available
++#if defined(FT_LOAD_TARGET_LIGHT) && defined(FT_LOAD_TARGET_NORMAL)
+ if( !(mnLoadFlags & FT_LOAD_NO_HINTING) && (nFTVERSION >= 2103))
+- mnLoadFlags |= FT_LOAD_TARGET_LIGHT;
++ {
++ mnLoadFlags |= FT_LOAD_TARGET_NORMAL;
++ switch (aHints.GetHintStyle())
++ {
++ case HINT_NONE:
++ mnLoadFlags |= FT_LOAD_NO_HINTING;
++ break;
++ case HINT_SLIGHT:
++ mnLoadFlags |= FT_LOAD_TARGET_LIGHT;
++ break;
++ case HINT_MEDIUM:
++ break;
++ case HINT_FULL:
++ default:
++ break;
++ }
++ }
++
+ #endif
+
+ if( ((mnCos != 0) && (mnSin != 0)) || (mnPrioEmbedded <= 0) )
+@@ -1204,13 +1230,15 @@
+ }
+ }
+
+-#if !defined(TT_CONFIG_OPTION_BYTECODE_INTERPRETER)
++#if 0
+ // #95556# autohinting not yet optimized for non-western glyph styles
+ if( !(mnLoadFlags & (FT_LOAD_NO_HINTING | FT_LOAD_FORCE_AUTOHINT) )
+ && ( (aChar >= 0x0600 && aChar < 0x1E00) // south-east asian + arabic
+ ||(aChar >= 0x2900 && aChar < 0xD800) // CJKV
+ ||(aChar >= 0xF800) ) ) // presentation + symbols
++ {
+ nGlyphFlags |= GF_UNHINTED;
++ }
+ #endif
+
+ if( nGlyphIndex != 0 )
+@@ -1341,11 +1369,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;
+@@ -1496,7 +1524,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.41
+diff -u -r1.41 gcach_ftyp.hxx
+--- openoffice.org.orig/vcl/source/glyphs/gcach_ftyp.hxx 11 Apr 2008 08:57:45 -0000 1.41
++++ openoffice.org/vcl/source/glyphs/gcach_ftyp.hxx 30 May 2008 09:30:01 -0000
+@@ -88,10 +88,6 @@
int GetFaceNum() const { return mnFaceNum; }
int GetSynthetic() const { return mnSynthetic; }
sal_IntPtr GetFontId() const { return mnFontId; }
@@ -160,7 +354,7 @@
bool IsSymbolFont() const { return maDevFontAttributes.IsSymbolFont(); }
const ImplFontAttributes& GetFontAttributes() const { return maDevFontAttributes; }
-@@ -212,6 +208,7 @@
+@@ -216,6 +212,7 @@
int mnWidth;
int mnPrioEmbedded;
int mnPrioAntiAlias;
@@ -168,10 +362,111 @@
FtFontInfo* mpFontInfo;
FT_Int mnLoadFlags;
double mfStretch;
-diff -ru vcl/unx/inc/pspgraphics.h vcl/unx/inc/pspgraphics.h
---- openoffice.org.orig/vcl/unx/inc/pspgraphics.h 2006-05-04 08:55:40.000000000 +0100
-+++ openoffice.org/vcl/unx/inc/pspgraphics.h 2006-05-05 10:41:23.000000000 +0100
-@@ -121,6 +121,7 @@
+Index: unx/headless/svpgdi.cxx
+===================================================================
+RCS file: /cvs/gsl/vcl/unx/headless/svpgdi.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 svpgdi.cxx
+--- openoffice.org.orig/vcl/unx/headless/svpgdi.cxx 11 Apr 2008 09:28:48 -0000 1.5
++++ openoffice.org/vcl/unx/headless/svpgdi.cxx 30 May 2008 09:30:54 -0000
+@@ -548,3 +548,7 @@
+ {
+ return false;
+ }
++
++void SvpSalGraphics::GetFontHints( const ImplFontAttributes& , int , ImplFontHints& ) const
++{
++}
+Index: unx/headless/svpgdi.hxx
+===================================================================
+RCS file: /cvs/gsl/vcl/unx/headless/svpgdi.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 svpgdi.hxx
+--- openoffice.org.orig/vcl/unx/headless/svpgdi.hxx 11 Apr 2008 09:29:03 -0000 1.5
++++ openoffice.org/vcl/unx/headless/svpgdi.hxx 30 May 2008 09:30:54 -0000
+@@ -176,6 +176,8 @@
+ virtual void invert( ULONG nPoints, const SalPoint* pPtAry, SalInvert nFlags );
+
+ virtual BOOL drawEPS( long nX, long nY, long nWidth, long nHeight, void* pPtr, ULONG nSize );
++
++ virtual void GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const;
+ };
+
+ #endif
+Index: unx/headless/svppspgraphics.cxx
+===================================================================
+RCS file: /cvs/gsl/vcl/unx/headless/svppspgraphics.cxx,v
+retrieving revision 1.5
+diff -u -r1.5 svppspgraphics.cxx
+--- openoffice.org.orig/vcl/unx/headless/svppspgraphics.cxx 11 Apr 2008 09:30:23 -0000 1.5
++++ openoffice.org/vcl/unx/headless/svppspgraphics.cxx 30 May 2008 09:30:56 -0000
+@@ -1175,32 +1175,6 @@
+ aDFA.mePitch = ToFontPitch (rInfo.m_ePitch);
+ aDFA.mbSymbolFlag = (rInfo.m_aEncoding == RTL_TEXTENCODING_SYMBOL);
+
+- switch (rInfo.m_eEmbeddedbitmap)
+- {
+- default:
+- aDFA.meEmbeddedBitmap = EMBEDDEDBITMAP_DONTKNOW;
+- break;
+- case psp::fcstatus::istrue:
+- aDFA.meEmbeddedBitmap = EMBEDDEDBITMAP_TRUE;
+- break;
+- case psp::fcstatus::isfalse:
+- aDFA.meEmbeddedBitmap = EMBEDDEDBITMAP_FALSE;
+- break;
+- }
+-
+- switch (rInfo.m_eAntialias)
+- {
+- default:
+- aDFA.meAntiAlias = ANTIALIAS_DONTKNOW;
+- break;
+- case psp::fcstatus::istrue:
+- aDFA.meAntiAlias = ANTIALIAS_TRUE;
+- break;
+- case psp::fcstatus::isfalse:
+- aDFA.meAntiAlias = ANTIALIAS_FALSE;
+- break;
+- }
+-
+ // special case for the ghostscript fonts
+ if( aDFA.maName.CompareIgnoreCaseToAscii( "itc ", 4 ) == COMPARE_EQUAL )
+ aDFA.maName = aDFA.maName.Copy( 4 );
+@@ -1259,6 +1233,10 @@
+ return aDFA;
+ }
+
++void PspGraphics::GetFontHints( const ImplFontAttributes& , int , ImplFontHints& ) const
++{
++}
++
+ // -----------------------------------------------------------------------
+
+ void PspGraphics::AnnounceFonts( ImplDevFontList* pFontList, const psp::FastPrintFontInfo& aInfo )
+Index: unx/headless/svppspgraphics.hxx
+===================================================================
+RCS file: /cvs/gsl/vcl/unx/headless/svppspgraphics.hxx,v
+retrieving revision 1.5
+diff -u -r1.5 svppspgraphics.hxx
+--- openoffice.org.orig/vcl/unx/headless/svppspgraphics.hxx 11 Apr 2008 09:30:40 -0000 1.5
++++ openoffice.org/vcl/unx/headless/svppspgraphics.hxx 30 May 2008 09:30:56 -0000
+@@ -201,6 +201,7 @@
+
+ virtual BOOL drawEPS( long nX, long nY, long nWidth, long nHeight, void* pPtr, ULONG nSize );
+ virtual bool filterText( const String& rOrigText, String& rNewText, xub_StrLen nIndex, xub_StrLen& rLen, xub_StrLen& rCutStart, xub_StrLen& rCutStop );
++ virtual void GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const;
+ };
+
+ #endif // _SVP_PSPGRAPHICS_HXX
+Index: unx/inc/pspgraphics.h
+===================================================================
+RCS file: /cvs/gsl/vcl/unx/inc/pspgraphics.h,v
+retrieving revision 1.18
+diff -u -r1.18 pspgraphics.h
+--- openoffice.org.orig/vcl/unx/inc/pspgraphics.h 11 Apr 2008 09:35:48 -0000 1.18
++++ openoffice.org/vcl/unx/inc/pspgraphics.h 30 May 2008 09:30:57 -0000
+@@ -117,6 +117,7 @@
virtual void SetTextColor( SalColor nSalColor );
virtual USHORT SetFont( ImplFontSelectData*, int nFallbackLevel );
virtual void GetFontMetric( ImplFontMetricData* );
@@ -179,10 +474,14 @@
virtual ULONG GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs );
virtual ImplFontCharMap* GetImplFontCharMap() const;
virtual void GetDevFontList( ImplDevFontList* );
-diff -ru vcl/unx/inc/salgdi.h vcl/unx/inc/salgdi.h
---- openoffice.org.orig/vcl/unx/inc/salgdi.h 2006-05-04 08:55:40.000000000 +0100
-+++ openoffice.org/vcl/unx/inc/salgdi.h 2006-05-05 10:41:12.000000000 +0100
-@@ -238,6 +238,7 @@
+Index: unx/inc/salgdi.h
+===================================================================
+RCS file: /cvs/gsl/vcl/unx/inc/salgdi.h,v
+retrieving revision 1.45
+diff -u -r1.45 salgdi.h
+--- openoffice.org.orig/vcl/unx/inc/salgdi.h 11 Apr 2008 09:37:25 -0000 1.45
++++ openoffice.org/vcl/unx/inc/salgdi.h 30 May 2008 09:30:58 -0000
+@@ -247,6 +247,7 @@
virtual void SetTextColor( SalColor nSalColor );
virtual USHORT SetFont( ImplFontSelectData*, int nFallbackLevel );
virtual void GetFontMetric( ImplFontMetricData* );
@@ -190,10 +489,14 @@
virtual ULONG GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs );
virtual ImplFontCharMap* GetImplFontCharMap() const;
virtual void GetDevFontList( ImplDevFontList* );
-diff -ru vcl/unx/source/gdi/pspgraphics.cxx vcl/unx/source/gdi/pspgraphics.cxx
---- openoffice.org.orig/vcl/unx/source/gdi/pspgraphics.cxx 2006-05-04 08:55:40.000000000 +0100
-+++ openoffice.org/vcl/unx/source/gdi/pspgraphics.cxx 2006-05-05 10:28:18.000000000 +0100
-@@ -862,6 +862,10 @@
+Index: unx/source/gdi/pspgraphics.cxx
+===================================================================
+RCS file: /cvs/gsl/vcl/unx/source/gdi/pspgraphics.cxx,v
+retrieving revision 1.29
+diff -u -r1.29 pspgraphics.cxx
+--- openoffice.org.orig/vcl/unx/source/gdi/pspgraphics.cxx 11 Apr 2008 09:53:14 -0000 1.29
++++ openoffice.org/vcl/unx/source/gdi/pspgraphics.cxx 30 May 2008 09:31:10 -0000
+@@ -852,6 +852,10 @@
}
}
@@ -204,7 +507,7 @@
void PspGraphics::GetFontMetric( ImplFontMetricData *pMetric )
{
const psp::PrintFontManager& rMgr = psp::PrintFontManager::get();
-@@ -1230,32 +1234,6 @@
+@@ -1264,32 +1268,6 @@
aDFA.mePitch = ToFontPitch (rInfo.m_ePitch);
aDFA.mbSymbolFlag = (rInfo.m_aEncoding == RTL_TEXTENCODING_SYMBOL);
@@ -237,13 +540,64 @@
// special case for the ghostscript fonts
if( aDFA.maName.CompareIgnoreCaseToAscii( "itc ", 4 ) == COMPARE_EQUAL )
aDFA.maName = aDFA.maName.Copy( 4 );
-diff -ru vcl/unx/source/gdi/salgdi3.cxx vcl/unx/source/gdi/salgdi3.cxx
---- openoffice.org.orig/vcl/unx/source/gdi/salgdi3.cxx 2006-05-04 08:55:40.000000000 +0100
-+++ openoffice.org/vcl/unx/source/gdi/salgdi3.cxx 2006-05-05 10:30:18.000000000 +0100
-@@ -1367,6 +1367,174 @@
+Index: unx/source/gdi/salgdi3.cxx
+===================================================================
+RCS file: /cvs/gsl/vcl/unx/source/gdi/salgdi3.cxx,v
+retrieving revision 1.154
+diff -u -r1.154 salgdi3.cxx
+--- openoffice.org.orig/vcl/unx/source/gdi/salgdi3.cxx 11 Apr 2008 09:55:12 -0000 1.154
++++ openoffice.org/vcl/unx/source/gdi/salgdi3.cxx 30 May 2008 09:31:13 -0000
+@@ -739,6 +739,7 @@
+ void (*mp_show_glyphs)(cairo_t *, const cairo_glyph_t *, int );
+ void (*mp_set_source_rgb)(cairo_t *, double , double , double );
+ void (*mp_set_font_options)(cairo_t *, const void *);
++ void (*mp_ft_font_options_substitute)(const void*, void*);
+
+ bool canEmbolden() const { return false; }
+
+@@ -776,6 +777,8 @@
+ { (*mp_set_source_rgb)(cr, red, green, blue); }
+ void set_font_options(cairo_t *cr, const void *options)
+ { (*mp_set_font_options)(cr, options); }
++ void ft_font_options_substitute(const void *options, void *pattern)
++ { (*mp_ft_font_options_substitute)(options, pattern); }
+ };
+
+ static CairoWrapper* pCairoInstance = NULL;
+@@ -843,6 +846,8 @@
+ osl_getAsciiFunctionSymbol( mpCairoLib, "cairo_set_source_rgb" );
+ mp_set_font_options = (void (*)(cairo_t *, const void *options ))
+ osl_getAsciiFunctionSymbol( mpCairoLib, "cairo_set_font_options" );
++ mp_ft_font_options_substitute = (void (*)(const void *, void *))
++ osl_getAsciiFunctionSymbol( mpCairoLib, "cairo_ft_font_options_substitute" );
+
+ if( !(
+ mp_xlib_surface_create_with_xrender_format &&
+@@ -860,7 +865,8 @@
+ mp_set_font_matrix &&
+ mp_show_glyphs &&
+ mp_set_source_rgb &&
+- mp_set_font_options
++ mp_set_font_options &&
++ mp_ft_font_options_substitute
+ ) )
+ {
+ osl_unloadModule( mpCairoLib );
+@@ -1629,6 +1635,187 @@
// ----------------------------------------------------------------------------
++void cairosubcallback(void *pPattern)
++{
++ CairoWrapper &rCairo = CairoWrapper::get();
++ if (rCairo.isValid())
++ {
++ rCairo.ft_font_options_substitute(
++ Application::GetSettings().GetStyleSettings().GetCairoFontOptions(),
++ pPattern);
++ }
++}
++
+void X11SalGraphics::GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const
+{
+ psp::FastPrintFontInfo aInfo;
@@ -338,7 +692,8 @@
+ break;
+ }
+
-+ psp::FontConfigHints aHints(psp::PrintFontManager::get().getFontConfigHints(aInfo, nSize));
++ psp::FontConfigHints aHints(psp::PrintFontManager::get().getFontConfigHints(aInfo, nSize,
++ cairosubcallback));
+
+ switch (aHints.m_eEmbeddedbitmap)
+ {
@@ -408,6 +763,7 @@
+ rFontHints.meHintStyle = HINT_FULL;
+ break;
+ }
++
+}
+
+// ----------------------------------------------------------------------------
@@ -415,10 +771,14 @@
void
X11SalGraphics::GetFontMetric( ImplFontMetricData *pMetric )
{
-diff -ru vcl/unx/source/gdi/xlfd_extd.cxx vcl/unx/source/gdi/xlfd_extd.cxx
---- openoffice.org.orig/vcl/unx/source/gdi/xlfd_extd.cxx 2006-05-04 08:55:40.000000000 +0100
-+++ openoffice.org/vcl/unx/source/gdi/xlfd_extd.cxx 2006-05-04 14:51:52.000000000 +0100
-@@ -114,9 +114,6 @@
+Index: unx/source/gdi/xlfd_extd.cxx
+===================================================================
+RCS file: /cvs/gsl/vcl/unx/source/gdi/xlfd_extd.cxx,v
+retrieving revision 1.31
+diff -u -r1.31 xlfd_extd.cxx
+--- openoffice.org.orig/vcl/unx/source/gdi/xlfd_extd.cxx 11 Apr 2008 09:57:12 -0000 1.31
++++ openoffice.org/vcl/unx/source/gdi/xlfd_extd.cxx 30 May 2008 09:31:15 -0000
+@@ -105,9 +105,6 @@
mbSubsettable = false;
mbEmbeddable = false;
@@ -428,10 +788,14 @@
mnQuality = -1;
}
-diff -ru vcl/win/inc/salgdi.h vcl/win/inc/salgdi.h
---- openoffice.org.orig/vcl/win/inc/salgdi.h 2006-05-04 08:55:40.000000000 +0100
-+++ openoffice.org/vcl/win/inc/salgdi.h 2006-05-05 10:40:44.000000000 +0100
-@@ -270,6 +270,7 @@
+Index: win/inc/salgdi.h
+===================================================================
+RCS file: /cvs/gsl/vcl/win/inc/salgdi.h,v
+retrieving revision 1.29
+diff -u -r1.29 salgdi.h
+--- openoffice.org.orig/vcl/win/inc/salgdi.h 11 Apr 2008 10:41:29 -0000 1.29
++++ openoffice.org/vcl/win/inc/salgdi.h 30 May 2008 09:31:31 -0000
+@@ -274,6 +274,7 @@
virtual USHORT SetFont( ImplFontSelectData*, int nFallbackLevel );
// get the current font's etrics
virtual void GetFontMetric( ImplFontMetricData* );
@@ -439,10 +803,14 @@
// get kernign pairs of the current font
// return only PairCount if (pKernPairs == NULL)
virtual ULONG GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs );
-diff -ru vcl/win/source/gdi/salgdi3.cxx vcl/win/source/gdi/salgdi3.cxx
---- openoffice.org.orig/vcl/win/source/gdi/salgdi3.cxx 2006-05-04 08:55:40.000000000 +0100
-+++ openoffice.org/vcl/win/source/gdi/salgdi3.cxx 2006-05-05 10:40:47.000000000 +0100
-@@ -1250,6 +1250,12 @@
+Index: win/source/gdi/salgdi3.cxx
+===================================================================
+RCS file: /cvs/gsl/vcl/win/source/gdi/salgdi3.cxx,v
+retrieving revision 1.95
+diff -u -r1.95 salgdi3.cxx
+--- openoffice.org.orig/vcl/win/source/gdi/salgdi3.cxx 11 Apr 2008 10:48:39 -0000 1.95
++++ openoffice.org/vcl/win/source/gdi/salgdi3.cxx 30 May 2008 09:31:36 -0000
+@@ -1388,6 +1388,12 @@
// -----------------------------------------------------------------------
@@ -455,10 +823,14 @@
void WinSalGraphics::GetFontMetric( ImplFontMetricData* pMetric )
{
if ( aSalShlData.mbWNT )
-diff -ru psprint/inc/psprint/fontmanager.hxx psprint/inc/psprint/fontmanager.hxx
---- openoffice.org.orig/psprint/inc/psprint/fontmanager.hxx 2006-05-08 16:00:09.000000000 -0400
-+++ openoffice.org/psprint/inc/psprint/fontmanager.hxx 2006-05-08 16:01:09.000000000 -0400
-@@ -155,6 +155,33 @@
+Index: inc/psprint/fontmanager.hxx
+===================================================================
+RCS file: /cvs/gsl/psprint/inc/psprint/fontmanager.hxx,v
+retrieving revision 1.36
+diff -u -r1.36 fontmanager.hxx
+--- openoffice.org.orig/psprint/inc/psprint/fontmanager.hxx 11 Apr 2008 10:09:55 -0000 1.36
++++ openoffice.org/psprint/inc/psprint/fontmanager.hxx 18 Nov 2008 10:40:41 -0000
+@@ -142,6 +142,33 @@
};
}
@@ -492,7 +864,7 @@
/*
* the difference between FastPrintFontInfo and PrintFontInfo
* is that the information in FastPrintFontInfo can usually
-@@ -180,8 +207,6 @@
+@@ -167,8 +194,6 @@
weight::type m_eWeight;
pitch::type m_ePitch;
rtl_TextEncoding m_aEncoding;
@@ -501,7 +873,7 @@
FastPrintFontInfo() :
m_nID( 0 ),
-@@ -191,9 +216,7 @@
+@@ -178,9 +203,7 @@
m_eWidth( width::Unknown ),
m_eWeight( weight::Unknown ),
m_ePitch( pitch::Unknown ),
@@ -512,7 +884,7 @@
{}
};
-@@ -308,9 +331,6 @@
+@@ -297,9 +320,6 @@
bool m_bHaveVerticalSubstitutedGlyphs;
bool m_bUserOverride;
@@ -522,18 +894,22 @@
std::map< sal_Unicode, sal_Int32 > m_aEncodingVector;
std::map< sal_Unicode, rtl::OString > m_aNonEncoded;
-@@ -726,6 +746,7 @@
+@@ -742,6 +762,7 @@
false else
*/
bool matchFont( FastPrintFontInfo& rInfo, const com::sun::star::lang::Locale& rLocale );
-+ FontConfigHints getFontConfigHints(const FastPrintFontInfo& rInfo, int nSize);
++ FontConfigHints getFontConfigHints(const FastPrintFontInfo& rInfo, int nSize, void (*subcallback)(void *));
- String Substitute(const std::vector<String> &rNames, const std::vector<sal_Unicode> &rGlyphs,
- const ByteString &rLangAttrib, italic::type eItalic, weight::type eWeight,
-diff -ru psprint/source/fontmanager/fontcache.cxx psprint/source/fontmanager/fontcache.cxx
---- openoffice.org.orig/psprint/source/fontmanager/fontcache.cxx 2006-05-08 16:00:10.000000000 -0400
-+++ openoffice.org/psprint/source/fontmanager/fontcache.cxx 2006-05-08 16:00:32.000000000 -0400
-@@ -220,9 +220,9 @@
+ rtl::OUString Substitute( const rtl::OUString& rFontName, rtl::OUString& rMissingCodes,
+ const rtl::OString& rLangAttrib, italic::type eItalic, weight::type eWeight,
+Index: source/fontmanager/fontcache.cxx
+===================================================================
+RCS file: /cvs/gsl/psprint/source/fontmanager/fontcache.cxx,v
+retrieving revision 1.26
+diff -u -r1.26 fontcache.cxx
+--- openoffice.org.orig/psprint/source/fontmanager/fontcache.cxx 11 Apr 2008 10:12:37 -0000 1.26
++++ openoffiec.org/psprint/source/fontmanager/fontcache.cxx 18 Nov 2008 10:40:41 -0000
+@@ -214,9 +214,9 @@
aLine.Append( ';' );
aLine.Append( (*it)->m_bUserOverride ? "1" : "0" );
aLine.Append( ';' );
@@ -545,7 +921,7 @@
switch( (*it)->m_eType )
{
-@@ -432,9 +432,6 @@
+@@ -426,9 +426,6 @@
= atoi( pLine + nTokenPos[14] );
pFont->m_bUserOverride
= (atoi( pLine + nTokenPos[15] ) != 0);
@@ -555,7 +931,7 @@
int nStyleTokenNr = 18;
switch( eType )
{
-@@ -564,8 +561,6 @@
+@@ -560,8 +557,6 @@
pTo->m_nYMax = pFrom->m_nYMax;
pTo->m_bHaveVerticalSubstitutedGlyphs = pFrom->m_bHaveVerticalSubstitutedGlyphs;
pTo->m_bUserOverride = pFrom->m_bUserOverride;
@@ -564,7 +940,7 @@
}
/*
-@@ -627,9 +622,7 @@
+@@ -623,9 +618,7 @@
pRight->m_nXMax != pLeft->m_nXMax ||
pRight->m_nYMax != pLeft->m_nYMax ||
pRight->m_bHaveVerticalSubstitutedGlyphs != pLeft->m_bHaveVerticalSubstitutedGlyphs ||
@@ -575,10 +951,14 @@
)
return false;
std::list< int >::const_iterator lit, rit;
-diff -ru psprint/source/fontmanager/fontconfig.cxx psprint/source/fontmanager/fontconfig.cxx
---- openoffice.org.orig/psprint/source/fontmanager/fontconfig.cxx 2006-05-08 16:00:10.000000000 -0400
-+++ openoffice.org/psprint/source/fontmanager/fontconfig.cxx 2006-05-08 16:03:34.000000000 -0400
-@@ -136,6 +136,7 @@
+Index: source/fontmanager/fontconfig.cxx
+===================================================================
+RCS file: /cvs/gsl/psprint/source/fontmanager/fontconfig.cxx,v
+retrieving revision 1.30.20.1
+diff -u -r1.30.20.1 fontconfig.cxx
+--- openoffice.org.orig/psprint/source/fontmanager/fontconfig.cxx 10 Sep 2008 13:53:12 -0000 1.30.20.1
++++ openoffice.org/psprint/source/fontmanager/fontconfig.cxx 18 Nov 2008 10:40:42 -0000
+@@ -122,6 +122,7 @@
FcBool (*m_pFcConfigAppFontAddDir)(FcConfig*, const FcChar8*);
FcBool (*m_pFcConfigSubstitute)(FcConfig*,FcPattern*,FcMatchKind);
FcBool (*m_pFcPatternAddInteger)(FcPattern*,const char*,int);
@@ -586,16 +966,7 @@
FcBool (*m_pFcPatternAddBool)(FcPattern*,const char*,FcBool);
FcBool (*m_pFcPatternAddCharSet)(FcPattern*,const char*,const FcCharSet*);
FcBool (*m_pFcPatternAddString)(FcPattern*,const char*,const FcChar8*);
-@@ -183,7 +184,7 @@
-
- void FcPatternDestroy( FcPattern* pPattern )
- { m_pFcPatternDestroy( pPattern ); }
--
-+
- FcFontSet* FcFontList( FcConfig* pConfig, FcPattern* pPattern, FcObjectSet* pSet )
- { return m_pFcFontList( pConfig, pPattern, pSet ); }
-
-@@ -240,6 +241,8 @@
+@@ -226,6 +227,8 @@
{ return m_pFcConfigSubstitute( pConfig, pPattern, eKind ); }
FcBool FcPatternAddInteger( FcPattern* pPattern, const char* pObject, int nValue )
{ return m_pFcPatternAddInteger( pPattern, pObject, nValue ); }
@@ -604,7 +975,7 @@
FcBool FcPatternAddString( FcPattern* pPattern, const char* pObject, const FcChar8* pString )
{ return m_pFcPatternAddString( pPattern, pObject, pString ); }
FcBool FcPatternAddBool( FcPattern* pPattern, const char* pObject, bool nValue )
-@@ -251,7 +254,9 @@
+@@ -237,7 +240,9 @@
{ return m_pFcFreeTypeCharIndex ? m_pFcFreeTypeCharIndex( face, ucs4 ) : 0; }
public: // TODO: cleanup
@@ -615,7 +986,7 @@
};
oslGenericFunction FontCfgWrapper::loadSymbol( const char* pSymbol )
-@@ -341,6 +346,8 @@
+@@ -327,6 +332,8 @@
loadSymbol( "FcConfigSubstitute" );
m_pFcPatternAddInteger = (FcBool(*)(FcPattern*,const char*,int))
loadSymbol( "FcPatternAddInteger" );
@@ -624,7 +995,7 @@
m_pFcPatternAddBool = (FcBool(*)(FcPattern*,const char*,FcBool))
loadSymbol( "FcPatternAddBool" );
m_pFcPatternAddCharSet = (FcBool(*)(FcPattern*,const char*,const FcCharSet *))
-@@ -378,6 +385,7 @@
+@@ -364,6 +371,7 @@
m_pFcDefaultSubstitute &&
m_pFcConfigSubstitute &&
m_pFcPatternAddInteger &&
@@ -632,7 +1003,7 @@
m_pFcPatternAddCharSet &&
m_pFcPatternAddBool &&
m_pFcPatternAddString
-@@ -512,54 +520,53 @@
+@@ -498,54 +506,53 @@
return candidate;
}
@@ -724,7 +1095,7 @@
/*
* PrintFontManager::initFontconfig
*/
-@@ -594,18 +601,16 @@
+@@ -580,18 +587,16 @@
int weight = 0;
int spacing = 0;
int nCollectionEntry = -1;
@@ -745,7 +1116,7 @@
if( eFileRes != FcResultMatch || eFamilyRes != FcResultMatch || eOutRes != FcResultMatch )
continue;
-@@ -745,15 +750,6 @@
+@@ -731,15 +736,6 @@
{
pUpdate->m_aStyleName = OStringToOUString( OString( (sal_Char*)style ), RTL_TEXTENCODING_UTF8 );
}
@@ -761,7 +1132,7 @@
// update font cache
m_pFontCache->updateFontCacheEntry( pUpdate, false );
-@@ -957,8 +953,8 @@
+@@ -944,8 +940,8 @@
if( eFileRes == FcResultMatch )
{
OString sFamily((sal_Char*)family);
@@ -772,11 +1143,12 @@
sFamily = aI->second;
aName = rtl::OStringToOUString( sFamily, RTL_TEXTENCODING_UTF8 );
}
-@@ -989,6 +985,106 @@
+@@ -976,6 +972,98 @@
return aName;
}
-+FontConfigHints PrintFontManager::getFontConfigHints( const FastPrintFontInfo& rInfo, int nSize)
++FontConfigHints PrintFontManager::getFontConfigHints(
++ const FastPrintFontInfo& rInfo, int nSize, void (*subcallback)(void *) )
+{
+ FontConfigHints aHints;
+#ifdef ENABLE_FONTCONFIG
@@ -784,7 +1156,7 @@
+ if( ! rWrapper.isValid() )
+ return aHints;
+
-+ FcConfig* pConfig = rWrapper.getDefConfig();
++ FcConfig* pConfig = rWrapper.FcConfigGetCurrent();
+ FcPattern* pPattern = rWrapper.FcPatternCreate();
+
+ OString sFamily = OUStringToOString( rInfo.m_aFamilyName, RTL_TEXTENCODING_UTF8 );
@@ -796,82 +1168,73 @@
+ rWrapper.FcPatternAddString( pPattern, FC_FAMILY, (FcChar8*)sFamily.getStr() );
+
+ addtopattern(rWrapper, pPattern, rInfo.m_eItalic, rInfo.m_eWeight, rInfo.m_eWidth, rInfo.m_ePitch);
-+
+ rWrapper.FcPatternAddDouble( pPattern, FC_PIXEL_SIZE, nSize);
+
-+ OString aFamily = OUStringToOString( rInfo.m_aFamilyName, RTL_TEXTENCODING_UTF8 );
-+
+ FcBool embitmap = true, antialias = true, autohint = true, hinting = true;
-+ int hintstyle = FC_HINT_FULL, rgba = FC_RGBA_UNKNOWN;
-+
-+ rWrapper.FcConfigSubstitute( pConfig, pPattern, FcMatchFont );
++ int hintstyle = FC_HINT_FULL;
+
++ rWrapper.FcConfigSubstitute( pConfig, pPattern, FcMatchPattern );
++ if (subcallback) subcallback(pPattern);
+ rWrapper.FcDefaultSubstitute( pPattern );
-+ FcResult eEmbeddedBitmap = rWrapper.FcPatternGetBool( pPattern, FC_EMBEDDED_BITMAP, 0, &embitmap );
-+ FcResult eAntialias = rWrapper.FcPatternGetBool( pPattern, FC_ANTIALIAS, 0, &antialias );
-+ FcResult eAutoHint = rWrapper.FcPatternGetBool( pPattern, FC_AUTOHINT, 0, &autohint );
-+ FcResult eSubPixel = rWrapper.FcPatternGetInteger( pPattern, FC_RGBA, 0, &rgba);
-+ FcResult eHinting = rWrapper.FcPatternGetBool( pPattern, FC_HINTING, 0, &hinting );
-+
-+ FcResult eHintStyle = rWrapper.FcPatternGetInteger( pPattern, FC_HINT_STYLE, 0, &hintstyle );
-+ rWrapper.FcPatternDestroy(pPattern);
-+
-+ if( eEmbeddedBitmap == FcResultMatch )
-+ aHints.m_eEmbeddedbitmap = embitmap ? fcstatus::istrue : fcstatus::isfalse;
-+ if( eAntialias == FcResultMatch )
-+ aHints.m_eAntialias = antialias ? fcstatus::istrue : fcstatus::isfalse;
-+ if( eAutoHint == FcResultMatch )
-+ aHints.m_eAutoHint = autohint ? fcstatus::istrue : fcstatus::isfalse;
-+ if( eHinting == FcResultMatch )
-+ aHints.m_eHinting = hinting ? fcstatus::istrue : fcstatus::isfalse;
-+ if (eHintStyle != FcResultMatch)
-+ aHints.m_eHintStyle = fchint::Full;
-+ else
++
++ FcResult eResult = FcResultNoMatch;
++ FcFontSet *pFontSet = rWrapper.getFontSet();
++ FcPattern* pResult = rWrapper.FcFontSetMatch( pConfig, &pFontSet, 1, pPattern, &eResult );
++ if( pResult )
+ {
-+ switch (hintstyle)
++ FcFontSet* pSet = rWrapper.FcFontSetCreate();
++ rWrapper.FcFontSetAdd( pSet, pResult );
++ if( pSet->nfont > 0 )
+ {
-+ case FC_HINT_NONE:
-+ aHints.m_eHintStyle = fchint::Nohint;
-+ break;
-+ case FC_HINT_SLIGHT:
-+ aHints.m_eHintStyle = fchint::Slight;
-+ break;
-+ case FC_HINT_MEDIUM:
-+ aHints.m_eHintStyle = fchint::Medium;
-+ break;
-+ case FC_HINT_FULL:
-+ default:
++ FcResult eEmbeddedBitmap = rWrapper.FcPatternGetBool(pSet->fonts[0],
++ FC_EMBEDDED_BITMAP, 0, &embitmap);
++ FcResult eAntialias = rWrapper.FcPatternGetBool(pSet->fonts[0],
++ FC_ANTIALIAS, 0, &antialias);
++ FcResult eAutoHint = rWrapper.FcPatternGetBool(pSet->fonts[0],
++ FC_AUTOHINT, 0, &autohint);
++ FcResult eHinting = rWrapper.FcPatternGetBool(pSet->fonts[0],
++ FC_HINTING, 0, &hinting);
++ FcResult eHintStyle = rWrapper.FcPatternGetInteger(pSet->fonts[0],
++ FC_HINT_STYLE, 0, &hintstyle);
++
++ if( eEmbeddedBitmap == FcResultMatch )
++ aHints.m_eEmbeddedbitmap = embitmap ? fcstatus::istrue : fcstatus::isfalse;
++ if( eAntialias == FcResultMatch )
++ aHints.m_eAntialias = antialias ? fcstatus::istrue : fcstatus::isfalse;
++ if( eAutoHint == FcResultMatch )
++ aHints.m_eAutoHint = autohint ? fcstatus::istrue : fcstatus::isfalse;
++ if( eHinting == FcResultMatch )
++ aHints.m_eHinting = hinting ? fcstatus::istrue : fcstatus::isfalse;
++ if (eHintStyle != FcResultMatch)
+ aHints.m_eHintStyle = fchint::Full;
-+ break;
-+ }
-+ }
-+ if (eSubPixel != FcResultMatch)
-+ aHints.m_eSubPixel = fcsubpixel::Unknown;
-+ else
-+ {
-+ switch (rgba)
-+ {
-+ default:
-+ case FC_RGBA_UNKNOWN:
-+ aHints.m_eSubPixel = fcsubpixel::Unknown;
-+ break;
-+ case FC_RGBA_RGB:
-+ aHints.m_eSubPixel = fcsubpixel::RGB;
-+ break;
-+ case FC_RGBA_BGR:
-+ aHints.m_eSubPixel = fcsubpixel::BGR;
-+ break;
-+ case FC_RGBA_VRGB:
-+ aHints.m_eSubPixel = fcsubpixel::VRGB;
-+ break;
-+ case FC_RGBA_VBGR:
-+ aHints.m_eSubPixel = fcsubpixel::VBGR;
-+ break;
-+ case FC_RGBA_NONE:
-+ aHints.m_eSubPixel = fcsubpixel::NONE;
-+ break;
++ else
++ {
++ switch (hintstyle)
++ {
++ case FC_HINT_NONE:
++ aHints.m_eHintStyle = fchint::Nohint;
++ break;
++ case FC_HINT_SLIGHT:
++ aHints.m_eHintStyle = fchint::Slight;
++ break;
++ case FC_HINT_MEDIUM:
++ aHints.m_eHintStyle = fchint::Medium;
++ break;
++ case FC_HINT_FULL:
++ default:
++ aHints.m_eHintStyle = fchint::Full;
++ break;
++ }
++ }
+ }
++ // info: destroying the pSet destroys pResult implicitly
++ // since pResult was "added" to pSet
++ rWrapper.FcFontSetDestroy( pSet );
+ }
++
++ // cleanup
++ rWrapper.FcPatternDestroy( pPattern );
++
+#endif
+ return aHints;
+}
@@ -879,24 +1242,14 @@
bool PrintFontManager::matchFont( FastPrintFontInfo& rInfo, const com::sun::star::lang::Locale& rLocale )
{
FontCfgWrapper& rWrapper = FontCfgWrapper::get();
-@@ -1014,9 +1110,10 @@
- if( aLangAttrib.getLength() )
- rWrapper.FcPatternAddString( pPattern, FC_LANG, (FcChar8*)aLangAttrib.getStr() );
-
-- OString aFamily = OUStringToOString( rInfo.m_aFamilyName, RTL_TEXTENCODING_UTF8 );
-- if( aFamily.getLength() )
-- rWrapper.FcPatternAddString( pPattern, FC_FAMILY, (FcChar8*)aFamily.getStr() );
-+ OString sFamily = OUStringToOString( rInfo.m_aFamilyName, RTL_TEXTENCODING_UTF8 );
-+
-+ if( sFamily.getLength() )
-+ rWrapper.FcPatternAddString( pPattern, FC_FAMILY, (FcChar8*)sFamily.getStr() );
-
- addtopattern(rWrapper, pPattern, rInfo.m_eItalic, rInfo.m_eWeight, rInfo.m_eWidth, rInfo.m_ePitch);
-
-diff -ru psprint/source/fontmanager/fontmanager.cxx psprint/source/fontmanager/fontmanager.cxx
---- openoffice.org.orig/psprint/source/fontmanager/fontmanager.cxx 2006-05-08 16:00:10.000000000 -0400
-+++ openoffice.org/psprint/source/fontmanager/fontmanager.cxx 2006-05-08 16:00:32.000000000 -0400
-@@ -391,9 +391,7 @@
+Index: source/fontmanager/fontmanager.cxx
+===================================================================
+RCS file: /cvs/gsl/psprint/source/fontmanager/fontmanager.cxx,v
+retrieving revision 1.81.18.1
+diff -u -r1.81.18.1 fontmanager.cxx
+--- openoffice.org.orig/psprint/source/fontmanager/fontmanager.cxx 10 Sep 2008 13:53:28 -0000 1.81.18.1
++++ openoffice.org/psprint/source/fontmanager/fontmanager.cxx 18 Nov 2008 10:40:42 -0000
+@@ -355,9 +355,7 @@
m_nXMax( 0 ),
m_nYMax( 0 ),
m_bHaveVerticalSubstitutedGlyphs( false ),
@@ -907,7 +1260,7 @@
{
}
-@@ -2761,8 +2759,6 @@
+@@ -2732,8 +2730,6 @@
rInfo.m_eWeight = pFont->m_eWeight;
rInfo.m_ePitch = pFont->m_ePitch;
rInfo.m_aEncoding = pFont->m_aEncoding;
@@ -916,7 +1269,7 @@
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 ) );
-@@ -4006,8 +4002,6 @@
+@@ -3977,8 +3973,6 @@
BuiltinFont* pFont = new BuiltinFont();
pFont->m_nDirectory = 0;
pFont->m_bUserOverride = false;
@@ -925,405 +1278,3 @@
pFont->m_pMetrics = new PrintFontMetrics;
memset( pFont->m_pMetrics->m_aPages, 0xff, sizeof( pFont->m_pMetrics->m_aPages ) );
pFont->m_pMetrics->m_bKernPairsQueried = true;
-diff -ru vcl/inc/impfont.hxx vcl/inc/impfont.hxx
---- openoffice.org.orig/vcl/inc/vcl/impfont.hxx 2006-05-22 13:59:55.000000000 +0100
-+++ openoffice.org/vcl/inc/vcl/impfont.hxx 2006-05-23 12:26:20.000000000 +0100
-@@ -167,24 +167,29 @@
- 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
-+ FontSubPixel meSubPixel; // type of subpixel font hinting to be used
- public:
- ImplFontHints() :
- meEmbeddedBitmap(EMBEDDEDBITMAP_DONTKNOW),
- meAntiAlias(ANTIALIAS_DONTKNOW),
- meAutoHint(AUTOHINT_DONTKNOW),
- meHinting(HINTING_DONTKNOW),
-- meHintStyle(HINT_FULL)
-+ meHintStyle(HINT_FULL),
-+ meSubPixel(SUBPIXEL_UNKNOWN)
- {}
- ImplFontHints(FontEmbeddedBitmap eEmbeddedBitmap, FontAntiAlias eAntiAlias,
-- FontAutoHint eAutoHint, FontHinting eHinting, FontHintStyle eHintStyle) :
-+ FontAutoHint eAutoHint, FontHinting eHinting, FontHintStyle eHintStyle,
-+ FontSubPixel eSubPixel) :
- meEmbeddedBitmap(eEmbeddedBitmap),
- meAntiAlias(eAntiAlias),
- meAutoHint(eAutoHint),
- meHinting(eHinting),
-- meHintStyle(eHintStyle)
-+ meHintStyle(eHintStyle),
-+ meSubPixel(eSubPixel)
- {}
- FontAutoHint GetUseAutoHint() const { return meAutoHint; }
- FontHintStyle GetHintStyle() const { return meHintStyle; }
-+ FontSubPixel GetSubPixel() const { return meSubPixel; }
- bool DontUseEmbeddedBitmaps() const { return meEmbeddedBitmap == EMBEDDEDBITMAP_FALSE; }
- bool DontUseAntiAlias() const { return meAntiAlias == ANTIALIAS_FALSE; }
- bool DontUseHinting() const { return (meHinting == HINTING_FALSE) || (GetHintStyle() == HINT_NONE); }
-diff -ru vcl/inc/vclenum.hxx vcl/inc/vclenum.hxx
---- openoffice.org.orig/vcl/inc/vcl/vclenum.hxx 2006-05-22 13:59:55.000000000 +0100
-+++ openoffice.org/vcl/inc/vcl/vclenum.hxx 2006-05-22 14:14:49.000000000 +0100
-@@ -310,6 +310,14 @@
-
- #endif
-
-+#ifndef ENUM_FONTSUBPIXEL_DECLARED
-+#define ENUM_FONTSUBPIXEL_DECLARED
-+
-+enum FontSubPixel { SUBPIXEL_UNKNOWN, SUBPIXEL_RGB, SUBPIXEL_BGR, SUBPIXEL_VRGB, SUBPIXEL_VBGR, SUBPIXEL_NONE};
-+
-+#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.139.12.2
-diff -u -r1.139.12.2 gcach_ftyp.cxx
---- openoffice.org.orig/vcl/source/glyphs/gcach_ftyp.cxx 24 Jan 2007 15:08:39 -0000 1.139.12.2
-+++ openoffice.org/vcl/source/glyphs/gcach_ftyp.cxx 13 Apr 2007 11:33:47 -0000
-@@ -44,6 +44,7 @@
- #include <vcl/impfont.hxx>
- #include <vcl/bitmap.hxx>
- #include <vcl/bmpacc.hxx>
-+#include <vcl/virdev.hxx>
-
- #include <tools/poly.hxx>
- #include <basegfx/matrix/b2dhommatrix.hxx>
-@@ -616,9 +617,6 @@
- aDFA.mbSubsettable= false;
- aDFA.mbEmbeddable = false;
-
-- aDFA.meEmbeddedBitmap = EMBEDDEDBITMAP_DONTKNOW;
-- aDFA.meAntiAlias = ANTIALIAS_DONTKNOW;
--
- FT_Done_Face( aFaceFT );
- AddFontFile( aCFileName, nFaceNum, ++mnNextFontId, aDFA, NULL );
- ++nCount;
-@@ -698,6 +696,7 @@
- : ServerFont( rFSD ),
- mnPrioEmbedded(nDefaultPrioEmbedded),
- mnPrioAntiAlias(nDefaultPrioAntiAlias),
-+ mnPrioAutoHint(nDefaultPrioAutoHint),
- mpFontInfo( pFI ),
- maFaceFT( NULL ),
- maSizeFT( NULL ),
-@@ -830,42 +829,84 @@
-
- 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;
-+ }
-+
-+ ImplFontHints aHints;
-+ VirtualDevice vdev( 1 );
-+ vdev.ImplGetFontHints( pFI->GetFontAttributes(), mnWidth, aHints );
-+
-+ FontAutoHint eHint = aHints.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 (aHints.DontUseAntiAlias())
-+ mnPrioAntiAlias = 0;
-+ if (aHints.DontUseEmbeddedBitmaps())
-+ mnPrioEmbedded = 0;
-+ if (aHints.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
-- // enable "light hinting" if available
-+#if defined(FT_LOAD_TARGET_LIGHT) && defined(FT_LOAD_TARGET_NORMAL)
- if( !(mnLoadFlags & FT_LOAD_NO_HINTING) && (nFTVERSION >= 2103))
-- mnLoadFlags |= FT_LOAD_TARGET_LIGHT;
-+ {
-+ mnLoadFlags |= FT_LOAD_TARGET_NORMAL;
-+ switch (aHints.GetHintStyle())
-+ {
-+ case HINT_NONE:
-+ mnLoadFlags |= FT_LOAD_NO_HINTING;
-+ break;
-+ case HINT_SLIGHT:
-+ mnLoadFlags |= FT_LOAD_TARGET_LIGHT;
-+ break;
-+ case HINT_MEDIUM:
-+ break;
-+ case HINT_FULL:
-+ default:
-+ switch (aHints.GetSubPixel())
-+ {
-+ case SUBPIXEL_NONE:
-+ break;
-+ default:
-+ case SUBPIXEL_UNKNOWN:
-+ case SUBPIXEL_RGB:
-+ case SUBPIXEL_BGR:
-+ mnLoadFlags |= FT_LOAD_TARGET_LCD;
-+ break;
-+ case SUBPIXEL_VRGB:
-+ case SUBPIXEL_VBGR:
-+ mnLoadFlags |= FT_LOAD_TARGET_LCD_V;
-+ break;
-+ }
-+ break;
-+ }
-+ }
-+
- #endif
-
- if( ((mnCos != 0) && (mnSin != 0)) || (mnPrioEmbedded <= 0) )
-@@ -1197,13 +1238,15 @@
- }
- }
-
--#if !defined(TT_CONFIG_OPTION_BYTECODE_INTERPRETER)
-+#if 0
- // #95556# autohinting not yet optimized for non-western glyph styles
- if( !(mnLoadFlags & (FT_LOAD_NO_HINTING | FT_LOAD_FORCE_AUTOHINT) )
- && ( (aChar >= 0x0600 && aChar < 0x1E00) // south-east asian + arabic
- ||(aChar >= 0x2900 && aChar < 0xD800) // CJKV
- ||(aChar >= 0xF800) ) ) // presentation + symbols
-+ {
- nGlyphFlags |= GF_UNHINTED;
-+ }
- #endif
-
- if( nGlyphIndex != 0 )
-@@ -1334,11 +1377,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;
-@@ -1489,7 +1532,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
-
-diff -ru vcl/unx/source/gdi/salgdi3.cxx vcl/unx/source/gdi/salgdi3.cxx
---- openoffice.org.orig/vcl/unx/source/gdi/salgdi3.cxx 2006-05-22 13:59:52.000000000 +0100
-+++ openoffice.org/vcl/unx/source/gdi/salgdi3.cxx 2006-05-23 12:29:33.000000000 +0100
-@@ -1531,6 +1531,29 @@
- rFontHints.meHintStyle = HINT_FULL;
- break;
- }
-+
-+ switch (aHints.m_eSubPixel)
-+ {
-+ default:
-+ case psp::fcsubpixel::Unknown:
-+ rFontHints.meSubPixel = SUBPIXEL_UNKNOWN;
-+ break;
-+ case psp::fcsubpixel::RGB:
-+ rFontHints.meSubPixel = SUBPIXEL_RGB;
-+ break;
-+ case psp::fcsubpixel::BGR:
-+ rFontHints.meSubPixel = SUBPIXEL_BGR;
-+ break;
-+ case psp::fcsubpixel::VRGB:
-+ rFontHints.meSubPixel = SUBPIXEL_VRGB;
-+ break;
-+ case psp::fcsubpixel::VBGR:
-+ rFontHints.meSubPixel = SUBPIXEL_VBGR;
-+ break;
-+ case psp::fcsubpixel::NONE:
-+ rFontHints.meSubPixel = SUBPIXEL_NONE;
-+ break;
-+ }
- }
-
- // ----------------------------------------------------------------------------
-diff -ru psprint/inc/psprint/fontmanager.hxx psprint/inc/psprint/fontmanager.hxx
---- openoffice.org.orig/psprint/inc/psprint/fontmanager.hxx 2006-05-22 13:59:50.000000000 +0100
-+++ openoffice.org/psprint/inc/psprint/fontmanager.hxx 2006-05-22 15:28:40.000000000 +0100
-@@ -165,6 +165,19 @@
- };
- }
-
-+namespace fcsubpixel
-+{
-+enum type {
-+ Unknown = 0,
-+ RGB = 1,
-+ BGR = 2,
-+ VRGB = 3,
-+ VBGR = 4,
-+ NONE = 5
-+};
-+}
-+
-+
- struct FontConfigHints
- {
- fcstatus::type m_eEmbeddedbitmap;
-@@ -172,13 +185,15 @@
- fcstatus::type m_eAutoHint;
- fcstatus::type m_eHinting;
- fchint::type m_eHintStyle;
-+ fcsubpixel::type m_eSubPixel;
-
- FontConfigHints() :
- m_eEmbeddedbitmap( fcstatus::isunset ),
- m_eAntialias( fcstatus::isunset ),
- m_eAutoHint( fcstatus::isunset ),
- m_eHinting( fcstatus::isunset ),
-- m_eHintStyle( fchint::Full )
-+ m_eHintStyle( fchint::Medium ),
-+ m_eSubPixel( fcsubpixel::Unknown )
- {}
- };
-
-Index: svppspgraphics.cxx
-===================================================================
-RCS file: /cvs/gsl/vcl/unx/headless/svppspgraphics.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 svppspgraphics.cxx
---- openoffice.org.orig/vcl/unx/headless/svppspgraphics.cxx 24 Jul 2007 10:28:29 -0000 1.2
-+++ openoffice.org/vcl/unx/headless/svppspgraphics.cxx 15 Aug 2007 11:59:04 -0000
-@@ -1175,32 +1175,6 @@
- aDFA.mePitch = ToFontPitch (rInfo.m_ePitch);
- aDFA.mbSymbolFlag = (rInfo.m_aEncoding == RTL_TEXTENCODING_SYMBOL);
-
-- switch (rInfo.m_eEmbeddedbitmap)
-- {
-- default:
-- aDFA.meEmbeddedBitmap = EMBEDDEDBITMAP_DONTKNOW;
-- break;
-- case psp::fcstatus::istrue:
-- aDFA.meEmbeddedBitmap = EMBEDDEDBITMAP_TRUE;
-- break;
-- case psp::fcstatus::isfalse:
-- aDFA.meEmbeddedBitmap = EMBEDDEDBITMAP_FALSE;
-- break;
-- }
--
-- switch (rInfo.m_eAntialias)
-- {
-- default:
-- aDFA.meAntiAlias = ANTIALIAS_DONTKNOW;
-- break;
-- case psp::fcstatus::istrue:
-- aDFA.meAntiAlias = ANTIALIAS_TRUE;
-- break;
-- case psp::fcstatus::isfalse:
-- aDFA.meAntiAlias = ANTIALIAS_FALSE;
-- break;
-- }
--
- // special case for the ghostscript fonts
- if( aDFA.maName.CompareIgnoreCaseToAscii( "itc ", 4 ) == COMPARE_EQUAL )
- aDFA.maName = aDFA.maName.Copy( 4 );
-@@ -1386,3 +1360,7 @@
- return bRet && m_bSwallowFaxNo;
- }
-
-+void PspGraphics::GetFontHints( const ImplFontAttributes& , int , ImplFontHints& ) const
-+{
-+}
-+
-Index: svppspgraphics.hxx
-===================================================================
-RCS file: /cvs/gsl/vcl/unx/headless/svppspgraphics.hxx,v
-retrieving revision 1.2
-diff -u -r1.2 svppspgraphics.hxx
---- openoffice.org.orig/vcl/unx/headless/svppspgraphics.hxx 24 Jul 2007 10:28:40 -0000 1.2
-+++ openoffice.org/vcl/unx/headless/svppspgraphics.hxx 15 Aug 2007 12:02:57 -0000
-@@ -201,6 +201,7 @@
-
- virtual BOOL drawEPS( long nX, long nY, long nWidth, long nHeight, void* pPtr, ULONG nSize );
- virtual bool filterText( const String& rOrigText, String& rNewText, xub_StrLen nIndex, xub_StrLen& rLen, xub_StrLen& rCutStart, xub_StrLen& rCutStop );
-+ virtual void GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const;
- };
-
- #endif // _SVP_PSPGRAPHICS_HXX
-Index: svpgdi.cxx
-===================================================================
-RCS file: /cvs/gsl/vcl/unx/headless/svpgdi.cxx,v
-retrieving revision 1.2
-diff -u -r1.2 svpgdi.cxx
---- openoffice.org.orig/vcl/unx/headless/svpgdi.cxx 24 Jul 2007 10:27:28 -0000 1.2
-+++ openoffice.org/vcl/unx/headless/svpgdi.cxx 15 Aug 2007 12:06:47 -0000
-@@ -535,3 +535,7 @@
- {
- return FALSE;
- }
-+
-+void SvpSalGraphics::GetFontHints( const ImplFontAttributes& , int , ImplFontHints& ) const
-+{
-+}
-Index: svpgdi.hxx
-===================================================================
-RCS file: /cvs/gsl/vcl/unx/headless/svpgdi.hxx,v
-retrieving revision 1.2
-diff -u -r1.2 svpgdi.hxx
---- openoffice.org.orig/vcl/unx/headless/svpgdi.hxx 24 Jul 2007 10:27:38 -0000 1.2
-+++ openoffice.org/vcl/unx/headless/svpgdi.hxx 15 Aug 2007 12:07:36 -0000
-@@ -176,6 +176,8 @@
- virtual void invert( ULONG nPoints, const SalPoint* pPtAry, SalInvert nFlags );
-
- virtual BOOL drawEPS( long nX, long nY, long nWidth, long nHeight, void* pPtr, ULONG nSize );
-+
-+ virtual void GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const;
- };
-
- #endif
openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch:
Index: openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/F-9/openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch 6 Jun 2008 08:08:11 -0000 1.2
+++ openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch 19 Nov 2008 12:08:37 -0000 1.3
@@ -1,8 +1,8 @@
diff -ru psprint/inc/psprint/fontmanager.hxx psprint/inc/psprint/fontmanager.hxx
--- openoffice.org.orig/psprint/inc/psprint/fontmanager.hxx 2008-05-26 15:48:28.000000000 +0100
+++ openoffice.org/psprint/inc/psprint/fontmanager.hxx 2008-05-26 15:50:13.000000000 +0100
-@@ -789,8 +789,8 @@
- FontConfigHints getFontConfigHints(const FastPrintFontInfo& rInfo, int nSize);
+@@ -765,8 +765,8 @@
+ FontConfigHints getFontConfigHints(const FastPrintFontInfo& rInfo, int nSize, void (*subcallback)(void *));
rtl::OUString Substitute( const rtl::OUString& rFontName, rtl::OUString& rMissingCodes,
- const rtl::OString& rLangAttrib, italic::type eItalic, weight::type eWeight,
Index: openoffice.org.spec
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/F-9/openoffice.org.spec,v
retrieving revision 1.1510
retrieving revision 1.1511
diff -u -r1.1510 -r1.1511
--- openoffice.org.spec 29 Oct 2008 09:38:17 -0000 1.1510
+++ openoffice.org.spec 19 Nov 2008 12:08:37 -0000 1.1511
@@ -1,6 +1,6 @@
%define oootag OOH680
%define ooomilestone 18
-%define rh_rpm_release 1
+%define rh_rpm_release 2
# undef to get english only and no-langpacks for a faster smoketest build
%define langpacks 1
@@ -92,84 +92,85 @@
Patch17: openoffice.org-1.9.123.ooo53397.prelinkoptimize.desktop.patch
Patch18: openoffice.org-2.0.1.ooo58606.sw.pre-edit.patch
Patch19: openoffice.org-2.0.2.rh188467.printingdefaults.patch
-Patch20: openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch
-Patch21: openoffice.org-2.0.4.ooo69051.vcl.singlekeypress.patch
-Patch22: pseudoworkspace.valgrind1.patch
-Patch23: openoffice.org-2.0.4.rhXXXXXX.padmin.nospadmin.patch
-Patch24: openoffice.org-2.0.4.rh217065.syncbackspace.patch
-Patch25: openoffice.org.2.0.4.ooo80412.i18npool.extendgrapheme.patch
-Patch26: openoffice.org-2.1.0.ooo65491.psprint.enablenups.patch
-Patch27: openoffice.org-2.0.3.rh127576.gtkunixprintdialog.localize
-Patch28: openoffice.org-2.1.0.oooXXXXX.lingucomponent.systemdicts.patch
-Patch29: openoffice.org-2.1.0.rh217269.officecfg.nosequencecheck.patch
-Patch30: workspace.tl37.patch
-Patch31: openoffice.org-2.1.0.ooo73201.sw.a11yloadcrash.patch
-Patch32: openoffice.org-2.1.0.oooXXXXX.vcl.dontsortglyphs.patch
-Patch33: openoffice.org-2.2.0.ooo73863.vcl.imcommit.patch
-Patch34: openoffice.org-2.2.0.ooo74188.sw.cursorinsideglyph.patch
-Patch35: openoffice.org-2.2.0.ooo68717.gstreamer.video.patch
-Patch36: openoffice.org-2.2.0.ooo63159.sal.dtype.patch
-Patch37: openoffice.org-2.2.0.rh232389.tango.patch
-Patch38: openoffice.org-2.2.0.ooo76393.sal.dynamicsection.patch
-Patch39: openoffice.org-2.2.0.ooo76424.nonatnum.bn_IN.18npool.patch
-Patch40: openoffice.org-2.0.3.ooo80816.selinux.bridges.patch
-Patch41: openoffice.org-2.2.1.ooo78971.xmloff.outofrange.patch
-Patch42: openoffice.org-2.2.1.oooXXXXX.sw.titlepagedialog.patch
-Patch43: openoffice.org-2.2.1.ooo79481.sw.rowordcount.patch
-Patch44: openoffice.org-2.3.0.ooo80257.sd.textonlystyle.patch
-Patch45: openoffice.org-2.3.0.ooo80257.sd.textonlystyle.tar.gz
-Patch46: workspace.unifysound01.patch
-Patch47: openoffice.org-2.2.0.gccXXXXX.solenv.javaregistration.patch
-Patch48: openoffice.org-2.3.0.ooo81321.cppu.silencewarnings.patch
-Patch49: openoffice.org-2.3.0.ooo76649.httpencoding.patch
-Patch50: openoffice.org-2.3.0.ooo82966.svx.missing3d.patch
-Patch51: openoffice.org-2.3.1.ooo83878.unopkg.enablelinking.patch
-Patch52: workspace.notes2.patch
-Patch53: openoffice.org-2.3.1.ooo84676.ucb.davprotocol.patch
-Patch54: openoffice.org-2.3.1.ooo84621.sw.insertexcel.patch
-Patch55: openoffice.org-2.3.1.ooo84770.svx.eventsmismatch.patch
-Patch56: openoffice.org-2.4.0.ooo85054.stlport.noorigs.patch
-Patch57: openoffice.org-2.4.0.ooo86670.config_office.xpcomasxul.patch
-Patch58: openoffice.org-2.4.0.ooo85097.desktop.pagein.patch
-Patch59: openoffice.org-2.4.0.oooXXXXX.solenv.paths.patch
-Patch60: openoffice.org-2.4.0.rh133741.alwaysgtk.vcl.patch
-Patch61: openoffice.org-2.4.0.ooo85385.svtools.a11ycrash.patch
-Patch62: openoffice.org-2.4.0.ooo85429.sw.a11ycrash.patch
-Patch63: openoffice.org-2.4.0.ooo85448.emptyrpath.patch
-Patch64: workspace.cairotext01.patch
-Patch65: workspace.gcc430two.patch
-Patch66: openoffice.org-2.4.0.ooo85854.sw.graphicsaveas.patch
-Patch67: openoffice.org-2.4.0.ooo85921.sd.editmasterundermouse.patch
-Patch68: openoffice.org-2.4.0.ooo85931.svx.getentrypos.patch
-Patch69: openoffice.org-2.4.0.ooo86123.ucb.newneon.patch
-Patch70: openoffice.org-2.4.0.ooo86080.unopkg.bodge.patch
-Patch71: openoffice.org-2.4.0.oooXXXXX.psprint.debugcups.patch
-Patch72: openoffice.org-2.3.0.ooo86866.embeddedobj.plusequalsoperator.patch
-Patch73: openoffice.org-2.3.0.ooo86882.vcl.unsigned_int_to_long.patch
-Patch74: openoffice.org-2.4.0.ooo86924.sfx2.iconchanges.patch
-Patch75: openoffice.org-2.4.0.ooo87204.toolkit.64bitevent.patch
-Patch76: openoffice.org-2.4.0.ooo87490.sfx2.allprotocols.urlopen.patch
-Patch77: openoffice.org-3.0.0.ooo85691.vcl.tooltipcolor.patch
-Patch78: openoffice.org-3.0.0.ooo87991.fpickersafe.patch
-Patch79: openoffice.org-3.0.0.ooo88033.svx.a11ycrash.patch
-Patch80: openoffice.org-2.4.0.ooo87071.sd.backgroundfix.patch
-Patch81: openoffice.org-3.0.0.ooo89002.vcl.symbolfonts.patch
-Patch82: workspace.impress138.patch
-Patch83: openoffice.org-2.4.0.gcc36187.noaliasingbusted.patch
-Patch84: openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch
-Patch85: openoffice.org-3.0.0.ooo90037.vcl.cairotransforms.patch
-Patch86: openoffice.org-3.0.0.ooo82545.np_sdk.x86_64.patch
-Patch87: openoffice.org-3.0.0.ooo90306.sw.wrongprotection.patch
-Patch88: openoffice.org-3.0.0.ooo48400.svx.fixspelling.patch
-Patch89: openoffice.org-3.0.0.ooo90697.sd.a11ycrash.patch
-Patch90: workspace.locdat30.patch
-Patch91: openoffice.org-3.0.0.ooo86142.serbiannumbering.patch
-Patch92: openoffice.org-3.0.0.ooo92026.sd.disposed_during_disposing.patch
-Patch93: openoffice.org-3.0.0.ooo92253.dbaccess.a11y.crash
-Patch94: openoffice.org-3.0.0.ooo92343.svtools.strangethrow.patch
-Patch95: openoffice.org-2.4.1.ooo92217.sal.alloc.patch
-Patch96: openoffice.org-2.4.1.ooo81576.vcl.fixscale.patch
-Patch97: openoffice.org-3.0.0.ooo95533.sw.safertableexport.patch
+Patch20: openoffice.org-2.0.4.ooo69051.vcl.singlekeypress.patch
+Patch21: pseudoworkspace.valgrind1.patch
+Patch22: openoffice.org-2.0.4.rhXXXXXX.padmin.nospadmin.patch
+Patch23: openoffice.org-2.0.4.rh217065.syncbackspace.patch
+Patch24: openoffice.org.2.0.4.ooo80412.i18npool.extendgrapheme.patch
+Patch25: openoffice.org-2.1.0.ooo65491.psprint.enablenups.patch
+Patch26: openoffice.org-2.0.3.rh127576.gtkunixprintdialog.localize
+Patch27: openoffice.org-2.1.0.oooXXXXX.lingucomponent.systemdicts.patch
+Patch28: openoffice.org-2.1.0.rh217269.officecfg.nosequencecheck.patch
+Patch29: workspace.tl37.patch
+Patch30: openoffice.org-2.1.0.ooo73201.sw.a11yloadcrash.patch
+Patch31: openoffice.org-2.1.0.oooXXXXX.vcl.dontsortglyphs.patch
+Patch32: openoffice.org-2.2.0.ooo73863.vcl.imcommit.patch
+Patch33: openoffice.org-2.2.0.ooo74188.sw.cursorinsideglyph.patch
+Patch34: openoffice.org-2.2.0.ooo68717.gstreamer.video.patch
+Patch35: openoffice.org-2.2.0.ooo63159.sal.dtype.patch
+Patch36: openoffice.org-2.2.0.rh232389.tango.patch
+Patch37: openoffice.org-2.2.0.ooo76393.sal.dynamicsection.patch
+Patch38: openoffice.org-2.2.0.ooo76424.nonatnum.bn_IN.18npool.patch
+Patch39: openoffice.org-2.0.3.ooo80816.selinux.bridges.patch
+Patch40: openoffice.org-2.2.1.ooo78971.xmloff.outofrange.patch
+Patch41: openoffice.org-2.2.1.oooXXXXX.sw.titlepagedialog.patch
+Patch42: openoffice.org-2.2.1.ooo79481.sw.rowordcount.patch
+Patch43: openoffice.org-2.3.0.ooo80257.sd.textonlystyle.patch
+Patch44: openoffice.org-2.3.0.ooo80257.sd.textonlystyle.tar.gz
+Patch45: workspace.unifysound01.patch
+Patch46: openoffice.org-2.2.0.gccXXXXX.solenv.javaregistration.patch
+Patch47: openoffice.org-2.3.0.ooo81321.cppu.silencewarnings.patch
+Patch48: openoffice.org-2.3.0.ooo76649.httpencoding.patch
+Patch49: openoffice.org-2.3.0.ooo82966.svx.missing3d.patch
+Patch50: openoffice.org-2.3.1.ooo83878.unopkg.enablelinking.patch
+Patch51: workspace.notes2.patch
+Patch52: openoffice.org-2.3.1.ooo84676.ucb.davprotocol.patch
+Patch53: openoffice.org-2.3.1.ooo84621.sw.insertexcel.patch
+Patch54: openoffice.org-2.3.1.ooo84770.svx.eventsmismatch.patch
+Patch55: openoffice.org-2.4.0.ooo85054.stlport.noorigs.patch
+Patch56: openoffice.org-2.4.0.ooo86670.config_office.xpcomasxul.patch
+Patch57: openoffice.org-2.4.0.ooo85097.desktop.pagein.patch
+Patch58: openoffice.org-2.4.0.oooXXXXX.solenv.paths.patch
+Patch59: openoffice.org-2.4.0.rh133741.alwaysgtk.vcl.patch
+Patch60: openoffice.org-2.4.0.ooo85385.svtools.a11ycrash.patch
+Patch61: openoffice.org-2.4.0.ooo85429.sw.a11ycrash.patch
+Patch62: openoffice.org-2.4.0.ooo85448.emptyrpath.patch
+Patch63: workspace.cairotext01.patch
+Patch64: openoffice.org-3.0.0.ooo88303.vcl.dynamicfontoptions.patch
+Patch65: openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch
+Patch66: workspace.gcc430two.patch
+Patch67: openoffice.org-2.4.0.ooo85854.sw.graphicsaveas.patch
+Patch68: openoffice.org-2.4.0.ooo85921.sd.editmasterundermouse.patch
+Patch69: openoffice.org-2.4.0.ooo85931.svx.getentrypos.patch
+Patch70: openoffice.org-2.4.0.ooo86123.ucb.newneon.patch
+Patch71: openoffice.org-2.4.0.ooo86080.unopkg.bodge.patch
+Patch72: openoffice.org-2.4.0.oooXXXXX.psprint.debugcups.patch
+Patch73: openoffice.org-2.3.0.ooo86866.embeddedobj.plusequalsoperator.patch
+Patch74: openoffice.org-2.3.0.ooo86882.vcl.unsigned_int_to_long.patch
+Patch75: openoffice.org-2.4.0.ooo86924.sfx2.iconchanges.patch
+Patch76: openoffice.org-2.4.0.ooo87204.toolkit.64bitevent.patch
+Patch77: openoffice.org-2.4.0.ooo87490.sfx2.allprotocols.urlopen.patch
+Patch78: openoffice.org-3.0.0.ooo85691.vcl.tooltipcolor.patch
+Patch79: openoffice.org-3.0.0.ooo87991.fpickersafe.patch
+Patch80: openoffice.org-3.0.0.ooo88033.svx.a11ycrash.patch
+Patch81: openoffice.org-2.4.0.ooo87071.sd.backgroundfix.patch
+Patch82: openoffice.org-3.0.0.ooo89002.vcl.symbolfonts.patch
+Patch83: workspace.impress138.patch
+Patch84: openoffice.org-2.4.0.gcc36187.noaliasingbusted.patch
+Patch85: openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch
+Patch86: openoffice.org-3.0.0.ooo90037.vcl.cairotransforms.patch
+Patch87: openoffice.org-3.0.0.ooo82545.np_sdk.x86_64.patch
+Patch88: openoffice.org-3.0.0.ooo90306.sw.wrongprotection.patch
+Patch89: openoffice.org-3.0.0.ooo48400.svx.fixspelling.patch
+Patch90: openoffice.org-3.0.0.ooo90697.sd.a11ycrash.patch
+Patch91: workspace.locdat30.patch
+Patch92: openoffice.org-3.0.0.ooo86142.serbiannumbering.patch
+Patch93: openoffice.org-3.0.0.ooo92026.sd.disposed_during_disposing.patch
+Patch94: openoffice.org-3.0.0.ooo92253.dbaccess.a11y.crash
+Patch95: openoffice.org-3.0.0.ooo92343.svtools.strangethrow.patch
+Patch96: openoffice.org-2.4.1.ooo92217.sal.alloc.patch
+Patch97: openoffice.org-2.4.1.ooo81576.vcl.fixscale.patch
+Patch98: openoffice.org-3.0.0.ooo95533.sw.safertableexport.patch
%define instdir %{_libdir}/openoffice.org
@@ -1076,84 +1077,85 @@
%patch17 -p1 -b .ooo53397.prelinkoptimize.desktop.patch
%patch18 -p1 -b .ooo58606.sw.pre-edit.patch
%patch19 -p1
-%patch20 -p1 -b .ooo64508.vcl.honourfontconfighinting.patch
-%patch21 -p1 -b .ooo69051.vcl.singlekeypress.patch
-%patch22 -p1 -b .pseudoworkspace.valgrind1.patch
-%patch23 -p1 -b .rhXXXXXX.padmin.nospadmin.patch
-%patch24 -p1 -b .rh217065.syncbackspace.patch
-%patch25 -p1 -b .ooo80412.i18npool.extendgrapheme.patch
-%patch26 -p1 -b .ooo65491.psprint.enablenups.patch
-cat %{PATCH27} >> svtools/source/dialogs/localize.sdf
-%patch28 -p1 -b .oooXXXXX.lingucomponent.systemdicts.patch
-%patch29 -p1 -b .rh217269.officecfg.nosequencecheck.patch
-%patch30 -p1 -b .tl37.patch
-%patch31 -p1 -b .ooo73201.sw.a11yloadcrash.patch
-%patch32 -p1 -b .oooXXXXX.vcl.dontsortglyphs.patch
-%patch33 -p1 -b .ooo73863.vcl.imcommit.patch
-%patch34 -p1 -b .ooo74188.sw.cursorinsideglyph.patch
-%patch35 -p0 -b .ooo68717.gstreamer.video.patch
-%patch36 -p1 -b .ooo63159.sal.dtype.patch
-%patch37 -p1 -b .rh232389.tango.patch
-%patch38 -p1 -b .ooo76393.sal.dynamicsection.patch
-%patch39 -p1 -b .ooo76424.nonatnum.bn_IN.18npool.patch
-%patch40 -p1 -b .ooo80816.selinux.bridges.patch
-%patch41 -p1 -b .ooo78971.xmloff.outofrange.patch
-%patch42 -p1 -b .oooXXXXX.sw.titlepagedialog.patch
-%patch43 -p1 -b .ooo79481.sw.rowordcount.patch
-%patch44 -p1 -b .ooo80257.sd.textonlystyle.patch
-tar xzf %{PATCH45}
-%patch46 -p1 -b .workspace.unifysound01.patch
-%patch47 -p1 -b .gccXXXXX.solenv.javaregistration.patch
-%patch48 -p1 -b .ooo81321.cppu.silencewarnings.patch
-%patch49 -p1 -b .ooo76649.httpencoding.patc
-%patch50 -p1 -b .ooo82966.svx.missing3d.patch
-%patch51 -p1 -b .ooo83878.unopkg.enablelinking.patch
-%patch52 -p1 -b .workspace.notes2.patch
-%patch53 -p1 -b .ooo84676.ucb.davprotocol.patch
-%patch54 -p1 -b .ooo84621.sw.insertexcel.patch
-%patch55 -p1 -b .ooo84770.svx.eventsmismatch.patch
-%patch56 -p1 -b .ooo85054.stlport.noorigs.patch
-%patch57 -p1 -b .ooo86670.config_office.xpcomasxul.patch
-%patch58 -p1 -b .ooo85097.desktop.pagein.patch
-%patch59 -p1
-%patch60 -p1 -b .rh133741.alwaysgtk.vcl.patch
-%patch61 -p1 -b .ooo85385.svtools.a11ycrash.patch
-%patch62 -p1 -b .ooo85429.sw.a11ycrash.patch
-%patch63 -p1 -b .ooo85448.emptyrpath.patch
-%patch64 -p1 -b .workspace.cairotext01.patch
-%patch65 -p1 -b .workspace.gcc430two.patch
-%patch66 -p1 -b .ooo85854.sw.graphicsaveas.patch
-%patch67 -p1 -b .ooo85921.sd.editmasterundermouse.patch
-%patch68 -p1 -b .ooo85931.svx.getentrypos.patch
-%patch69 -p1 -b .ooo86123.ucb.newneon.patch
-%patch70 -p1 -b .ooo86080.unopkg.bodge.patch
-%patch71 -p1 -b .oooXXXXX.psprint.debugcups.patch
-%patch72 -p1 -b .ooo86866.embeddedobj.plusequalsoperator.patch
-%patch73 -p1 -b .ooo86882.vcl.unsigned_int_to_long.patch
-%patch74 -p1 -b .ooo86924.sfx2.iconchanges.patch
-%patch75 -p1 -b .ooo87204.toolkit.64bitevent.patch
-%patch76 -p1 -b .ooo87490.sfx2.allprotocols.urlopen.patch
-%patch77 -p1 -b .ooo85691.vcl.tooltipcolor.patch
-%patch78 -p1 -b .ooo87991.fpickersafe.patch
-%patch79 -p1 -b .ooo88033.svx.a11ycrash.patch
-%patch80 -p1 -b .ooo87071.sd.backgroundfix.patch
-%patch81 -p1 -b .ooo89002.vcl.symbolfonts.patch
-%patch82 -p1 -b .workspace.impress138.patch
-%patch83 -p1 -b .gcc36187.noaliasingbusted.patch
-%patch84 -p1 -b .ooo87970.vcl.samenamesubs.patch
-%patch85 -p1 -b .ooo90037.vcl.cairotransforms.patch
-%patch86 -p1 -b .ooo82545.np_sdk.x86_64.patch
-%patch87 -p1 -b .ooo90306.sw.wrongprotection.patch
-%patch88 -p1 -b .ooo48400.svx.fixspelling.patch
-%patch89 -p1 -b .ooo90697.sd.a11ycrash.patch
-%patch90 -p1 -b .workspace.locdat30.patch
-%patch91 -p1 -b .ooo86142.serbiannumbering.patch
-%patch92 -p1 -b .ooo92026.sd.disposed_during_disposing.patch
-%patch93 -p1 -b .ooo92253.dbaccess.a11y.crash
-%patch94 -p1 -b .ooo92343.svtools.strangethrow.patch
-%patch95 -p1 -b .ooo92217.sal.alloc.patch
-%patch96 -p1 -b .ooo81576.vcl.fixscale.patch
-%patch97 -p1 -b .ooo95533.sw.safertableexport.patch
+%patch20 -p1 -b .ooo69051.vcl.singlekeypress.patch
+%patch21 -p1 -b .pseudoworkspace.valgrind1.patch
+%patch22 -p1 -b .rhXXXXXX.padmin.nospadmin.patch
+%patch23 -p1 -b .rh217065.syncbackspace.patch
+%patch24 -p1 -b .ooo80412.i18npool.extendgrapheme.patch
+%patch25 -p1 -b .ooo65491.psprint.enablenups.patch
+cat %{PATCH26} >> svtools/source/dialogs/localize.sdf
+%patch27 -p1 -b .oooXXXXX.lingucomponent.systemdicts.patch
+%patch28 -p1 -b .rh217269.officecfg.nosequencecheck.patch
+%patch29 -p1 -b .tl37.patch
+%patch30 -p1 -b .ooo73201.sw.a11yloadcrash.patch
+%patch31 -p1 -b .oooXXXXX.vcl.dontsortglyphs.patch
+%patch32 -p1 -b .ooo73863.vcl.imcommit.patch
+%patch33 -p1 -b .ooo74188.sw.cursorinsideglyph.patch
+%patch34 -p0 -b .ooo68717.gstreamer.video.patch
+%patch35 -p1 -b .ooo63159.sal.dtype.patch
+%patch36 -p1 -b .rh232389.tango.patch
+%patch37 -p1 -b .ooo76393.sal.dynamicsection.patch
+%patch38 -p1 -b .ooo76424.nonatnum.bn_IN.18npool.patch
+%patch39 -p1 -b .ooo80816.selinux.bridges.patch
+%patch40 -p1 -b .ooo78971.xmloff.outofrange.patch
+%patch41 -p1 -b .oooXXXXX.sw.titlepagedialog.patch
+%patch42 -p1 -b .ooo79481.sw.rowordcount.patch
+%patch43 -p1 -b .ooo80257.sd.textonlystyle.patch
+tar xzf %{PATCH44}
+%patch45 -p1 -b .workspace.unifysound01.patch
+%patch46 -p1 -b .gccXXXXX.solenv.javaregistration.patch
+%patch47 -p1 -b .ooo81321.cppu.silencewarnings.patch
+%patch48 -p1 -b .ooo76649.httpencoding.patc
+%patch49 -p1 -b .ooo82966.svx.missing3d.patch
+%patch50 -p1 -b .ooo83878.unopkg.enablelinking.patch
+%patch51 -p1 -b .workspace.notes2.patch
+%patch52 -p1 -b .ooo84676.ucb.davprotocol.patch
+%patch53 -p1 -b .ooo84621.sw.insertexcel.patch
+%patch54 -p1 -b .ooo84770.svx.eventsmismatch.patch
+%patch55 -p1 -b .ooo85054.stlport.noorigs.patch
+%patch56 -p1 -b .ooo86670.config_office.xpcomasxul.patch
+%patch57 -p1 -b .ooo85097.desktop.pagein.patch
+%patch58 -p1
+%patch59 -p1 -b .rh133741.alwaysgtk.vcl.patch
+%patch60 -p1 -b .ooo85385.svtools.a11ycrash.patch
+%patch61 -p1 -b .ooo85429.sw.a11ycrash.patch
+%patch62 -p1 -b .ooo85448.emptyrpath.patch
+%patch63 -p1 -b .workspace.cairotext01.patch
+%patch64 -p1 -b .ooo88303.vcl.dynamicfontoptions.patch
+%patch65 -p1 -b .ooo64508.vcl.honourfontconfighinting.patch
+%patch66 -p1 -b .workspace.gcc430two.patch
+%patch67 -p1 -b .ooo85854.sw.graphicsaveas.patch
+%patch68 -p1 -b .ooo85921.sd.editmasterundermouse.patch
+%patch69 -p1 -b .ooo85931.svx.getentrypos.patch
+%patch70 -p1 -b .ooo86123.ucb.newneon.patch
+%patch71 -p1 -b .ooo86080.unopkg.bodge.patch
+%patch72 -p1 -b .oooXXXXX.psprint.debugcups.patch
+%patch73 -p1 -b .ooo86866.embeddedobj.plusequalsoperator.patch
+%patch74 -p1 -b .ooo86882.vcl.unsigned_int_to_long.patch
+%patch75 -p1 -b .ooo86924.sfx2.iconchanges.patch
+%patch76 -p1 -b .ooo87204.toolkit.64bitevent.patch
+%patch77 -p1 -b .ooo87490.sfx2.allprotocols.urlopen.patch
+%patch78 -p1 -b .ooo85691.vcl.tooltipcolor.patch
+%patch79 -p1 -b .ooo87991.fpickersafe.patch
+%patch80 -p1 -b .ooo88033.svx.a11ycrash.patch
+%patch81 -p1 -b .ooo87071.sd.backgroundfix.patch
+%patch82 -p1 -b .ooo89002.vcl.symbolfonts.patch
+%patch83 -p1 -b .workspace.impress138.patch
+%patch84 -p1 -b .gcc36187.noaliasingbusted.patch
+%patch85 -p1 -b .ooo87970.vcl.samenamesubs.patch
+%patch86 -p1 -b .ooo90037.vcl.cairotransforms.patch
+%patch87 -p1 -b .ooo82545.np_sdk.x86_64.patch
+%patch88 -p1 -b .ooo90306.sw.wrongprotection.patch
+%patch89 -p1 -b .ooo48400.svx.fixspelling.patch
+%patch90 -p1 -b .ooo90697.sd.a11ycrash.patch
+%patch91 -p1 -b .workspace.locdat30.patch
+%patch92 -p1 -b .ooo86142.serbiannumbering.patch
+%patch93 -p1 -b .ooo92026.sd.disposed_during_disposing.patch
+%patch94 -p1 -b .ooo92253.dbaccess.a11y.crash
+%patch95 -p1 -b .ooo92343.svtools.strangethrow.patch
+%patch96 -p1 -b .ooo92217.sal.alloc.patch
+%patch97 -p1 -b .ooo81576.vcl.fixscale.patch
+%patch98 -p1 -b .ooo95533.sw.safertableexport.patch
%build
echo build start time is `date`, diskspace: `df -h . | tail -n 1`
@@ -2949,6 +2951,9 @@
%changelog
+* Tue Nov 18 2008 Caolan McNamara <caolanm at redhat.com> - 1:2.4.2-18.2
+- Resolves: rhbz#471103 improve font-settings
+
* Wed Oct 29 2008 Caolan McNamara <caolanm at redhat.com> - 1:2.4.2-18.1
- Resolves: ooo#94495 Toggle weblayout/normal layout and notes
- Resolves: rhbz#465792 openoffice.org-2.4.1.ooo81576.vcl.fixscale.patch
- Previous message (by thread): rpms/perl-PAR-Dist/F-9 .cvsignore, 1.17, 1.18 perl-PAR-Dist.spec, 1.26, 1.27 sources, 1.17, 1.18
- Next message (by thread): rpms/rcssserver/F-10 .cvsignore, 1.4, 1.5 rcssserver.spec, 1.3, 1.4 sources, 1.4, 1.5
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list