From c95f125f3296d75789685fe1ababe48abe161973 Mon Sep 17 00:00:00 2001 From: Comment Date: Wed, 13 Nov 2013 21:54:42 +0000 Subject: looking at fontconfig --- rotord/src/nodes_drawing.h | 3 ++- working/make_test_fontconfig | 1 + working/test_fontconfig.cpp | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 working/make_test_fontconfig create mode 100644 working/test_fontconfig.cpp diff --git a/rotord/src/nodes_drawing.h b/rotord/src/nodes_drawing.h index a3af7c9..d5f3578 100644 --- a/rotord/src/nodes_drawing.h +++ b/rotord/src/nodes_drawing.h @@ -3,6 +3,7 @@ #include "rotor.h" #include +//#include namespace Rotor { class Draw_node: public Image_node { @@ -68,7 +69,7 @@ namespace Rotor { else text=attributes["text"]->value; cairo_text_extents_t te; cairo_set_source_rgb(cr, colour.Rfloat(),colour.Gfloat(),colour.Bfloat()); - cairo_select_font_face (cr, "Georgia", + cairo_select_font_face (cr, "DejaVu", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD); cairo_set_font_size (cr, 120); cairo_text_extents(cr, text.c_str(), &te); diff --git a/working/make_test_fontconfig b/working/make_test_fontconfig new file mode 100644 index 0000000..04ecab2 --- /dev/null +++ b/working/make_test_fontconfig @@ -0,0 +1 @@ +g++ test_fontconfig.cpp -o test_fontconfig -I /usr/include/fontconfig/ -lfontconfig diff --git a/working/test_fontconfig.cpp b/working/test_fontconfig.cpp new file mode 100644 index 0000000..a6a6411 --- /dev/null +++ b/working/test_fontconfig.cpp @@ -0,0 +1,35 @@ +#include +#include +#include +#include + +int main() { + FcBool success = FcInit (); + if ( !success ) { + return false; + } + + FcConfig *config = FcInitLoadConfigAndFonts (); + if(!config) { + return false; + } + + FcChar8 *s, *file; + + FcPattern *p = FcPatternCreate(); + FcObjectSet *os = FcObjectSetBuild (FC_FAMILY,NULL); + FcFontSet *fs = FcFontList(config, p, os); + + printf("Total fonts: %d\n", fs->nfont); + for (int i=0; fs && i < fs->nfont; i++) { + FcPattern *font = fs->fonts[i]; + + s = FcNameUnparse(font); + printf("Font: %s\n", s); + free(s); + + if (FcPatternGetString(font, FC_FILE, 0, &file) == FcResultMatch) { + printf("Filename: %s\n", file); + } + } +} \ No newline at end of file -- cgit v1.2.3