rpms/openoffice.org/devel openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch, 1.19, 1.20 openoffice.org.spec, 1.1516, 1.1517

Caolan McNamara (caolanm) fedora-extras-commits at redhat.com
Fri May 30 09:59:20 UTC 2008


Author: caolanm

Update of /cvs/pkgs/rpms/openoffice.org/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv28427

Modified Files:
	openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch 
	openoffice.org.spec 
Log Message:
shrink fontconfig patch

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/devel/openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch	23 Apr 2008 08:47:09 -0000	1.19
+++ openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch	30 May 2008 09:58:24 -0000	1.20
@@ -1,464 +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 @@
-     bool    operator==( const ImplFontMetric& ) const;
- };
- 
-+// ------------------
-+// - ImplFontHints -
-+// ------------------
-+
-+class ImplFontHints
-+{
-+public:
-+    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
-+public:
-+    ImplFontHints() :
-+        meEmbeddedBitmap(EMBEDDEDBITMAP_DONTKNOW), 
-+        meAntiAlias(ANTIALIAS_DONTKNOW), 
-+        meAutoHint(AUTOHINT_DONTKNOW), 
-+        meHinting(HINTING_DONTKNOW), 
-+        meHintStyle(HINT_FULL)
-+    {}
-+    ImplFontHints(FontEmbeddedBitmap eEmbeddedBitmap, FontAntiAlias eAntiAlias, 
-+        FontAutoHint eAutoHint, FontHinting eHinting, FontHintStyle eHintStyle) :
-+        meEmbeddedBitmap(eEmbeddedBitmap), 
-+        meAntiAlias(eAntiAlias), 
-+        meAutoHint(eAutoHint), 
-+        meHinting(eHinting), 
-+        meHintStyle(eHintStyle)
-+    {}
-+    FontAutoHint GetUseAutoHint() const { return meAutoHint; }
-+    FontHintStyle GetHintStyle() const { return meHintStyle; }
-+    bool DontUseEmbeddedBitmaps() const { return meEmbeddedBitmap == EMBEDDEDBITMAP_FALSE; }
-+    bool DontUseAntiAlias() const { return meAntiAlias == ANTIALIAS_FALSE; }
-+    bool DontUseHinting() const { return (meHinting == HINTING_FALSE) || (GetHintStyle() == HINT_NONE); }
-+};
-+
-+
- // -------------------
- // - 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 @@
- class FontCharMap;
- class SalLayout;
- class ImplLayoutArgs;
-+class ImplFontHints;
-+class ImplFontAttributes;
- class VirtualDevice;
- 
- namespace basegfx {
-@@ -566,6 +568,7 @@
- 
-     SAL_DLLPRIVATE static FontEmphasisMark ImplGetEmphasisMarkStyle( const Font& rFont );
-     SAL_DLLPRIVATE static BOOL ImplIsUnderlineAbove( const Font& );
-+    SAL_DLLPRIVATE void ImplGetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const;
- //#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 @@
-     bool               IsDeviceFont() const      { return mbDevice; }
-     bool               IsEmbeddable() const      { return mbEmbeddable; }
-     bool               IsSubsettable() const     { return mbSubsettable; }
--    FontEmbeddedBitmap UseEmbeddedBitmap() const { return meEmbeddedBitmap; }
--    FontAntiAlias      UseAntiAlias() const      { return meAntiAlias; }
- 
- public: // TODO: hide members behind accessor methods
-     String             maMapNames;       // List of family name aliass separated with ';'
-@@ -128,8 +126,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
--    FontEmbeddedBitmap meEmbeddedBitmap; // whether the embedded bitmaps should be used
--    FontAntiAlias      meAntiAlias;      // whether the font should be antialiased
- };
- 
- // ----------------
-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 @@
-     void                   ReleaseFonts() { SetFont( NULL, 0 ); }
-     // get the current font's metrics
-     virtual void			GetFontMetric( ImplFontMetricData* ) = 0;
-+    virtual void 			GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const = 0;
-+
-     // 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 @@
- 
- #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
-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 @@
- 
- // -----------------------------------------------------------------------
- 
-+void OutputDevice::ImplGetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints &rHints) const
-+{
-+    if ( mpGraphics )
-+        mpGraphics->GetFontHints( rFontAttributes, nSize, rHints );
-+}
-+
-+// -----------------------------------------------------------------------
-+
- 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 @@
-     int                   GetFaceNum() const        { return mnFaceNum; }
-     int                   GetSynthetic() const      { return mnSynthetic; }
-     sal_IntPtr            GetFontId() const         { return mnFontId; }
--    bool                  DontUseAntiAlias() const  
--        { return maDevFontAttributes.UseAntiAlias() == ANTIALIAS_FALSE; }
--    bool                  DontUseEmbeddedBitmaps() const 
--        { return maDevFontAttributes.UseEmbeddedBitmap() == EMBEDDEDBITMAP_FALSE; }
-     bool                  IsSymbolFont() const      { return maDevFontAttributes.IsSymbolFont(); }
-     const ImplFontAttributes& GetFontAttributes() const { return maDevFontAttributes; }
- 
-@@ -212,6 +208,7 @@
-     int                         mnWidth;
-     int                         mnPrioEmbedded;
-     int                         mnPrioAntiAlias;
-+    int                         mnPrioAutoHint;
-     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 @@
-     virtual void			SetTextColor( SalColor nSalColor );
-     virtual USHORT          SetFont( ImplFontSelectData*, int nFallbackLevel );
-     virtual void			GetFontMetric( ImplFontMetricData* );
-+    virtual void                        GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const;
-     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 @@
-     virtual void			SetTextColor( SalColor nSalColor );
-     virtual USHORT         SetFont( ImplFontSelectData*, int nFallbackLevel );
-     virtual void			GetFontMetric( ImplFontMetricData* );
-+    virtual void                        GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const;
-     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 @@
-     }
- }
- 
-+void PspGraphics::GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const
-+{
-+}
-+
- void PspGraphics::GetFontMetric( ImplFontMetricData *pMetric )
- {
-     const psp::PrintFontManager& rMgr = psp::PrintFontManager::get();
-@@ -1230,32 +1234,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 );
-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 @@
- 
- // ----------------------------------------------------------------------------
- 
-+void X11SalGraphics::GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const
-+{
-+    psp::FastPrintFontInfo aInfo;
-+    // set family name
-+    aInfo.m_aFamilyName = rFontAttributes.GetFamilyName();
-+    // set italic
-+    switch( rFontAttributes.GetSlant() )
-+    {
-+        case ITALIC_NONE:
-+            aInfo.m_eItalic = psp::italic::Upright;
-+            break;
-+        case ITALIC_NORMAL:
-+            aInfo.m_eItalic = psp::italic::Italic;
-+            break;
-+        case ITALIC_OBLIQUE:
-+            aInfo.m_eItalic = psp::italic::Oblique;
-+            break;
-+        default:
-+            aInfo.m_eItalic = psp::italic::Unknown;
-+            break;
-+
-+    }
-+    // set weight
-+    switch( rFontAttributes.GetWeight() )
-+    {
-+        case WEIGHT_THIN:
-+            aInfo.m_eWeight = psp::weight::Thin;
-+            break;
-+        case WEIGHT_ULTRALIGHT:
-+            aInfo.m_eWeight = psp::weight::UltraLight;
-+            break;
-+        case WEIGHT_LIGHT:
-+            aInfo.m_eWeight = psp::weight::Light;
-+            break;
-+        case WEIGHT_SEMILIGHT:
-+            aInfo.m_eWeight = psp::weight::SemiLight;
-+            break;
-+        case WEIGHT_NORMAL:
-+            aInfo.m_eWeight = psp::weight::Normal;
-+            break;
-+        case WEIGHT_MEDIUM:
-+            aInfo.m_eWeight = psp::weight::Medium;
-+            break;
-+        case WEIGHT_SEMIBOLD:
-+            aInfo.m_eWeight = psp::weight::SemiBold;
-+            break;
-+        case WEIGHT_BOLD:
-+            aInfo.m_eWeight = psp::weight::Bold;
-+            break;
-+        case WEIGHT_ULTRABOLD:
-+            aInfo.m_eWeight = psp::weight::UltraBold;
-+            break;
-+        case WEIGHT_BLACK:
-+            aInfo.m_eWeight = psp::weight::Black;
-+            break;
-+        default:
-+            aInfo.m_eWeight = psp::weight::Unknown;
-+            break;
-+    }
-+    // set width
-+    switch( rFontAttributes.GetWidthType() )
-+    {
-+        case WIDTH_ULTRA_CONDENSED:
-+            aInfo.m_eWidth = psp::width::UltraCondensed;
-+            break;
-+        case WIDTH_EXTRA_CONDENSED:
-+            aInfo.m_eWidth = psp::width::ExtraCondensed;
-+            break;
-+        case WIDTH_CONDENSED:
-+            aInfo.m_eWidth = psp::width::Condensed;
-+            break;
-+        case WIDTH_SEMI_CONDENSED:
-+            aInfo.m_eWidth = psp::width::SemiCondensed;
-+            break;
-+        case WIDTH_NORMAL:
-+            aInfo.m_eWidth = psp::width::Normal;
-+            break;
-+        case WIDTH_SEMI_EXPANDED:
-+            aInfo.m_eWidth = psp::width::SemiExpanded;
-+            break;
-+        case WIDTH_EXPANDED:
-+            aInfo.m_eWidth = psp::width::Expanded;
-+            break;
-+        case WIDTH_EXTRA_EXPANDED:
-+            aInfo.m_eWidth = psp::width::ExtraExpanded;
-+            break;
-+        case WIDTH_ULTRA_EXPANDED:
-+            aInfo.m_eWidth = psp::width::UltraExpanded;
-+            break;
-+        default:
-+            aInfo.m_eWidth = psp::width::Unknown;
-+            break;
-+    }
-+
-+    psp::FontConfigHints aHints(psp::PrintFontManager::get().getFontConfigHints(aInfo, nSize));
-+
-+    switch (aHints.m_eEmbeddedbitmap)
-+    {
-+        default: 
-+            rFontHints.meEmbeddedBitmap = EMBEDDEDBITMAP_DONTKNOW;
-+            break;
-+        case psp::fcstatus::istrue: 
-+            rFontHints.meEmbeddedBitmap = EMBEDDEDBITMAP_TRUE;
-+            break;
-+        case psp::fcstatus::isfalse: 
-+            rFontHints.meEmbeddedBitmap = EMBEDDEDBITMAP_FALSE;
-+            break;
-+    }
-+
-+    switch (aHints.m_eAntialias)
-+    {
-+        default: 
-+            rFontHints.meAntiAlias = ANTIALIAS_DONTKNOW;
-+            break;
-+        case psp::fcstatus::istrue: 
-+            rFontHints.meAntiAlias = ANTIALIAS_TRUE;
-+            break;
-+        case psp::fcstatus::isfalse: 
-+            rFontHints.meAntiAlias = ANTIALIAS_FALSE;
-+            break;
-+    }
-+
-+    switch (aHints.m_eAutoHint)
-+    {
-+        default: 
-+            rFontHints.meAutoHint = AUTOHINT_DONTKNOW;
-+            break;
-+        case psp::fcstatus::istrue: 
-+            rFontHints.meAutoHint = AUTOHINT_TRUE;
-+            break;
-+        case psp::fcstatus::isfalse: 
-+            rFontHints.meAutoHint = AUTOHINT_FALSE;
-+            break;
-+    }
-+
-+    switch (aHints.m_eHinting)
-+    {
-+        default: 
-+            rFontHints.meHinting = HINTING_DONTKNOW;
-+            break;
-+        case psp::fcstatus::istrue: 
-+            rFontHints.meHinting = HINTING_TRUE;
-+            break;
-+        case psp::fcstatus::isfalse: 
-+            rFontHints.meHinting = HINTING_FALSE;
-+            break;
-+    }
-+
-+    switch (aHints.m_eHintStyle)
-+    {
-+        case psp::fchint::Nohint: 
-+            rFontHints.meHintStyle = HINT_NONE;
-+            break;
-+        case psp::fchint::Slight: 
-+            rFontHints.meHintStyle = HINT_SLIGHT;
-+            break;
-+        case psp::fchint::Medium: 
-+            rFontHints.meHintStyle = HINT_MEDIUM;
-+            break;
-+        default: 
-+        case psp::fchint::Full: 
-+            rFontHints.meHintStyle = HINT_FULL;
-+            break;
-+    }
-+}
-+
-+// ----------------------------------------------------------------------------
-+
- 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 @@
-     mbSubsettable  = false;
-     mbEmbeddable   = false;
- 
--    meEmbeddedBitmap = EMBEDDEDBITMAP_DONTKNOW;
--    meAntiAlias = ANTIALIAS_DONTKNOW;
--
-     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 @@
-     virtual USHORT         SetFont( ImplFontSelectData*, int nFallbackLevel );
-     // get the current font's etrics
-     virtual void			GetFontMetric( ImplFontMetricData* );
-+    virtual void                        GetFontHints( const ImplFontAttributes& rFontAttributes, int nHints, ImplFontHints& rFontHints);
-     // 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 @@
- 
- // -----------------------------------------------------------------------
- 
-+void WinSalGraphics::GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints)
-+{
-+}
-+
-+// -----------------------------------------------------------------------
-+
- 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	30 May 2008 09:26:10 -0000
+@@ -142,6 +142,33 @@
  };
  }
  
