r2738 - trunk/patches

randy at linuxfromscratch.org randy at linuxfromscratch.org
Tue Sep 14 11:09:08 PDT 2004


Author: randy
Date: 2004-09-14 12:09:05 -0600 (Tue, 14 Sep 2004)
New Revision: 2738

Added:
   trunk/patches/thunderbird-0.7.3-freetype_fix-1.patch
Log:
Added Thunderbird FreeType patch

Added: trunk/patches/thunderbird-0.7.3-freetype_fix-1.patch
===================================================================
--- trunk/patches/thunderbird-0.7.3-freetype_fix-1.patch	2004-09-13 16:12:40 UTC (rev 2737)
+++ trunk/patches/thunderbird-0.7.3-freetype_fix-1.patch	2004-09-14 18:09:05 UTC (rev 2738)
@@ -0,0 +1,324 @@
+Submitted By:            Randy McMurchy <randy_at_linuxfromscratch_dot_org>
+Date:                    2004-09-14
+Initial Package Version: 0.8
+Upstream Status:         Submitted (http://bugzilla.mozilla.org/show_bug.cgi?id=234035)
+Origin:                  Peter Kovar's 0.9 Firefox patch.
+Description:             Fixes compilation against freetype >= 2.1.8.
+
+$LastChangedBy$
+$Date$
+
+diff -Naur mozilla-orig/gfx/idl/nsIFreeType2.idl mozilla/gfx/idl/nsIFreeType2.idl
+--- mozilla-orig/gfx/idl/nsIFreeType2.idl	2004-07-15 11:24:14.000000000 +0000
++++ mozilla/gfx/idl/nsIFreeType2.idl	2004-07-15 11:28:26.000000000 +0000
+@@ -76,10 +76,11 @@
+ native FT_Sfnt_Tag(FT_Sfnt_Tag);
+ native FT_Size(FT_Size);
+ 
+-[ptr] native FTC_Image_Desc_p(FTC_Image_Desc);
++[ptr] native FTC_ImageType_p(FTC_ImageType);
+ native FTC_Face_Requester(FTC_Face_Requester);
+ native FTC_Font(FTC_Font);
+-native FTC_Image_Cache(FTC_Image_Cache);
++native FTC_FaceID(FTC_FaceID);
++native FTC_ImageCache(FTC_ImageCache);
+ native FTC_Manager(FTC_Manager);
+ 
+ // #ifdef MOZ_SVG
+@@ -99,7 +100,7 @@
+ 
+     readonly attribute FT_Library library;
+     readonly attribute FTC_Manager FTCacheManager;
+-    readonly attribute FTC_Image_Cache ImageCache;
++    readonly attribute FTC_ImageCache ImageCache;
+ 
+     void    doneFace(in FT_Face face);
+     void    doneFreeType(in FT_Library lib);
+@@ -115,16 +116,16 @@
+     void    outlineDecompose(in FT_Outline_p outline,
+                              in const_FT_Outline_Funcs_p funcs, in voidPtr p);
+     void    setCharmap(in FT_Face face, in FT_CharMap charmap);
+-    void    imageCacheLookup(in FTC_Image_Cache cache, in FTC_Image_Desc_p desc,
++    void    imageCacheLookup(in FTC_ImageCache cache, in FTC_ImageType_p desc,
+                              in FT_UInt gindex, out FT_Glyph glyph);
+-    void    managerLookupSize(in FTC_Manager manager, in FTC_Font font,
+-                              out FT_Face face, out FT_Size size);
++    void    managerLookupFace(in FTC_Manager manager, in FTC_FaceID face_id,
++                              out FT_Face face);
+     void    managerDone(in FTC_Manager manager);
+     void    managerNew(in FT_Library lib, in FT_UInt max_faces,
+                        in FT_UInt max_sizes, in FT_ULong max_bytes,
+                        in FTC_Face_Requester requester, in FT_Pointer req_data,
+                        out FTC_Manager manager);
+-    void    imageCacheNew(in FTC_Manager manager, out FTC_Image_Cache cache);
++    void    imageCacheNew(in FTC_Manager manager, out FTC_ImageCache cache);
+ /* #ifdef MOZ_SVG */
+     void glyphTransform(in FT_Glyph glyph, in FT_Matrix_p matrix,
+                         in FT_Vector_p delta);
+diff -Naur mozilla-orig/gfx/src/freetype/nsFreeType.cpp mozilla/gfx/src/freetype/nsFreeType.cpp
+--- mozilla-orig/gfx/src/freetype/nsFreeType.cpp	2004-07-15 11:24:14.000000000 +0000
++++ mozilla/gfx/src/freetype/nsFreeType.cpp	2004-07-15 11:28:26.000000000 +0000
+@@ -110,11 +110,11 @@
+   {"FT_New_Face",             NS_FT2_OFFSET(nsFT_New_Face),             PR_TRUE},
+   {"FT_Outline_Decompose",    NS_FT2_OFFSET(nsFT_Outline_Decompose),    PR_TRUE},
+   {"FT_Set_Charmap",          NS_FT2_OFFSET(nsFT_Set_Charmap),          PR_TRUE},
+-  {"FTC_Image_Cache_Lookup",  NS_FT2_OFFSET(nsFTC_Image_Cache_Lookup),  PR_TRUE},
+-  {"FTC_Manager_Lookup_Size", NS_FT2_OFFSET(nsFTC_Manager_Lookup_Size), PR_TRUE},
++  {"FTC_ImageCache_Lookup",   NS_FT2_OFFSET(nsFTC_Image_Cache_Lookup),  PR_TRUE},
++  {"FTC_Manager_LookupFace",  NS_FT2_OFFSET(nsFTC_Manager_LookupFace),  PR_TRUE},
+   {"FTC_Manager_Done",        NS_FT2_OFFSET(nsFTC_Manager_Done),        PR_TRUE},
+   {"FTC_Manager_New",         NS_FT2_OFFSET(nsFTC_Manager_New),         PR_TRUE},
+-  {"FTC_Image_Cache_New",     NS_FT2_OFFSET(nsFTC_Image_Cache_New),     PR_TRUE},
++  {"FTC_ImageCache_New",      NS_FT2_OFFSET(nsFTC_Image_Cache_New),     PR_TRUE},
+ // #ifdef MOZ_SVG
+   {"FT_Glyph_Transform",      NS_FT2_OFFSET(nsFT_Glyph_Transform),      PR_TRUE},
+   {"FT_Get_Kerning",          NS_FT2_OFFSET(nsFT_Get_Kerning),          PR_TRUE},
+@@ -282,7 +282,7 @@
+ } 
+  
+ NS_IMETHODIMP
+-nsFreeType2::ImageCacheLookup(FTC_Image_Cache cache, FTC_Image_Desc *desc,
++nsFreeType2::ImageCacheLookup(FTC_ImageCache cache, FTC_ImageType *desc,
+                               FT_UInt glyphID, FT_Glyph *glyph)
+ { 
+   // call the FreeType2 function via the function pointer
+@@ -291,11 +291,11 @@
+ } 
+  
+ NS_IMETHODIMP
+-nsFreeType2::ManagerLookupSize(FTC_Manager manager, FTC_Font font,
+-                               FT_Face *face, FT_Size *size)
++nsFreeType2::ManagerLookupFace(FTC_Manager manager, FTC_FaceID face_id,
++                               FT_Face *face)
+ { 
+   // call the FreeType2 function via the function pointer
+-  FT_Error error = nsFTC_Manager_Lookup_Size(manager, font, face, size);
++  FT_Error error = nsFTC_Manager_LookupFace(manager, face_id, face);
+   return error ? NS_ERROR_FAILURE : NS_OK;
+ } 
+  
+@@ -320,7 +320,7 @@
+ } 
+  
+ NS_IMETHODIMP
+-nsFreeType2::ImageCacheNew(FTC_Manager manager, FTC_Image_Cache *cache)
++nsFreeType2::ImageCacheNew(FTC_Manager manager, FTC_ImageCache *cache)
+ { 
+   // call the FreeType2 function via the function pointer
+   FT_Error error = nsFTC_Image_Cache_New(manager, cache);
+@@ -389,7 +389,7 @@
+ } 
+  
+ NS_IMETHODIMP
+-nsFreeType2::GetImageCache(FTC_Image_Cache *aCache)
++nsFreeType2::GetImageCache(FTC_ImageCache *aCache)
+ {
+   *aCache = mImageCache;
+   return NS_OK;
+diff -Naur mozilla-orig/gfx/src/freetype/nsFreeType.h mozilla/gfx/src/freetype/nsFreeType.h
+--- mozilla-orig/gfx/src/freetype/nsFreeType.h	2004-07-15 11:24:14.000000000 +0000
++++ mozilla/gfx/src/freetype/nsFreeType.h	2004-07-15 11:28:26.000000000 +0000
+@@ -104,13 +104,13 @@
+ typedef FT_Error (*FT_New_Face_t)(FT_Library, const char*, FT_Long, FT_Face*);
+ typedef FT_Error (*FT_Set_Charmap_t)(FT_Face face, FT_CharMap  charmap);
+ typedef FT_Error (*FTC_Image_Cache_Lookup_t)
+-                      (FTC_Image_Cache, FTC_Image_Desc*, FT_UInt, FT_Glyph*);
+-typedef FT_Error (*FTC_Manager_Lookup_Size_t)
+-                      (FTC_Manager, FTC_Font, FT_Face*, FT_Size*);
++                      (FTC_ImageCache, FTC_ImageType*, FT_UInt, FT_Glyph*);
++typedef FT_Error (*FTC_Manager_LookupFace_t)
++                      (FTC_Manager, FTC_FaceID, FT_Face*);
+ typedef FT_Error (*FTC_Manager_Done_t)(FTC_Manager);
+ typedef FT_Error (*FTC_Manager_New_t)(FT_Library, FT_UInt, FT_UInt, FT_ULong,
+                        FTC_Face_Requester, FT_Pointer, FTC_Manager*);
+-typedef FT_Error (*FTC_Image_Cache_New_t)(FTC_Manager, FTC_Image_Cache*);
++typedef FT_Error (*FTC_Image_Cache_New_t)(FTC_Manager, FTC_ImageCache*);
+ // #ifdef MOZ_SVG
+ typedef FT_Error (*FT_Glyph_Transform_t)(FT_Glyph, FT_Matrix*, FT_Vector*);
+ typedef FT_Error (*FT_Get_Kerning_t)
+@@ -165,7 +165,7 @@
+   FT_Outline_Decompose_t    nsFT_Outline_Decompose;
+   FT_Set_Charmap_t          nsFT_Set_Charmap;
+   FTC_Image_Cache_Lookup_t  nsFTC_Image_Cache_Lookup;
+-  FTC_Manager_Lookup_Size_t nsFTC_Manager_Lookup_Size;
++  FTC_Manager_LookupFace_t  nsFTC_Manager_LookupFace;
+   FTC_Manager_Done_t        nsFTC_Manager_Done;
+   FTC_Manager_New_t         nsFTC_Manager_New;
+   FTC_Image_Cache_New_t     nsFTC_Image_Cache_New;
+@@ -213,7 +213,7 @@
+   PRLibrary      *mSharedLib;
+   FT_Library      mFreeTypeLibrary;
+   FTC_Manager     mFTCacheManager;
+-  FTC_Image_Cache mImageCache;
++  FTC_ImageCache  mImageCache;
+ 
+   static nsHashtable   *sFontFamilies;
+   static nsHashtable   *sRange1CharSetNames;
+diff -Naur mozilla-orig/gfx/src/ps/nsFontMetricsPS.cpp mozilla/gfx/src/ps/nsFontMetricsPS.cpp
+--- mozilla-orig/gfx/src/ps/nsFontMetricsPS.cpp	2004-07-15 11:24:14.000000000 +0000
++++ mozilla/gfx/src/ps/nsFontMetricsPS.cpp	2004-07-15 11:28:26.000000000 +0000
+@@ -1141,10 +1141,10 @@
+   
+   mPixelSize = NSToIntRound(app2dev * mFont->size);
+ 
+-  mImageDesc.font.face_id    = (void*)mEntry;
+-  mImageDesc.font.pix_width  = mPixelSize;
+-  mImageDesc.font.pix_height = mPixelSize;
+-  mImageDesc.image_type = 0;
++  mImageDesc->face_id = (FTC_FaceID)&mEntry;
++  mImageDesc->width  = mPixelSize;
++  mImageDesc->height = mPixelSize;
++  mImageDesc->flags = 0;
+ 
+   nsresult rv;
+   mFt2 = do_GetService(NS_FREETYPE2_CONTRACTID, &rv);
+@@ -1190,7 +1190,7 @@
+   if (!face)
+     return 0;
+ 
+-  FTC_Image_Cache iCache;
++  FTC_ImageCache iCache;
+   nsresult rv = mFt2->GetImageCache(&iCache);
+   if (NS_FAILED(rv)) {
+     NS_ERROR("Failed to get Image Cache");
+@@ -1228,8 +1228,8 @@
+   
+   FTC_Manager cManager;
+   mFt2->GetFTCacheManager(&cManager);
+-  nsresult rv = mFt2->ManagerLookupSize(cManager, &mImageDesc.font,
+-                                        &face, nsnull);
++  nsresult rv = mFt2->ManagerLookupFace(cManager, mImageDesc->face_id,
++                                        &face);
+   NS_ASSERTION(rv==0, "failed to get face/size");
+   if (rv)
+     return nsnull;
+@@ -1622,16 +1622,16 @@
+   mEntry->GetFamilyName(fontName);
+   mEntry->GetStyleName(styleName);
+   
+-  mImageDesc.font.face_id    = (void*)mEntry;
++  mImageDesc->face_id = (FTC_FaceID)&mEntry;
+   // TT glyph has no relation to size
+-  mImageDesc.font.pix_width  = 16;
+-  mImageDesc.font.pix_height = 16;
+-  mImageDesc.image_type = 0;
++  mImageDesc->width  = 16;
++  mImageDesc->height = 16;
++  mImageDesc->flags = 0;
+   FT_Face face = nsnull;
+   FTC_Manager cManager;
+   mFt2->GetFTCacheManager(&cManager);
+-  nsresult rv = mFt2->ManagerLookupSize(cManager, &mImageDesc.font,
+-                                        &face, nsnull);
++  nsresult rv = mFt2->ManagerLookupFace(cManager, mImageDesc->face_id,
++                                        &face);
+   if (NS_FAILED(rv))
+     return;
+  
+diff -Naur mozilla-orig/gfx/src/ps/nsFontMetricsPS.h mozilla/gfx/src/ps/nsFontMetricsPS.h
+--- mozilla-orig/gfx/src/ps/nsFontMetricsPS.h	2004-07-15 11:24:14.000000000 +0000
++++ mozilla/gfx/src/ps/nsFontMetricsPS.h	2004-07-15 11:28:26.000000000 +0000
+@@ -320,7 +320,7 @@
+   nsCOMPtr<nsITrueTypeFontCatalogEntry> mFaceID;
+   nsCOMPtr<nsIFreeType2> mFt2;
+   PRUint16        mPixelSize;
+-  FTC_Image_Desc  mImageDesc;
++  FTC_ImageType   mImageDesc;
+ 
+ 
+   static PRBool AddUserPref(nsIAtom *aLang, const nsFont& aFont,
+@@ -363,7 +363,7 @@
+ protected:
+   nsCOMPtr<nsITrueTypeFontCatalogEntry> mEntry;
+   nsCOMPtr<nsIFreeType2> mFt2;
+-  FTC_Image_Desc  mImageDesc;
++  FTC_ImageType   mImageDesc;
+ };
+ #endif
+ 
+diff -Naur mozilla-orig/gfx/src/x11shared/nsFontFreeType.cpp mozilla/gfx/src/x11shared/nsFontFreeType.cpp
+--- mozilla-orig/gfx/src/x11shared/nsFontFreeType.cpp	2004-07-15 11:24:14.000000000 +0000
++++ mozilla/gfx/src/x11shared/nsFontFreeType.cpp	2004-07-15 11:28:26.000000000 +0000
+@@ -177,7 +177,7 @@
+   FTC_Manager mgr;
+   nsresult rv;
+   mFt2->GetFTCacheManager(&mgr);
+-  rv = mFt2->ManagerLookupSize(mgr, &mImageDesc.font, &face, nsnull);
++  rv = mFt2->ManagerLookupFace(mgr, mImageDesc->face_id, &face);
+   NS_ASSERTION(NS_SUCCEEDED(rv), "failed to get face/size");
+   if (NS_FAILED(rv))
+     return nsnull;
+@@ -191,22 +191,15 @@
+   PRBool embedded_bimap = PR_FALSE;
+   mFaceID = aFaceID;
+   mPixelSize = aPixelSize;
+-  mImageDesc.font.face_id    = (void*)mFaceID;
+-  mImageDesc.font.pix_width  = aPixelSize;
+-  mImageDesc.font.pix_height = aPixelSize;
+-  mImageDesc.image_type = 0;
++  mImageDesc->face_id = (FTC_FaceID)&mFaceID;
++  mImageDesc->width  = aPixelSize;
++  mImageDesc->height = aPixelSize;
++  mImageDesc->flags = 0;
+ 
+   if (aPixelSize < nsFreeType2::gAntiAliasMinimum) {
+-    mImageDesc.image_type |= ftc_image_mono;
+     anti_alias = PR_FALSE;
+   }
+ 
+-  if (nsFreeType2::gFreeType2Autohinted)
+-    mImageDesc.image_type |= ftc_image_flag_autohinted;
+-
+-  if (nsFreeType2::gFreeType2Unhinted)
+-    mImageDesc.image_type |= ftc_image_flag_unhinted;
+-
+   PRUint32  num_embedded_bitmaps, i;
+   PRInt32*  embedded_bitmapheights;
+   mFaceID->GetEmbeddedBitmapHeights(&num_embedded_bitmaps,
+@@ -218,7 +211,6 @@
+         if (embedded_bitmapheights[i] == aPixelSize) {
+           embedded_bimap = PR_TRUE;
+           // unhinted must be set for embedded bitmaps to be used
+-          mImageDesc.image_type |= ftc_image_flag_unhinted;
+           break;
+         }
+       }
+@@ -312,7 +304,7 @@
+   if (!face)
+     return NS_ERROR_FAILURE;
+ 
+-  FTC_Image_Cache icache;
++  FTC_ImageCache icache;
+   mFt2->GetImageCache(&icache);
+   if (!icache)
+     return NS_ERROR_FAILURE;
+@@ -401,7 +393,7 @@
+   if (!face)
+     return 0;
+ 
+-  FTC_Image_Cache icache;
++  FTC_ImageCache icache;
+   mFt2->GetImageCache(&icache);
+   if (!icache)
+     return 0;
+@@ -723,7 +715,7 @@
+     if (y%4==0) (*blendPixelFunc)(sub_image, y, ascent-1, black, 255/2);
+ #endif
+ 
+-  FTC_Image_Cache icache;
++  FTC_ImageCache icache;
+   mFt2->GetImageCache(&icache);
+   if (!icache)
+     return 0;
+diff -Naur mozilla-orig/gfx/src/x11shared/nsFontFreeType.h mozilla/gfx/src/x11shared/nsFontFreeType.h
+--- mozilla-orig/gfx/src/x11shared/nsFontFreeType.h	2004-07-15 11:24:14.000000000 +0000
++++ mozilla/gfx/src/x11shared/nsFontFreeType.h	2004-07-15 11:28:26.000000000 +0000
+@@ -110,7 +110,7 @@
+   XImage *GetXImage(PRUint32 width, PRUint32 height);
+   nsITrueTypeFontCatalogEntry *mFaceID;
+   PRUint16        mPixelSize;
+-  FTC_Image_Desc  mImageDesc;
++  FTC_ImageType   mImageDesc;
+   nsCOMPtr<nsIFreeType2> mFt2;
+ };
+ 


Property changes on: trunk/patches/thunderbird-0.7.3-freetype_fix-1.patch
___________________________________________________________________
Name: svn:keywords
   + LastChangedBy Date




More information about the blfs-book mailing list