diff -utrp gfx.orig/idl/nsIFreeType2.idl gfx/idl/nsIFreeType2.idl --- gfx.orig/idl/nsIFreeType2.idl Sun Feb 23 00:06:55 2003 +++ gfx/idl/nsIFreeType2.idl Fri Jul 9 00:14:13 2004 @@ -72,10 +72,11 @@ native FT_Pointer(FT_Pointer); 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); /* @@ -87,7 +88,7 @@ interface nsIFreeType2 : nsISupports 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); @@ -103,16 +104,18 @@ interface nsIFreeType2 : nsISupports 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 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); FT_ULong getFirstChar(in FT_Face face, out FT_UInt gindex); FT_ULong getNextChar(in FT_Face face, in FT_ULong charcode, out FT_UInt gindex); Only in gfx/idl: nsIFreeType2.idl.orig diff -utrp gfx.orig/src/freetype/nsFreeType.cpp gfx/src/freetype/nsFreeType.cpp --- gfx.orig/src/freetype/nsFreeType.cpp Tue Jun 24 01:15:40 2003 +++ gfx/src/freetype/nsFreeType.cpp Fri Jul 9 00:14:14 2004 @@ -111,7 +111,7 @@ FtFuncList nsFreeType2::FtFuncs [] = { {"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_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}, @@ -276,7 +276,7 @@ nsFreeType2::SetCharmap(FT_Face face, FT } 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 @@ -285,11 +285,11 @@ nsFreeType2::ImageCacheLookup(FTC_Image_ } NS_IMETHODIMP -nsFreeType2::ManagerLookupSize(FTC_Manager manager, FTC_Font font, - FT_Face *face, FT_Size *size) +nsFreeType2::ManagerLookupFace(FTC_Manager manager, FTC_FaceID font, + FT_Face *face)//, FT_Size *size) { // 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, font, face);//, size); return error ? NS_ERROR_FAILURE : NS_OK; } @@ -314,7 +314,7 @@ nsFreeType2::ManagerNew(FT_Library libra } 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); @@ -345,7 +345,7 @@ nsFreeType2::SupportsExtFunc(PRBool *res } NS_IMETHODIMP -nsFreeType2::GetImageCache(FTC_Image_Cache *aCache) +nsFreeType2::GetImageCache(FTC_ImageCache *aCache) { *aCache = mImageCache; return NS_OK; @@ -592,7 +592,7 @@ nsFreeType2::Init() PRBool nsFreeType2::InitLibrary() { - FT_Error error; + FT_Error error = 0; #ifdef MOZ_MATHML // do not yet support MathML // goto cleanup_and_return; Only in gfx/src/freetype: nsFreeType.cpp.orig diff -utrp gfx.orig/src/freetype/nsFreeType.h gfx/src/freetype/nsFreeType.h --- gfx.orig/src/freetype/nsFreeType.h Wed Jun 11 18:15:22 2003 +++ gfx/src/freetype/nsFreeType.h Fri Jul 9 00:14:14 2004 @@ -104,13 +104,13 @@ typedef FT_Error (*FT_Outline_Decompose_ 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*); typedef FT_ULong (*FT_Get_First_Char_t)(FT_Face, FT_UInt*); typedef FT_ULong (*FT_Get_Next_Char_t)(FT_Face, FT_ULong, FT_UInt*); @@ -157,7 +157,7 @@ protected: 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; @@ -195,7 +195,7 @@ protected: PRLibrary *mSharedLib; FT_Library mFreeTypeLibrary; FTC_Manager mFTCacheManager; - FTC_Image_Cache mImageCache; + FTC_ImageCache mImageCache; static nsHashtable *sFontFamilies; static nsHashtable *sRange1CharSetNames; Only in gfx/src/freetype: nsFreeType.h.orig diff -utrp gfx.orig/src/ps/nsFontMetricsPS.cpp gfx/src/ps/nsFontMetricsPS.cpp --- gfx.orig/src/ps/nsFontMetricsPS.cpp Tue Jun 24 01:15:43 2003 +++ gfx/src/ps/nsFontMetricsPS.cpp Fri Jul 9 00:14:14 2004 @@ -1112,10 +1112,10 @@ nsFontPSFreeType::Init(nsITrueTypeFontCa 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); @@ -1161,7 +1161,7 @@ nsFontPSFreeType::GetWidth(const PRUnich 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"); @@ -1199,8 +1199,7 @@ nsFontPSFreeType::getFTFace() 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; @@ -1595,16 +1594,15 @@ void nsFT2Type8Generator::GeneratePSFont mEntry->GetFamilyName(fontName); mEntry->GetStyleName(styleName); - mImageDesc.font.face_id = (void*)mEntry; // TT glyph has no relation to size - mImageDesc.font.pix_width = 16; - mImageDesc.font.pix_height = 16; - mImageDesc.image_type = 0; + mImageDesc->face_id = (FTC_FaceID)&mEntry; + 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; Only in gfx/src/ps: nsFontMetricsPS.cpp.orig diff -utrp gfx.orig/src/ps/nsFontMetricsPS.h gfx/src/ps/nsFontMetricsPS.h --- gfx.orig/src/ps/nsFontMetricsPS.h Tue Apr 22 16:25:09 2003 +++ gfx/src/ps/nsFontMetricsPS.h Fri Jul 9 00:14:14 2004 @@ -320,7 +320,7 @@ protected: nsCOMPtr mFaceID; nsCOMPtr mFt2; PRUint16 mPixelSize; - FTC_Image_Desc mImageDesc; + FTC_ImageType mImageDesc; static PRBool AddUserPref(nsIAtom *aLang, const nsFont& aFont, @@ -363,7 +363,7 @@ public: protected: nsCOMPtr mEntry; nsCOMPtr mFt2; - FTC_Image_Desc mImageDesc; + FTC_ImageType mImageDesc; }; #endif Only in gfx/src/ps: nsFontMetricsPS.h.orig diff -utrp gfx.orig/src/x11shared/nsFontFreeType.cpp gfx/src/x11shared/nsFontFreeType.cpp --- gfx.orig/src/x11shared/nsFontFreeType.cpp Fri May 23 22:18:07 2003 +++ gfx/src/x11shared/nsFontFreeType.cpp Fri Jul 9 00:14:14 2004 @@ -175,9 +175,10 @@ nsFreeTypeFont::getFTFace() { FT_Face face = nsnull; FTC_Manager mgr; - nsresult rv; + nsresult rv = 0; mFt2->GetFTCacheManager(&mgr); - rv = mFt2->ManagerLookupSize(mgr, &mImageDesc.font, &face, nsnull); +//rv = mFt2->ManagerLookupFace(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 +192,15 @@ nsFreeTypeFont::nsFreeTypeFont(nsITrueTy 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 +212,6 @@ nsFreeTypeFont::nsFreeTypeFont(nsITrueTy 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 +305,7 @@ nsFreeTypeFont::doGetBoundingMetrics(con if (!face) return NS_ERROR_FAILURE; - FTC_Image_Cache icache; + FTC_ImageCache icache; mFt2->GetImageCache(&icache); if (!icache) return NS_ERROR_FAILURE; @@ -401,7 +394,7 @@ nsFreeTypeFont::GetWidth(const PRUnichar if (!face) return 0; - FTC_Image_Cache icache; + FTC_ImageCache icache; mFt2->GetImageCache(&icache); if (!icache) return 0; @@ -725,7 +718,7 @@ nsFreeTypeXImage::DrawString(nsRendering 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; Only in gfx/src/x11shared: nsFontFreeType.cpp.orig diff -utrp gfx.orig/src/x11shared/nsFontFreeType.h gfx/src/x11shared/nsFontFreeType.h --- gfx.orig/src/x11shared/nsFontFreeType.h Tue Apr 22 16:25:13 2003 +++ gfx/src/x11shared/nsFontFreeType.h Fri Jul 9 00:14:14 2004 @@ -110,7 +110,7 @@ protected: XImage *GetXImage(PRUint32 width, PRUint32 height); nsITrueTypeFontCatalogEntry *mFaceID; PRUint16 mPixelSize; - FTC_Image_Desc mImageDesc; + FTC_ImageType mImageDesc; nsCOMPtr mFt2; }; Only in gfx/src/x11shared: nsFontFreeType.h.orig