@@ -492,7 +39,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 +48,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 +59,7 @@
      {}
  };
  
-@@ -308,9 +331,6 @@
+@@ -297,9 +320,6 @@
          bool										m_bHaveVerticalSubstitutedGlyphs;
          bool                                        m_bUserOverride;
  
@@ -522,18 +69,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);
  
-     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
++++ openoffice.org/psprint/source/fontmanager/fontcache.cxx	30 May 2008 09:26:12 -0000
+@@ -214,9 +214,9 @@
                  aLine.Append( ';' );
                  aLine.Append( (*it)->m_bUserOverride ? "1" : "0" );
                  aLine.Append( ';' );
@@ -545,7 +96,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 +106,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 +115,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 +126,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
+diff -u -r1.30 fontconfig.cxx
+--- openoffice.org.orig/psprint/source/fontmanager/fontconfig.cxx	11 Apr 2008 10:12:55 -0000	1.30
++++ openoffiec.org/psprint/source/fontmanager/fontconfig.cxx	30 May 2008 09:26:12 -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,7 +141,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 @@
+@@ -169,7 +170,7 @@
  
      void FcPatternDestroy( FcPattern* pPattern )
      { m_pFcPatternDestroy( pPattern ); }
@@ -595,7 +150,7 @@
      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 +159,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 +170,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 +179,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 +187,7 @@
              m_pFcPatternAddCharSet			&&
              m_pFcPatternAddBool 			&&
              m_pFcPatternAddString
