我想使用Pango渲染文本,但是找不到不使用Cairo的示例代码。有人可以给我一个使用FreeType后端的Pango使用的简单示例吗?我认为这应该可以大致起作用,但是正如您在代码中所看到的那样,有些事情我还不了解。
// context and font stuff
PangoFontMap *fontmap = pango_ft2_font_map_new();
// do I have to initialize the fontmap?
PangoContext *context = pango_font_map_create_context(fontmap);
PangoFontDescription *desc = pango_font_description_new();
pango_font_description_set_style(desc, PANGO_STYLE_NORMAL); // not bold or italic
pango_font_description_set_size(desc, 12); // 12pt font
PangoFont *font = pango_context_load_font(context, desc);
// target bitmap
FT_Bitmap bitmap;
// how do I say how big the bitmap should be? write it into the struct?
FT_Bitmap_New(&bitmap);
// text
char *text = "Hello World";
PangoAttrList *attrs = pango_attr_list_new();
GList *items = pango_itemize(context, text, 0, strlen(text), attrs, NULL);
// do I have to initialize this?
PangoGlyphString *glyphs = pango_glyph_string_new();
pango_shape(text, strlen(text),
/* PangoAnalysis here – where do I get that? */, glyphs);
pango_ft2_render(&bitmap, font, PangoGlyphString *glyphs,
0, 0/*or does this have to be height-1?*/);
最佳答案
我将看一下pango-view的源代码,pango-view包含在pango-view中以演示其功能。它可以在所有pango模式下渲染
pango text-rendering
关于c - 使用Pango使用FreeType字体将文本呈现为图像的简单示例是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18384069/