- wxCairoFontData* font_data = (wxCairoFontData*) m_font.GetRefData();
- pango_layout_set_font_description( layout, font_data->GetFont());
- pango_layout_set_text(layout, data, datalen);
-
- PangoAttrList* attrs = NULL;
- if (font_data->GetUnderlined())
- {
- attrs = pango_attr_list_new();
- PangoAttribute *attr = pango_attr_underline_new(PANGO_UNDERLINE_SINGLE);
- pango_attr_list_insert(attrs, attr);
- }
- if (font_data->GetStrikethrough())
- {
- if (attrs == NULL)
- attrs = pango_attr_list_new();
- PangoAttribute* attr = pango_attr_strikethrough_new(true);
- pango_attr_list_insert(attrs, attr);
- }
- if (attrs)
- {
- pango_layout_set_attributes(layout, attrs);
- pango_attr_list_unref(attrs);
- }
+ const wxFont& font = static_cast<wxCairoFontData*>(m_font.GetRefData())->GetFont();
+ pango_layout_set_font_description(layout, font.GetNativeFontInfo()->description);
+ pango_layout_set_text(layout, data, data.length());
+ font.GTKSetPangoAttrs(layout);