-@@ -512,54 +520,53 @@
+@@ -498,54 +506,53 @@
  
          return candidate;
      }
@@ -724,7 +279,7 @@
  /*
   * PrintFontManager::initFontconfig
   */
-@@ -594,18 +601,16 @@
+@@ -580,18 +587,16 @@
              int weight = 0;
              int spacing = 0;
              int nCollectionEntry = -1;
@@ -745,7 +300,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 +316,7 @@
                  
                  // update font cache
                  m_pFontCache->updateFontCacheEntry( pUpdate, false );
-@@ -957,8 +953,8 @@
+@@ -943,8 +939,8 @@
              if( eFileRes == FcResultMatch )
              {
                  OString sFamily((sal_Char*)family);
@@ -772,7 +327,7 @@
                      sFamily = aI->second;
                  aName = rtl::OStringToOUString( sFamily, RTL_TEXTENCODING_UTF8 );
              }
-@@ -989,6 +985,106 @@
+@@ -975,6 +971,78 @@
      return aName;
  }
  
@@ -810,7 +365,6 @@
 +    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 );
@@ -845,33 +399,6 @@
 +                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;
-+        }
-+    }
 +#endif
 +    return aHints;
 +}
@@ -879,7 +406,7 @@
  bool PrintFontManager::matchFont( FastPrintFontInfo& rInfo, const com::sun::star::lang::Locale& rLocale )
  {
      FontCfgWrapper& rWrapper = FontCfgWrapper::get();
-@@ -1014,9 +1110,10 @@
+@@ -1000,9 +1068,10 @@
      if( aLangAttrib.getLength() )
          rWrapper.FcPatternAddString( pPattern, FC_LANG, (FcChar8*)aLangAttrib.getStr() );
  
@@ -893,10 +420,14 @@
  
      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
+diff -u -r1.81 fontmanager.cxx
+--- openoffice.org.org/psprint/source/fontmanager/fontmanager.cxx	11 Apr 2008 10:13:15 -0000	1.81
++++ openoffice.org/psprint/source/fontmanager/fontmanager.cxx	30 May 2008 09:26:15 -0000
+@@ -355,9 +355,7 @@
          m_nXMax( 0 ),
          m_nYMax( 0 ),
          m_bHaveVerticalSubstitutedGlyphs( false ),
@@ -907,7 +438,7 @@
  {
  }
  
-@@ -2761,8 +2759,6 @@
+@@ -2731,8 +2729,6 @@
      rInfo.m_eWeight         = pFont->m_eWeight;
      rInfo.m_ePitch          = pFont->m_ePitch;
      rInfo.m_aEncoding       = pFont->m_aEncoding;
@@ -916,7 +447,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 @@
+@@ -3976,8 +3972,6 @@
          BuiltinFont* pFont = new BuiltinFont();
          pFont->m_nDirectory = 0;
          pFont->m_bUserOverride = false;
@@ -925,68 +456,186 @@
          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 @@
+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;
+ };
+ 
++// ------------------
++// - ImplFontHints -
++// ------------------
++
++class ImplFontHints
++{
++public:
++    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
++public:
++    ImplFontHints() :
++        meEmbeddedBitmap(EMBEDDEDBITMAP_DONTKNOW), 
++        meAntiAlias(ANTIALIAS_DONTKNOW), 
++        meAutoHint(AUTOHINT_DONTKNOW), 
++        meHinting(HINTING_DONTKNOW), 
++        meHintStyle(HINT_FULL)
++    {}
++    ImplFontHints(FontEmbeddedBitmap eEmbeddedBitmap, FontAntiAlias eAntiAlias, 
++        FontAutoHint eAutoHint, FontHinting eHinting, FontHintStyle eHintStyle) :
++        meEmbeddedBitmap(eEmbeddedBitmap), 
++        meAntiAlias(eAntiAlias), 
++        meAutoHint(eAutoHint), 
++        meHinting(eHinting), 
++        meHintStyle(eHintStyle)
++    {}
++    FontAutoHint GetUseAutoHint() const { return meAutoHint; }
++    FontHintStyle GetHintStyle() const { return meHintStyle; }
++    bool DontUseEmbeddedBitmaps() const { return meEmbeddedBitmap == EMBEDDEDBITMAP_FALSE; }
++    bool DontUseAntiAlias() const { return meAntiAlias == ANTIALIAS_FALSE; }
++    bool DontUseHinting() const { return (meHinting == HINTING_FALSE) || (GetHintStyle() == HINT_NONE); }
++};
++
++
+ // -------------------
+ // - ImplFontCharMap -
+ // -------------------
+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
+@@ -76,6 +76,8 @@
+ class FontCharMap;
+ class SalLayout;
+ class ImplLayoutArgs;
++class ImplFontHints;
++class ImplFontAttributes;
+ class VirtualDevice;
+ 
+ namespace basegfx {
+@@ -537,6 +539,7 @@
+ 
+     SAL_DLLPRIVATE static FontEmphasisMark ImplGetEmphasisMarkStyle( const Font& rFont );
+     SAL_DLLPRIVATE static BOOL ImplIsUnderlineAbove( const Font& );
++    SAL_DLLPRIVATE void ImplGetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const;
+ //#endif
+ 
+ protected:
+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; }
+-    FontEmbeddedBitmap UseEmbeddedBitmap() const { return meEmbeddedBitmap; }
+-    FontAntiAlias      UseAntiAlias() const      { return meAntiAlias; }
+ 
+ public: // TODO: hide members behind accessor methods
+     String             maMapNames;       // List of family name aliass separated with ';'
+@@ -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
+-    FontEmbeddedBitmap meEmbeddedBitmap; // whether the embedded bitmaps should be used
+-    FontAntiAlias      meAntiAlias;      // whether the font should be antialiased
+ };
+ 
+ // ----------------
+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;
++    virtual void 			GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const = 0;
++
+     // get kernign pairs of the current font
+     // return only PairCount if (pKernPairs == NULL)
+     virtual ULONG			GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs ) = 0;
+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
  
