Utf 8 Pango选择多个字体

Utf 8 Pango选择多个字体,utf-8,fonts,pango,Utf 8,Fonts,Pango,我有三种字体想在我的pango软件中使用: Font1:拉丁、水晶字符 Font2:韩文字符 Font3:日语字符 Pango正确渲染文本,但我想选择一种字体 有没有办法表明这种偏好pango字体 我使用:linux和pango 1.29最简单的方法是使用PangoMarkup来设置所需的字体: // See documentation for Pango markup for details char *pszMarkup = "<span face=\"{font family

我有三种字体想在我的pango软件中使用:

  • Font1:拉丁、水晶字符
  • Font2:韩文字符
  • Font3:日语字符
Pango正确渲染文本,但我想选择一种字体

有没有办法表明这种偏好pango字体


我使用:linux和pango 1.29

最简单的方法是使用PangoMarkup来设置所需的字体:

//  See documentation for Pango markup for details

char *pszMarkup = "<span face=\"{font family name goes here}\">"
                  "{text requiring font goes here}"
                  "</span>";  //  Split for clarity
char            *pszText;   // Pointer for text without markup tags
PangoAttrList   *pAttr;     // Attribute list - will be populated with tag info

pango_parse_markup (pszMarkup, -1, 0, &attr_list, &pszText, NULL, NULL);
就这样。使用pango_cairo_show_布局(cr,播放)显示结果。设置仅在内容更改时需要更改-它保持绘制信号的值

//  pWidget is the windowed widget in which the text is displayed:

PangoContext *pCtxt = gtk_widget_get_pango_context (pWidget);
PangoLayout  *pLayout = pango_layout_new (pCtxt);

pango_layout_set_attributes(pLayout, pAttr);
pango_layout_set_text (pLayout, pszText, -1);