bool Font::create(const string &name, unsigned size, Font::Style style) { font->font = pango_font_description_new(); pango_font_description_set_family(font->font, name); pango_font_description_set_size(font->font, size * PANGO_SCALE); pango_font_description_set_style(font->font, (style & Style::Italic) == Style::Italic ? PANGO_STYLE_OBLIQUE : PANGO_STYLE_NORMAL); pango_font_description_set_weight(font->font, (style & Style::Bold) == Style::Bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL); return true; } Font::Font() { font = new Font::Data; font->font = 0; } Font::~Font() { if(font->font) pango_font_description_free(font->font); delete font; }