-+#ifndef ENUM_FONTSUBPIXEL_DECLARED
-+#define ENUM_FONTSUBPIXEL_DECLARED
++#ifndef ENUM_FONTAUTOHINT_DECLARED
++#define ENUM_FONTAUTOHINT_DECLARED
++
++enum FontAutoHint { AUTOHINT_DONTKNOW, AUTOHINT_FALSE, AUTOHINT_TRUE };
++
++#endif
 +
-+enum FontSubPixel { SUBPIXEL_UNKNOWN, SUBPIXEL_RGB, SUBPIXEL_BGR, SUBPIXEL_VRGB, SUBPIXEL_VBGR, SUBPIXEL_NONE};
++#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/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 @@
+ 
+ // -----------------------------------------------------------------------
+ 
++void OutputDevice::ImplGetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints &rHints) const
++{
++    if ( mpGraphics )
++        mpGraphics->GetFontHints( rFontAttributes, nSize, rHints );
++}
++
++// -----------------------------------------------------------------------
++
+ FontMetric OutputDevice::GetFontMetric() const
+ {
+     DBG_TRACE( "OutputDevice::GetFontMetric()" );
 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 @@
+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>
@@ -994,7 +643,7 @@
  
  #include <tools/poly.hxx>
  #include <basegfx/matrix/b2dhommatrix.hxx>
-@@ -616,9 +617,6 @@
+@@ -623,9 +624,6 @@
              aDFA.mbSubsettable= false;
              aDFA.mbEmbeddable = false;
  
@@ -1004,7 +653,7 @@
              FT_Done_Face( aFaceFT );
              AddFontFile( aCFileName, nFaceNum, ++mnNextFontId, aDFA, NULL );
              ++nCount;
-@@ -698,6 +696,7 @@
+@@ -705,6 +703,7 @@
  :   ServerFont( rFSD ),
      mnPrioEmbedded(nDefaultPrioEmbedded),
      mnPrioAntiAlias(nDefaultPrioAntiAlias),
@@ -1012,7 +661,7 @@
      mpFontInfo( pFI ),
      maFaceFT( NULL ),
      maSizeFT( NULL ),
-@@ -830,42 +829,84 @@
+@@ -834,42 +833,69 @@
  
      mbArtItalic = (rFSD.meItalic != ITALIC_NONE && pFI->GetFontAttributes().GetSlant() == ITALIC_NONE);
      mbArtBold = (rFSD.meWeight > WEIGHT_MEDIUM && pFI->GetFontAttributes().GetWeight() <= WEIGHT_MEDIUM);
@@ -1098,21 +747,6 @@
 +                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;
 +       }
 +    }
