私はcairoを使用して、cairoサーフェスに単純なテキストをレンダリングします。そのためにFreeTypeフォントを使用します(それが重要な場合はVera.ttf)。動作しますが、出力から文字が消えることがあります。実際には数字だけです。「デモストリーム1..」というテキストを描画しましたが、出力から「1」が消えることがあり、その理由がまったくわかりません。数字は文字列の一部です。また、メモリの破損などはありません。これは、テキストを描画するコードです。
font = cairo_ft_font_face_create_for_ft_face(ftFace, 0);
cr = cairo_create(surface);
/* set the foreground color */
cairo_set_source_rgba(cr, ...);
/* render the text */
cairo_set_antialias(cr, CAIRO_ANTIALIAS_GRAY);
cairo_set_font_face(cr, font);
cairo_set_font_size(cr, size);
cairo_move_to(cr, x, y);
cairo_show_text(cr, text);
cairo_destroy(cr);
cairo_font_face_destroy(font);
ftFaceは、ロードされたFreeTypeフォントフェースです。
また、pangoを使用してテキストをレンダリングしますが、fontcacheを使用できません。したがって、フォントキャッシュのみをサポートし、直接フォントの読み込みをサポートしていないため、フォントをpangoに読み込む方法がわかりません。
どんな入力でも大歓迎です。