Hi!
First of all: Thank you for your great work! GNU/Linux would be unusable
without your excellent library (but you probably know that :-) ).
Could someone please explain how I can use the ImageCache to obtain
glyphs in a bitmap format to avoid rerendering the vector glyph on each
cache lookup? I still need to be able to transform the copy after
retrieving it from the cache and it would be very convenient if I could
use freetype for this transformation (as I do below).
The application (navit) uses mostly glyphs from one font in one size,
but with various transformations applied.
Cheers,
Florian
Here is the current code (which is quite slow as it seems to rerender
the vector glyph on each cache lookup):
FT_Face face = NULL;
FT_Glyph glyph = NULL;
FTC_Node anode = NULL;
FTC_Manager_LookupFace( font->manager, (FT_Pointer)font, &face);
glyph_index = FTC_CMapCache_Lookup( font->charmap_cache,
(FT_Pointer)font, font->charmap_index, g_utf8_get_char(p));
FTC_ImageCache_LookupScaler( font->image_cache, &font->scaler,
FT_LOAD_DEFAULT, glyph_index, &glyph, &anode);
FT_Glyph temp_glyph = NULL;
FT_BitmapGlyph glyph_bitmap = NULL;
if(FT_Glyph_Copy(glyph, &temp_glyph)) {
fprintf(stderr, "Error copying glyph\n");
FTC_Node_Unref(anode, font->manager);
continue;
}
FT_Glyph_Transform(temp_glyph, &matrix, &pen);
if(!FT_Glyph_To_Bitmap(&temp_glyph, ft_render_mode_normal, NULL, TRUE))
{
glyph_bitmap = (FT_BitmapGlyph)temp_glyph;
/* COPY GLYPH TO BITMAP */
FT_Done_Glyph(temp_glyph);
}
--
DI Florian Hackenberger
[EMAIL PROTECTED]
www.hackenberger.at
_______________________________________________
Freetype mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/freetype