@@ -1120,7 +754,7 @@
  #endif
  
      if( ((mnCos != 0) && (mnSin != 0)) || (mnPrioEmbedded <= 0) )
-@@ -1197,13 +1238,15 @@
+@@ -1204,13 +1230,15 @@
          }
      }
  
@@ -1137,7 +771,7 @@
  #endif
  
      if( nGlyphIndex != 0 )
-@@ -1334,11 +1377,11 @@
+@@ -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
@@ -1151,7 +785,7 @@
          nLoadFlags |= FT_LOAD_NO_BITMAP;
  
      FT_Error rc = -1;
-@@ -1489,7 +1532,7 @@
+@@ -1496,7 +1524,7 @@
      // autohinting in FT<=2.0.4 makes antialiased glyphs look worse
      nLoadFlags |= FT_LOAD_NO_HINTING;
  #else
@@ -1160,87 +794,175 @@
          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;
-     }
+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; }
+-    bool                  DontUseAntiAlias() const  
+-        { return maDevFontAttributes.UseAntiAlias() == ANTIALIAS_FALSE; }
+-    bool                  DontUseEmbeddedBitmaps() const 
+-        { return maDevFontAttributes.UseEmbeddedBitmap() == EMBEDDEDBITMAP_FALSE; }
+     bool                  IsSymbolFont() const      { return maDevFontAttributes.IsSymbolFont(); }
+     const ImplFontAttributes& GetFontAttributes() const { return maDevFontAttributes; }
+ 
+@@ -216,6 +212,7 @@
+     int                         mnWidth;
+     int                         mnPrioEmbedded;
+     int                         mnPrioAntiAlias;
++    int                         mnPrioAutoHint;
+     FtFontInfo*                 mpFontInfo;
+     FT_Int                      mnLoadFlags;
+     double                      mfStretch;
+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;
+ }
 +
