mirror of the now-defunct rocklinux.org
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.

444 lines
17 KiB

  1. --- mozilla/gfx/idl/nsIFreeType2.idl.orig Thu Apr 15 19:09:33 2004
  2. +++ mozilla/gfx/idl/nsIFreeType2.idl Sun Apr 24 00:51:09 2005
  3. @@ -76,11 +76,13 @@
  4. native FT_Sfnt_Tag(FT_Sfnt_Tag);
  5. native FT_Size(FT_Size);
  6. -[ptr] native FTC_Image_Desc_p(FTC_Image_Desc);
  7. +native FTC_ImageType(FTC_ImageType);
  8. native FTC_Face_Requester(FTC_Face_Requester);
  9. native FTC_Font(FTC_Font);
  10. -native FTC_Image_Cache(FTC_Image_Cache);
  11. +native FTC_ImageCache(FTC_ImageCache);
  12. native FTC_Manager(FTC_Manager);
  13. +native FTC_Node(FTC_Node);
  14. +native FTC_Scaler(FTC_Scaler);
  15. // #ifdef MOZ_SVG
  16. [ptr] native FT_Matrix_p(FT_Matrix);
  17. @@ -99,7 +101,7 @@
  18. readonly attribute FT_Library library;
  19. readonly attribute FTC_Manager FTCacheManager;
  20. - readonly attribute FTC_Image_Cache ImageCache;
  21. + readonly attribute FTC_ImageCache ImageCache;
  22. void doneFace(in FT_Face face);
  23. void doneFreeType(in FT_Library lib);
  24. @@ -115,16 +117,17 @@
  25. void outlineDecompose(in FT_Outline_p outline,
  26. in const_FT_Outline_Funcs_p funcs, in voidPtr p);
  27. void setCharmap(in FT_Face face, in FT_CharMap charmap);
  28. - void imageCacheLookup(in FTC_Image_Cache cache, in FTC_Image_Desc_p desc,
  29. - in FT_UInt gindex, out FT_Glyph glyph);
  30. - void managerLookupSize(in FTC_Manager manager, in FTC_Font font,
  31. - out FT_Face face, out FT_Size size);
  32. + void imageCacheLookup(in FTC_ImageCache cache, in FTC_ImageType type,
  33. + in FT_UInt gindex, out FT_Glyph glyph,
  34. + out FTC_Node node);
  35. + void managerLookupSize(in FTC_Manager manager, in FTC_Scaler scaler,
  36. + out FT_Size size);
  37. void managerDone(in FTC_Manager manager);
  38. void managerNew(in FT_Library lib, in FT_UInt max_faces,
  39. in FT_UInt max_sizes, in FT_ULong max_bytes,
  40. in FTC_Face_Requester requester, in FT_Pointer req_data,
  41. out FTC_Manager manager);
  42. - void imageCacheNew(in FTC_Manager manager, out FTC_Image_Cache cache);
  43. + void imageCacheNew(in FTC_Manager manager, out FTC_ImageCache cache);
  44. /* #ifdef MOZ_SVG */
  45. void glyphTransform(in FT_Glyph glyph, in FT_Matrix_p matrix,
  46. in FT_Vector_p delta);
  47. --- mozilla/gfx/src/freetype/nsFreeType.cpp.orig Sat Feb 7 09:22:30 2004
  48. +++ mozilla/gfx/src/freetype/nsFreeType.cpp Sat Apr 23 22:19:07 2005
  49. @@ -110,11 +110,11 @@
  50. {"FT_New_Face", NS_FT2_OFFSET(nsFT_New_Face), PR_TRUE},
  51. {"FT_Outline_Decompose", NS_FT2_OFFSET(nsFT_Outline_Decompose), PR_TRUE},
  52. {"FT_Set_Charmap", NS_FT2_OFFSET(nsFT_Set_Charmap), PR_TRUE},
  53. - {"FTC_Image_Cache_Lookup", NS_FT2_OFFSET(nsFTC_Image_Cache_Lookup), PR_TRUE},
  54. - {"FTC_Manager_Lookup_Size", NS_FT2_OFFSET(nsFTC_Manager_Lookup_Size), PR_TRUE},
  55. + {"FTC_ImageCache_Lookup", NS_FT2_OFFSET(nsFTC_ImageCache_Lookup), PR_TRUE},
  56. + {"FTC_Manager_LookupSize", NS_FT2_OFFSET(nsFTC_Manager_LookupSize), PR_TRUE},
  57. {"FTC_Manager_Done", NS_FT2_OFFSET(nsFTC_Manager_Done), PR_TRUE},
  58. {"FTC_Manager_New", NS_FT2_OFFSET(nsFTC_Manager_New), PR_TRUE},
  59. - {"FTC_Image_Cache_New", NS_FT2_OFFSET(nsFTC_Image_Cache_New), PR_TRUE},
  60. + {"FTC_ImageCache_New", NS_FT2_OFFSET(nsFTC_ImageCache_New), PR_TRUE},
  61. // #ifdef MOZ_SVG
  62. {"FT_Glyph_Transform", NS_FT2_OFFSET(nsFT_Glyph_Transform), PR_TRUE},
  63. {"FT_Get_Kerning", NS_FT2_OFFSET(nsFT_Get_Kerning), PR_TRUE},
  64. @@ -282,20 +282,21 @@
  65. }
  66. NS_IMETHODIMP
  67. -nsFreeType2::ImageCacheLookup(FTC_Image_Cache cache, FTC_Image_Desc *desc,
  68. - FT_UInt glyphID, FT_Glyph *glyph)
  69. +nsFreeType2::ImageCacheLookup(FTC_ImageCache cache, FTC_ImageType type,
  70. + FT_UInt glyphID, FT_Glyph *glyph,
  71. + FTC_Node *node)
  72. {
  73. // call the FreeType2 function via the function pointer
  74. - FT_Error error = nsFTC_Image_Cache_Lookup(cache, desc, glyphID, glyph);
  75. + FT_Error error = nsFTC_ImageCache_Lookup(cache, type, glyphID, glyph, node);
  76. return error ? NS_ERROR_FAILURE : NS_OK;
  77. }
  78. NS_IMETHODIMP
  79. -nsFreeType2::ManagerLookupSize(FTC_Manager manager, FTC_Font font,
  80. - FT_Face *face, FT_Size *size)
  81. +nsFreeType2::ManagerLookupSize(FTC_Manager manager, FTC_Scaler scaler,
  82. + FT_Size *size)
  83. {
  84. // call the FreeType2 function via the function pointer
  85. - FT_Error error = nsFTC_Manager_Lookup_Size(manager, font, face, size);
  86. + FT_Error error = nsFTC_Manager_LookupSize(manager, scaler, size);
  87. return error ? NS_ERROR_FAILURE : NS_OK;
  88. }
  89. @@ -320,10 +321,10 @@
  90. }
  91. NS_IMETHODIMP
  92. -nsFreeType2::ImageCacheNew(FTC_Manager manager, FTC_Image_Cache *cache)
  93. +nsFreeType2::ImageCacheNew(FTC_Manager manager, FTC_ImageCache *cache)
  94. {
  95. // call the FreeType2 function via the function pointer
  96. - FT_Error error = nsFTC_Image_Cache_New(manager, cache);
  97. + FT_Error error = nsFTC_ImageCache_New(manager, cache);
  98. return error ? NS_ERROR_FAILURE : NS_OK;
  99. }
  100. @@ -389,7 +390,7 @@
  101. }
  102. NS_IMETHODIMP
  103. -nsFreeType2::GetImageCache(FTC_Image_Cache *aCache)
  104. +nsFreeType2::GetImageCache(FTC_ImageCache *aCache)
  105. {
  106. *aCache = mImageCache;
  107. return NS_OK;
  108. --- mozilla/gfx/src/freetype/nsFreeType.h.orig Fri Apr 16 15:31:42 2004
  109. +++ mozilla/gfx/src/freetype/nsFreeType.h Sun Apr 24 22:21:23 2005
  110. @@ -103,14 +103,15 @@
  111. (FT_Outline*, const FT_Outline_Funcs*, void*);
  112. typedef FT_Error (*FT_New_Face_t)(FT_Library, const char*, FT_Long, FT_Face*);
  113. typedef FT_Error (*FT_Set_Charmap_t)(FT_Face face, FT_CharMap charmap);
  114. -typedef FT_Error (*FTC_Image_Cache_Lookup_t)
  115. - (FTC_Image_Cache, FTC_Image_Desc*, FT_UInt, FT_Glyph*);
  116. -typedef FT_Error (*FTC_Manager_Lookup_Size_t)
  117. - (FTC_Manager, FTC_Font, FT_Face*, FT_Size*);
  118. +typedef FT_Error (*FTC_ImageCache_Lookup_t)
  119. + (FTC_ImageCache, FTC_ImageType, FT_UInt, FT_Glyph*,
  120. + FTC_Node*);
  121. +typedef FT_Error (*FTC_Manager_LookupSize_t)
  122. + (FTC_Manager, FTC_Scaler, FT_Size*);
  123. typedef FT_Error (*FTC_Manager_Done_t)(FTC_Manager);
  124. typedef FT_Error (*FTC_Manager_New_t)(FT_Library, FT_UInt, FT_UInt, FT_ULong,
  125. FTC_Face_Requester, FT_Pointer, FTC_Manager*);
  126. -typedef FT_Error (*FTC_Image_Cache_New_t)(FTC_Manager, FTC_Image_Cache*);
  127. +typedef FT_Error (*FTC_ImageCache_New_t)(FTC_Manager, FTC_ImageCache*);
  128. // #ifdef MOZ_SVG
  129. typedef FT_Error (*FT_Glyph_Transform_t)(FT_Glyph, FT_Matrix*, FT_Vector*);
  130. typedef FT_Error (*FT_Get_Kerning_t)
  131. @@ -164,11 +165,11 @@
  132. FT_New_Face_t nsFT_New_Face;
  133. FT_Outline_Decompose_t nsFT_Outline_Decompose;
  134. FT_Set_Charmap_t nsFT_Set_Charmap;
  135. - FTC_Image_Cache_Lookup_t nsFTC_Image_Cache_Lookup;
  136. - FTC_Manager_Lookup_Size_t nsFTC_Manager_Lookup_Size;
  137. + FTC_ImageCache_Lookup_t nsFTC_ImageCache_Lookup;
  138. + FTC_Manager_LookupSize_t nsFTC_Manager_LookupSize;
  139. FTC_Manager_Done_t nsFTC_Manager_Done;
  140. FTC_Manager_New_t nsFTC_Manager_New;
  141. - FTC_Image_Cache_New_t nsFTC_Image_Cache_New;
  142. + FTC_ImageCache_New_t nsFTC_ImageCache_New;
  143. // #ifdef MOZ_SVG
  144. FT_Glyph_Transform_t nsFT_Glyph_Transform;
  145. FT_Get_Kerning_t nsFT_Get_Kerning;
  146. @@ -213,7 +214,7 @@
  147. PRLibrary *mSharedLib;
  148. FT_Library mFreeTypeLibrary;
  149. FTC_Manager mFTCacheManager;
  150. - FTC_Image_Cache mImageCache;
  151. + FTC_ImageCache mImageCache;
  152. static nsHashtable *sFontFamilies;
  153. static nsHashtable *sRange1CharSetNames;
  154. --- mozilla/gfx/src/ps/nsFontMetricsPS.cpp.orig Wed Feb 4 19:57:05 2004
  155. +++ mozilla/gfx/src/ps/nsFontMetricsPS.cpp Mon Apr 25 00:07:18 2005
  156. @@ -1141,10 +1141,14 @@
  157. mPixelSize = NSToIntRound(app2dev * mFont->size);
  158. - mImageDesc.font.face_id = (void*)mEntry;
  159. - mImageDesc.font.pix_width = mPixelSize;
  160. - mImageDesc.font.pix_height = mPixelSize;
  161. - mImageDesc.image_type = 0;
  162. + mImageTypeRec.face_id = (FTC_FaceID)(void*)mEntry;
  163. + mImageTypeRec.width = mPixelSize;
  164. + mImageTypeRec.height = mPixelSize;
  165. + mImageTypeRec.flags = FT_LOAD_DEFAULT;
  166. + mScalerRec.face_id = (FTC_FaceID)(void*)mEntry;
  167. + mScalerRec.width = mPixelSize;
  168. + mScalerRec.height = mPixelSize;
  169. + mScalerRec.pixel = PR_TRUE;
  170. nsresult rv;
  171. mFt2 = do_GetService(NS_FREETYPE2_CONTRACTID, &rv);
  172. @@ -1190,7 +1194,7 @@
  173. if (!face)
  174. return 0;
  175. - FTC_Image_Cache iCache;
  176. + FTC_ImageCache iCache;
  177. nsresult rv = mFt2->GetImageCache(&iCache);
  178. if (NS_FAILED(rv)) {
  179. NS_ERROR("Failed to get Image Cache");
  180. @@ -1199,8 +1203,8 @@
  181. for (PRUint32 i=0; i<aLength; i++) {
  182. mFt2->GetCharIndex((FT_Face)face, aString[i], &glyph_index);
  183. - nsresult rv = mFt2->ImageCacheLookup(iCache, &mImageDesc,
  184. - glyph_index, &glyph);
  185. + nsresult rv = mFt2->ImageCacheLookup(iCache, &mImageTypeRec,
  186. + glyph_index, &glyph, nsnull);
  187. if (NS_FAILED(rv)) {
  188. origin_x += FT_REG_TO_16_16(face->size->metrics.x_ppem/2 + 2);
  189. continue;
  190. @@ -1224,16 +1228,15 @@
  191. FT_Face
  192. nsFontPSFreeType::getFTFace()
  193. {
  194. - FT_Face face = nsnull;
  195. + FT_Size size = nsnull;
  196. FTC_Manager cManager;
  197. mFt2->GetFTCacheManager(&cManager);
  198. - nsresult rv = mFt2->ManagerLookupSize(cManager, &mImageDesc.font,
  199. - &face, nsnull);
  200. + nsresult rv = mFt2->ManagerLookupSize(cManager, &mScalerRec, &size);
  201. NS_ASSERTION(rv==0, "failed to get face/size");
  202. if (rv)
  203. return nsnull;
  204. - return face;
  205. + return size->face;
  206. }
  207. nscoord
  208. @@ -1622,22 +1625,21 @@
  209. mEntry->GetFamilyName(fontName);
  210. mEntry->GetStyleName(styleName);
  211. - mImageDesc.font.face_id = (void*)mEntry;
  212. + mScalerRec.face_id = (FTC_FaceID)(void*)mEntry;
  213. // TT glyph has no relation to size
  214. - mImageDesc.font.pix_width = 16;
  215. - mImageDesc.font.pix_height = 16;
  216. - mImageDesc.image_type = 0;
  217. - FT_Face face = nsnull;
  218. + mScalerRec.width = 16;
  219. + mScalerRec.height = 16;
  220. + mScalerRec.pixel = PR_TRUE;
  221. + FT_Size size = nsnull;
  222. FTC_Manager cManager;
  223. mFt2->GetFTCacheManager(&cManager);
  224. - nsresult rv = mFt2->ManagerLookupSize(cManager, &mImageDesc.font,
  225. - &face, nsnull);
  226. + nsresult rv = mFt2->ManagerLookupSize(cManager, &mScalerRec, &size);
  227. if (NS_FAILED(rv))
  228. return;
  229. int wmode = 0;
  230. if (!mSubset.IsEmpty())
  231. - FT2SubsetToType8(face, mSubset.get(), mSubset.Length(), wmode, aFile);
  232. + FT2SubsetToType8(size->face, mSubset.get(), mSubset.Length(), wmode, aFile);
  233. }
  234. #endif //MOZ_ENABLE_FREETYPE2
  235. --- mozilla/gfx/src/ps/nsFontMetricsPS.h.orig Tue Apr 22 10:25:09 2003
  236. +++ mozilla/gfx/src/ps/nsFontMetricsPS.h Sun Apr 24 21:01:10 2005
  237. @@ -319,9 +319,9 @@
  238. protected:
  239. nsCOMPtr<nsITrueTypeFontCatalogEntry> mFaceID;
  240. nsCOMPtr<nsIFreeType2> mFt2;
  241. - PRUint16 mPixelSize;
  242. - FTC_Image_Desc mImageDesc;
  243. -
  244. + PRUint16 mPixelSize;
  245. + FTC_ImageTypeRec mImageTypeRec;
  246. + FTC_ScalerRec mScalerRec;
  247. static PRBool AddUserPref(nsIAtom *aLang, const nsFont& aFont,
  248. fontPSInfo *aFpi);
  249. @@ -363,7 +363,7 @@
  250. protected:
  251. nsCOMPtr<nsITrueTypeFontCatalogEntry> mEntry;
  252. nsCOMPtr<nsIFreeType2> mFt2;
  253. - FTC_Image_Desc mImageDesc;
  254. + FTC_ScalerRec mScalerRec;
  255. };
  256. #endif
  257. --- mozilla/gfx/src/x11shared/nsFontFreeType.cpp.orig Thu Dec 25 02:24:52 2003
  258. +++ mozilla/gfx/src/x11shared/nsFontFreeType.cpp Mon Apr 25 00:25:06 2005
  259. @@ -173,15 +173,15 @@
  260. FT_Face
  261. nsFreeTypeFont::getFTFace()
  262. {
  263. - FT_Face face = nsnull;
  264. + FT_Size size = nsnull;
  265. FTC_Manager mgr;
  266. nsresult rv;
  267. mFt2->GetFTCacheManager(&mgr);
  268. - rv = mFt2->ManagerLookupSize(mgr, &mImageDesc.font, &face, nsnull);
  269. + rv = mFt2->ManagerLookupSize(mgr, &mScalerRec, &size);
  270. NS_ASSERTION(NS_SUCCEEDED(rv), "failed to get face/size");
  271. if (NS_FAILED(rv))
  272. return nsnull;
  273. - return face;
  274. + return size->face;
  275. }
  276. nsFreeTypeFont::nsFreeTypeFont(nsITrueTypeFontCatalogEntry *aFaceID,
  277. @@ -191,21 +191,25 @@
  278. PRBool embedded_bimap = PR_FALSE;
  279. mFaceID = aFaceID;
  280. mPixelSize = aPixelSize;
  281. - mImageDesc.font.face_id = (void*)mFaceID;
  282. - mImageDesc.font.pix_width = aPixelSize;
  283. - mImageDesc.font.pix_height = aPixelSize;
  284. - mImageDesc.image_type = 0;
  285. -
  286. + mImageTypeRec.face_id = (FTC_FaceID)(void*)mFaceID;
  287. + mImageTypeRec.width = aPixelSize;
  288. + mImageTypeRec.height = aPixelSize;
  289. + mImageTypeRec.flags = FT_LOAD_DEFAULT | FT_LOAD_RENDER;
  290. + mScalerRec.face_id = (FTC_FaceID)(void*)mFaceID;
  291. + mScalerRec.width = aPixelSize;
  292. + mScalerRec.height = aPixelSize;
  293. + mScalerRec.pixel = PR_TRUE;
  294. +
  295. if (aPixelSize < nsFreeType2::gAntiAliasMinimum) {
  296. - mImageDesc.image_type |= ftc_image_mono;
  297. + mImageTypeRec.flags |= FT_LOAD_MONOCHROME;
  298. anti_alias = PR_FALSE;
  299. }
  300. if (nsFreeType2::gFreeType2Autohinted)
  301. - mImageDesc.image_type |= ftc_image_flag_autohinted;
  302. + mImageTypeRec.flags |= FT_LOAD_FORCE_AUTOHINT;
  303. if (nsFreeType2::gFreeType2Unhinted)
  304. - mImageDesc.image_type |= ftc_image_flag_unhinted;
  305. + mImageTypeRec.flags |= FT_LOAD_NO_HINTING;
  306. PRUint32 num_embedded_bitmaps, i;
  307. PRInt32* embedded_bitmapheights;
  308. @@ -218,7 +222,7 @@
  309. if (embedded_bitmapheights[i] == aPixelSize) {
  310. embedded_bimap = PR_TRUE;
  311. // unhinted must be set for embedded bitmaps to be used
  312. - mImageDesc.image_type |= ftc_image_flag_unhinted;
  313. + mImageTypeRec.flags |= FT_LOAD_NO_HINTING;
  314. break;
  315. }
  316. }
  317. @@ -312,7 +316,7 @@
  318. if (!face)
  319. return NS_ERROR_FAILURE;
  320. - FTC_Image_Cache icache;
  321. + FTC_ImageCache icache;
  322. mFt2->GetImageCache(&icache);
  323. if (!icache)
  324. return NS_ERROR_FAILURE;
  325. @@ -339,7 +343,8 @@
  326. //NS_ASSERTION(glyph_index,"failed to get glyph");
  327. if (glyph_index) {
  328. - rv = mFt2->ImageCacheLookup(icache, &mImageDesc, glyph_index, &glyph);
  329. + rv = mFt2->ImageCacheLookup(icache, &mImageTypeRec, glyph_index,
  330. + &glyph, nsnull);
  331. NS_ASSERTION(NS_SUCCEEDED(rv),"error loading glyph");
  332. }
  333. if ((glyph_index) && (NS_SUCCEEDED(rv))) {
  334. @@ -401,7 +406,7 @@
  335. if (!face)
  336. return 0;
  337. - FTC_Image_Cache icache;
  338. + FTC_ImageCache icache;
  339. mFt2->GetImageCache(&icache);
  340. if (!icache)
  341. return 0;
  342. @@ -420,7 +425,8 @@
  343. }
  344. mFt2->GetCharIndex((FT_Face)face, code_point, &glyph_index);
  345. nsresult rv;
  346. - rv = mFt2->ImageCacheLookup(icache, &mImageDesc, glyph_index, &glyph);
  347. + rv = mFt2->ImageCacheLookup(icache, &mImageTypeRec, glyph_index, &glyph,
  348. + nsnull);
  349. NS_ASSERTION(NS_SUCCEEDED(rv),"error loading glyph");
  350. if (NS_FAILED(rv)) {
  351. origin_x += face->size->metrics.x_ppem/2 + 2;
  352. @@ -723,7 +729,7 @@
  353. if (y%4==0) (*blendPixelFunc)(sub_image, y, ascent-1, black, 255/2);
  354. #endif
  355. - FTC_Image_Cache icache;
  356. + FTC_ImageCache icache;
  357. mFt2->GetImageCache(&icache);
  358. if (!icache)
  359. return 0;
  360. @@ -752,7 +758,8 @@
  361. mFt2->GetCharIndex(face, code_point, &glyph_index);
  362. if (glyph_index) {
  363. - rv = mFt2->ImageCacheLookup(icache, &mImageDesc, glyph_index, &glyph);
  364. + rv = mFt2->ImageCacheLookup(icache, &mImageTypeRec, glyph_index,
  365. + &glyph, nsnull);
  366. }
  367. if ((glyph_index) && (NS_SUCCEEDED(rv))) {
  368. mFt2->GlyphGetCBox(glyph, ft_glyph_bbox_pixels, &glyph_bbox);
  369. --- mozilla/gfx/src/x11shared/nsFontFreeType.h.orig Tue Apr 22 10:25:13 2003
  370. +++ mozilla/gfx/src/x11shared/nsFontFreeType.h Mon Apr 25 00:38:53 2005
  371. @@ -109,8 +109,9 @@
  372. protected:
  373. XImage *GetXImage(PRUint32 width, PRUint32 height);
  374. nsITrueTypeFontCatalogEntry *mFaceID;
  375. - PRUint16 mPixelSize;
  376. - FTC_Image_Desc mImageDesc;
  377. + PRUint16 mPixelSize;
  378. + FTC_ImageTypeRec mImageTypeRec;
  379. + FTC_ScalerRec mScalerRec;
  380. nsCOMPtr<nsIFreeType2> mFt2;
  381. };
  382. --- mozilla/layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp.orig Thu Mar 18 19:36:16 2004
  383. +++ mozilla/layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp Mon Apr 25 00:21:42 2005
  384. @@ -440,19 +440,21 @@
  385. return;
  386. }
  387. - FTC_Image_Desc imageDesc;
  388. - imageDesc.font.face_id=(void*)font_data.font_entry.get(); // XXX do we need to addref?
  389. + FTC_ScalerRec scalerRec;
  390. + scalerRec.face_id = (FTC_FaceID)(void*)font_data.font_entry.get(); // XXX do we need to addref?
  391. float twipstopixel = GetTwipsToPixels();
  392. float scale = GetPixelScale();
  393. - imageDesc.font.pix_width = (int)((float)(font_data.font.size)*twipstopixel/scale);
  394. - imageDesc.font.pix_height = (int)((float)(font_data.font.size)*twipstopixel/scale);
  395. - imageDesc.image_type |= ftc_image_grays;
  396. + scalerRec.width = (int)((float)(font_data.font.size)*twipstopixel/scale);
  397. + scalerRec.height = (int)((float)(font_data.font.size)*twipstopixel/scale);
  398. + scalerRec.pixel = PR_TRUE;
  399. // get the face
  400. nsresult rv;
  401. FTC_Manager mgr;
  402. + FT_Size size;
  403. nsSVGLibartFreetype::ft2->GetFTCacheManager(&mgr);
  404. - rv = nsSVGLibartFreetype::ft2->ManagerLookupSize(mgr, &imageDesc.font, &mFace, nsnull);
  405. + rv = nsSVGLibartFreetype::ft2->ManagerLookupSize(mgr, &scalerRec, &size);
  406. + mFace = (rv==0) ? size->face : nsnull;
  407. NS_ASSERTION(mFace, "failed to get face/size");
  408. }