ooo-build r12863 - in branches/ooo-build-2-4-1: . patches/src680



Author: thorstenb
Date: Wed Jun 11 21:56:48 2008
New Revision: 12863
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12863&view=rev

Log:
	* patches/src680/ooocmcfixes46.diff:
	* patches/src680/apply: backported a set of fixes to cairofont
	rendering from DEV300. Solves
	https://bugs.freedesktop.org/show_bug.cgi?id=16209 



Added:
   branches/ooo-build-2-4-1/patches/src680/ooocmcfixes46.diff
Modified:
   branches/ooo-build-2-4-1/ChangeLog
   branches/ooo-build-2-4-1/patches/src680/apply

Modified: branches/ooo-build-2-4-1/patches/src680/apply
==============================================================================
--- branches/ooo-build-2-4-1/patches/src680/apply	(original)
+++ branches/ooo-build-2-4-1/patches/src680/apply	Wed Jun 11 21:56:48 2008
@@ -1913,7 +1913,8 @@
 ooo59127.vcl.honourcairofont.diff
 # help LCD displays
 ooo85470.workspace.cairotext01.diff, ccheney
-
+# more cairo font fixes from Caolan, extracted from CWS cmcfixes46
+ooocmcfixes46.diff, thorsten
 
 [ GStreamer ]
 SectionOwner => rodo

Added: branches/ooo-build-2-4-1/patches/src680/ooocmcfixes46.diff
==============================================================================
--- (empty file)
+++ branches/ooo-build-2-4-1/patches/src680/ooocmcfixes46.diff	Wed Jun 11 21:56:48 2008
@@ -0,0 +1,109 @@
+--- vcl/source/glyphs/gcach_ftyp.cxx	11 Apr 2008 08:57:28 -0000	1.149
++++ vcl/source/glyphs/gcach_ftyp.cxx	4 Jun 2008 08:18:01 -0000	1.149.48.2
+@@ -517,7 +517,10 @@ FreetypeManager::FreetypeManager()
+ void* FreetypeServerFont::GetFtFace() const
+ {
+     if( maSizeFT )
++    {
+         pFTActivateSize( maSizeFT );
++        FT_Set_Transform( maFaceFT, NULL, NULL );
++    }
+ 
+     return maFaceFT;
+ }
+@@ -736,6 +739,7 @@ FreetypeServerFont::FreetypeServerFont( 
+     {
+         pFTNewSize( maFaceFT, &maSizeFT );
+         pFTActivateSize( maSizeFT );
++        FT_Set_Transform( maFaceFT, NULL, NULL );
+     }
+     FT_Error rc = FT_Set_Pixel_Sizes( maFaceFT, mnWidth, rFSD.mnHeight );
+     if( rc != FT_Err_Ok )
+@@ -976,7 +976,10 @@
+     }
+ 
+     if( maSizeFT )
++    {
+         pFTActivateSize( maSizeFT );
++        FT_Set_Transform( maFaceFT, NULL, NULL );
++    }
+ 
+     rFactor = 0x100;
+ 
+@@ -1234,7 +1251,10 @@ int FreetypeServerFont::GetGlyphIndex( s
+ void FreetypeServerFont::InitGlyphData( int nGlyphIndex, GlyphData& rGD ) const
+ {
+     if( maSizeFT )
++    {
+         pFTActivateSize( maSizeFT );
++        FT_Set_Transform( maFaceFT, NULL, NULL );
++    }
+ 
+     int nGlyphFlags;
+     SplitGlyphFlags( *this, nGlyphIndex, nGlyphFlags );
+@@ -1322,7 +1342,10 @@ bool FreetypeServerFont::GetAntialiasAdv
+ bool FreetypeServerFont::GetGlyphBitmap1( int nGlyphIndex, RawBitmap& rRawBitmap ) const
+ {
+     if( maSizeFT )
++    {
+         pFTActivateSize( maSizeFT );
++        FT_Set_Transform( maFaceFT, NULL, NULL );
++    }
+ 
+     int nGlyphFlags;
+     SplitGlyphFlags( *this, nGlyphIndex, nGlyphFlags );
+@@ -1482,7 +1505,10 @@ bool FreetypeServerFont::GetGlyphBitmap1
+ bool FreetypeServerFont::GetGlyphBitmap8( int nGlyphIndex, RawBitmap& rRawBitmap ) const
+ {
+     if( maSizeFT )
++    {
+         pFTActivateSize( maSizeFT );
++        FT_Set_Transform( maFaceFT, NULL, NULL );
++    }
+ 
+     int nGlyphFlags;
+     SplitGlyphFlags( *this, nGlyphIndex, nGlyphFlags );
+@@ -1736,7 +1762,10 @@ int FreetypeServerFont::GetGlyphKernValu
+     // when font faces of different sizes share the same maFaceFT
+     // then we have to make sure that it uses the correct maSizeFT
+     if( maSizeFT )
++    {
+         pFTActivateSize( maSizeFT );
++        FT_Set_Transform( maFaceFT, NULL, NULL );
++    }
+ 
+     // use Freetype's kerning info
+     FT_Vector aKernVal;
+@@ -1771,7 +1800,10 @@ ULONG FreetypeServerFont::GetKernPairs( 
+     // when font faces of different sizes share the same maFaceFT
+     // then we have to make sure that it uses the correct maSizeFT
+     if( maSizeFT )
++    {
+         pFTActivateSize( maSizeFT );
++        FT_Set_Transform( maFaceFT, NULL, NULL );
++    }
+ 
+     // first figure out which glyph pairs are involved in kerning
+     ULONG nKernLength = 0;
+@@ -2171,7 +2203,10 @@ bool FreetypeServerFont::GetGlyphOutline
+     ::basegfx::B2DPolyPolygon& rB2DPolyPoly ) const
+ {
+     if( maSizeFT )
++    {
+         pFTActivateSize( maSizeFT );
++	FT_Set_Transform( maFaceFT, NULL, NULL );
++    }
+ 
+     rB2DPolyPoly.clear();
+ 
+--- vcl/unx/source/gdi/salgdi3.cxx	11 Apr 2008 09:55:12 -0000	1.154
++++ vcl/unx/source/gdi/salgdi3.cxx	4 Jun 2008 08:20:31 -0000	1.154.46.1
+@@ -944,7 +944,7 @@ void X11SalGraphics::DrawCairoAAFontStri
+     Display* pDisplay = GetXDisplay();
+ 
+     cairo_surface_t *surface = rCairo.xlib_surface_create_with_xrender_format (pDisplay,
+-        hDrawable_, DefaultScreenOfDisplay(pDisplay), pVisualFormat, 1, 1);
++        hDrawable_, DefaultScreenOfDisplay(pDisplay), pVisualFormat, SAL_MAX_INT16, SAL_MAX_INT16);
+ 
+     /*
+      * It might be ideal to cache surface and cairo context between calls and



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]