-+    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;
-+    }
++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
+@@ -164,6 +164,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 );
+@@ -1386,3 +1360,7 @@
+     return bRet && m_bSwallowFaxNo;
  }
  
- // ----------------------------------------------------------------------------
-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 @@
++void PspGraphics::GetFontHints( const ImplFontAttributes& , int , ImplFontHints& ) const
++{
++}
++
+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
+@@ -193,6 +193,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* );
++    virtual void                        GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const;
+     virtual ULONG			GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs );
+     virtual ImplFontCharMap* GetImplFontCharMap() const;
+     virtual void			GetDevFontList( ImplDevFontList* );
+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* );
++    virtual void                        GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const;
+     virtual ULONG			GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs );
+     virtual ImplFontCharMap* GetImplFontCharMap() const;
+     virtual void			GetDevFontList( ImplDevFontList* );
+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
+@@ -847,6 +847,10 @@
+     }
  }
  
-+namespace fcsubpixel
++void PspGraphics::GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const
 +{
-+enum type {
-+    Unknown = 0,
-+    RGB = 1,
-+    BGR = 2,
-+    VRGB = 3,
-+    VBGR = 4,
-+    NONE = 5
-+};
 +}
 +
-+
- struct FontConfigHints
+ void PspGraphics::GetFontMetric( ImplFontMetricData *pMetric )
  {
-     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 @@
+     const psp::PrintFontManager& rMgr = psp::PrintFontManager::get();
+@@ -1259,32 +1263,6 @@
      aDFA.mePitch        = ToFontPitch (rInfo.m_ePitch);
      aDFA.mbSymbolFlag   = (rInfo.m_aEncoding == RTL_TEXTENCODING_SYMBOL);
  
@@ -1273,57 +995,237 @@
      // 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;
- }
+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
+@@ -1612,6 +1612,174 @@
  
