You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							329 lines
						
					
					
						
							13 KiB
						
					
					
				
			
		
		
	
	
							329 lines
						
					
					
						
							13 KiB
						
					
					
				# --- SDE-COPYRIGHT-NOTE-BEGIN --- | 
						|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. | 
						|
# | 
						|
# Filename: package/.../firefox/freetype.patch | 
						|
# Copyright (C) 2004 - 2006 The T2 SDE Project | 
						|
# | 
						|
# More information can be found in the files COPYING and README. | 
						|
# | 
						|
# This patch file is dual-licensed. It is available under the license the | 
						|
# patched project is licensed under, as long as it is an OpenSource license | 
						|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms | 
						|
# of the GNU General Public License as published by the Free Software | 
						|
# Foundation; either version 2 of the License, or (at your option) any later | 
						|
# version. | 
						|
# --- SDE-COPYRIGHT-NOTE-END --- | 
						|
diff -Naur mozilla_orig/gfx/idl/nsIFreeType2.idl mozilla/gfx/idl/nsIFreeType2.idl | 
						|
--- mozilla_orig/gfx/idl/nsIFreeType2.idl	2004-04-16 03:09:33.000000000 +0200 | 
						|
+++ mozilla/gfx/idl/nsIFreeType2.idl	2005-09-10 11:45:04.739957520 +0200 | 
						|
@@ -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-02-07 16:22:30.000000000 +0100 | 
						|
+++ mozilla/gfx/src/freetype/nsFreeType.cpp	2005-09-10 11:45:04.741957216 +0200 | 
						|
@@ -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-04-16 23:31:42.000000000 +0200 | 
						|
+++ mozilla/gfx/src/freetype/nsFreeType.h	2005-09-10 11:45:04.744956760 +0200 | 
						|
@@ -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-02-05 02:57:05.000000000 +0100 | 
						|
+++ mozilla/gfx/src/ps/nsFontMetricsPS.cpp	2005-09-10 11:45:04.747956304 +0200 | 
						|
@@ -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	2003-04-22 18:25:09.000000000 +0200 | 
						|
+++ mozilla/gfx/src/ps/nsFontMetricsPS.h	2005-09-10 11:45:04.748956152 +0200 | 
						|
@@ -424,7 +424,7 @@ | 
						|
   nsCOMPtr<nsITrueTypeFontCatalogEntry> mFaceID; | 
						|
   nsCOMPtr<nsIFreeType2> mFt2; | 
						|
   PRUint16        mPixelSize; | 
						|
-  FTC_Image_Desc  mImageDesc; | 
						|
+  FTC_ImageType   mImageDesc; | 
						|
   nsCString       mFontNameBase;   // the base name of type 1 (sub) fonts | 
						|
   nscoord         mHeight; | 
						|
 | 
						|
@@ -493,7 +493,7 @@ | 
						|
 protected: | 
						|
   nsCOMPtr<nsITrueTypeFontCatalogEntry> mEntry; | 
						|
   nsCOMPtr<nsIFreeType2> mFt2; | 
						|
-  FTC_Image_Desc  mImageDesc; | 
						|
+  FTC_ImageType   mImageDesc; | 
						|
 }; | 
						|
 #endif   // MOZ_ENABLE_FREETYPE2 | 
						|
 #endif   // MOZ_ENABLE_XFT | 
						|
diff -Naur mozilla_orig/gfx/src/x11shared/nsFontFreeType.cpp mozilla/gfx/src/x11shared/nsFontFreeType.cpp | 
						|
--- mozilla_orig/gfx/src/x11shared/nsFontFreeType.cpp	2003-12-25 09:24:52.000000000 +0100 | 
						|
+++ mozilla/gfx/src/x11shared/nsFontFreeType.cpp	2005-09-10 11:45:04.749956000 +0200 | 
						|
@@ -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	2003-04-22 18:25:13.000000000 +0200 | 
						|
+++ mozilla/gfx/src/x11shared/nsFontFreeType.h	2005-09-10 11:45:04.750955848 +0200 | 
						|
@@ -110,7 +110,7 @@ | 
						|
   XImage *GetXImage(PRUint32 width, PRUint32 height); | 
						|
   nsITrueTypeFontCatalogEntry *mFaceID; | 
						|
   PRUint16        mPixelSize; | 
						|
-  FTC_Image_Desc  mImageDesc; | 
						|
+  FTC_ImageType   mImageDesc; | 
						|
   nsCOMPtr<nsIFreeType2> mFt2; | 
						|
 }; | 
						|
 
 | 
						|
 |