-+void PspGraphics::GetFontHints( const ImplFontAttributes& , int , ImplFontHints& ) const
+ // ----------------------------------------------------------------------------
+ 
++void X11SalGraphics::GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints) const
 +{
++    psp::FastPrintFontInfo aInfo;
++    // set family name
++    aInfo.m_aFamilyName = rFontAttributes.GetFamilyName();
++    // set italic
++    switch( rFontAttributes.GetSlant() )
++    {
++        case ITALIC_NONE:
++            aInfo.m_eItalic = psp::italic::Upright;
++            break;
++        case ITALIC_NORMAL:
++            aInfo.m_eItalic = psp::italic::Italic;
++            break;
++        case ITALIC_OBLIQUE:
++            aInfo.m_eItalic = psp::italic::Oblique;
++            break;
++        default:
++            aInfo.m_eItalic = psp::italic::Unknown;
++            break;
++
++    }
++    // set weight
++    switch( rFontAttributes.GetWeight() )
++    {
++        case WEIGHT_THIN:
++            aInfo.m_eWeight = psp::weight::Thin;
++            break;
++        case WEIGHT_ULTRALIGHT:
++            aInfo.m_eWeight = psp::weight::UltraLight;
++            break;
++        case WEIGHT_LIGHT:
++            aInfo.m_eWeight = psp::weight::Light;
++            break;
++        case WEIGHT_SEMILIGHT:
++            aInfo.m_eWeight = psp::weight::SemiLight;
++            break;
++        case WEIGHT_NORMAL:
++            aInfo.m_eWeight = psp::weight::Normal;
++            break;
++        case WEIGHT_MEDIUM:
++            aInfo.m_eWeight = psp::weight::Medium;
++            break;
++        case WEIGHT_SEMIBOLD:
++            aInfo.m_eWeight = psp::weight::SemiBold;
++            break;
++        case WEIGHT_BOLD:
++            aInfo.m_eWeight = psp::weight::Bold;
++            break;
++        case WEIGHT_ULTRABOLD:
++            aInfo.m_eWeight = psp::weight::UltraBold;
++            break;
++        case WEIGHT_BLACK:
++            aInfo.m_eWeight = psp::weight::Black;
++            break;
++        default:
++            aInfo.m_eWeight = psp::weight::Unknown;
++            break;
++    }
++    // set width
++    switch( rFontAttributes.GetWidthType() )
++    {
++        case WIDTH_ULTRA_CONDENSED:
++            aInfo.m_eWidth = psp::width::UltraCondensed;
++            break;
++        case WIDTH_EXTRA_CONDENSED:
++            aInfo.m_eWidth = psp::width::ExtraCondensed;
++            break;
++        case WIDTH_CONDENSED:
++            aInfo.m_eWidth = psp::width::Condensed;
++            break;
++        case WIDTH_SEMI_CONDENSED:
++            aInfo.m_eWidth = psp::width::SemiCondensed;
++            break;
++        case WIDTH_NORMAL:
++            aInfo.m_eWidth = psp::width::Normal;
++            break;
++        case WIDTH_SEMI_EXPANDED:
++            aInfo.m_eWidth = psp::width::SemiExpanded;
++            break;
++        case WIDTH_EXPANDED:
++            aInfo.m_eWidth = psp::width::Expanded;
++            break;
++        case WIDTH_EXTRA_EXPANDED:
++            aInfo.m_eWidth = psp::width::ExtraExpanded;
++            break;
++        case WIDTH_ULTRA_EXPANDED:
++            aInfo.m_eWidth = psp::width::UltraExpanded;
++            break;
++        default:
++            aInfo.m_eWidth = psp::width::Unknown;
++            break;
++    }
++
++    psp::FontConfigHints aHints(psp::PrintFontManager::get().getFontConfigHints(aInfo, nSize));
++
++    switch (aHints.m_eEmbeddedbitmap)
++    {
++        default: 
++            rFontHints.meEmbeddedBitmap = EMBEDDEDBITMAP_DONTKNOW;
++            break;
++        case psp::fcstatus::istrue: 
++            rFontHints.meEmbeddedBitmap = EMBEDDEDBITMAP_TRUE;
++            break;
++        case psp::fcstatus::isfalse: 
++            rFontHints.meEmbeddedBitmap = EMBEDDEDBITMAP_FALSE;
++            break;
++    }
++
++    switch (aHints.m_eAntialias)
++    {
++        default: 
++            rFontHints.meAntiAlias = ANTIALIAS_DONTKNOW;
++            break;
++        case psp::fcstatus::istrue: 
++            rFontHints.meAntiAlias = ANTIALIAS_TRUE;
++            break;
++        case psp::fcstatus::isfalse: 
++            rFontHints.meAntiAlias = ANTIALIAS_FALSE;
++            break;
++    }
++
++    switch (aHints.m_eAutoHint)
++    {
++        default: 
++            rFontHints.meAutoHint = AUTOHINT_DONTKNOW;
++            break;
++        case psp::fcstatus::istrue: 
++            rFontHints.meAutoHint = AUTOHINT_TRUE;
++            break;
++        case psp::fcstatus::isfalse: 
++            rFontHints.meAutoHint = AUTOHINT_FALSE;
++            break;
++    }
++
++    switch (aHints.m_eHinting)
++    {
++        default: 
++            rFontHints.meHinting = HINTING_DONTKNOW;
++            break;
++        case psp::fcstatus::istrue: 
++            rFontHints.meHinting = HINTING_TRUE;
++            break;
++        case psp::fcstatus::isfalse: 
++            rFontHints.meHinting = HINTING_FALSE;
++            break;
++    }
++
++    switch (aHints.m_eHintStyle)
++    {
++        case psp::fchint::Nohint: 
++            rFontHints.meHintStyle = HINT_NONE;
++            break;
++        case psp::fchint::Slight: 
++            rFontHints.meHintStyle = HINT_SLIGHT;
++            break;
++        case psp::fchint::Medium: 
++            rFontHints.meHintStyle = HINT_MEDIUM;
++            break;
++        default: 
++        case psp::fchint::Full: 
++            rFontHints.meHintStyle = HINT_FULL;
++            break;
++    }
 +}
 +
-Index: svppspgraphics.hxx
++// ----------------------------------------------------------------------------
++
+ void
+ X11SalGraphics::GetFontMetric( ImplFontMetricData *pMetric )
+ {
+Index: unx/source/gdi/xlfd_extd.cxx
 ===================================================================
-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 @@
+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;
  
-     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;
- };
+-    meEmbeddedBitmap = EMBEDDEDBITMAP_DONTKNOW;
+-    meAntiAlias = ANTIALIAS_DONTKNOW;
+-
+     mnQuality      = -1;
+ }
  
- #endif // _SVP_PSPGRAPHICS_HXX
-Index: svpgdi.cxx
+Index: win/inc/salgdi.h
 ===================================================================
-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/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* );
++    virtual void                        GetFontHints( const ImplFontAttributes& rFontAttributes, int nHints, ImplFontHints& rFontHints);
+     // get kernign pairs of the current font
+     // return only PairCount if (pKernPairs == NULL)
+     virtual ULONG			GetKernPairs( ULONG nPairs, ImplKernPairData* pKernPairs );
+Index: win/source/gdi/salgdi3.cxx
 ===================================================================
-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 );
+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 @@
  
-     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
++void WinSalGraphics::GetFontHints( const ImplFontAttributes& rFontAttributes, int nSize, ImplFontHints& rFontHints)
++{
++}
++
++// -----------------------------------------------------------------------
++
+ void WinSalGraphics::GetFontMetric( ImplFontMetricData* pMetric )
+ {
+     if ( aSalShlData.mbWNT )


Index: openoffice.org.spec
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/devel/openoffice.org.spec,v
retrieving revision 1.1516
retrieving revision 1.1517
diff -u -r1.1516 -r1.1517
--- openoffice.org.spec	28 May 2008 15:36:30 -0000	1.1516
+++ openoffice.org.spec	30 May 2008 09:58:24 -0000	1.1517
@@ -1365,9 +1365,9 @@
 
 %install
 rm -rf $RPM_BUILD_ROOT
+#mine eyes burneth
+%define PLATFORM_ID %{expand:%%(LD_LIBRARY_PATH=`echo %{_builddir}/%{?buildsubdir}/solver/300/unxlng*.pro/lib` %{_builddir}/%{?buildsubdir}/sal/unxlng*.pro/bin/gen_makefile | sed -e "s/RTL_.*:=//g" | xargs | sed -e "s/ /_/g" | sed -r "s/[A-Z]+/\\L&/g")}
 source Linux*Env.Set.sh
-PLAT=`sal/unxlng*/bin/gen_makefile | sed -e "s/RTL_.*:=//g" | xargs | sed -e "s/ /_/g" | sed -r "s/[A-Z]+/\L&/g"`
-%define PLATFORM_ID $PLAT
 #figure out the icon version
 export LONGICON`grep "PRODUCTVERSION[ ]*=[ ]*" sysui/desktop/productversion.mk | sed -e "s/ //g"`
 export ICONPRODUCTVERSION=${LONGICONPRODUCTVERSION/./}




More information about the scm-commits mailing list