PangoFontDescription 获取 PangoFont
时间: 2024-03-02 17:51:28 浏览: 20
您可以使用 `pango_font_map_load_font()` 函数来获取 PangoFont。下面是一个示例代码:
```
PangoFontMap *fontmap;
PangoFontDescription *desc;
PangoFont *font;
fontmap = pango_cairo_font_map_get_default ();
desc = pango_font_description_from_string ("Serif Bold 12");
font = pango_font_map_load_font (fontmap, desc);
```
在这个示例中,我们首先获取默认的 Cairo 字体映射(`pango_cairo_font_map_get_default()`),然后使用一个字体描述符(`pango_font_description_from_string()`)创建一个 Pango 字体描述符对象。最后,我们使用字体映射和字体描述符来加载一个 Pango 字体(`pango_font_map_load_font()`)。
请注意,此示例仅用于演示目的。在实际使用中,您需要检查函数返回的错误代码,并在使用完字体后释放所有对象。
相关问题
pango_font_description_set_size
`pango_font_description_set_size` 是一个函数,用于设置 Pango 字体描述的大小。Pango 是一个用于处理文字布局和渲染的库,常用于 GTK+ 程序开发。
该函数的原型如下:
```c
void pango_font_description_set_size(PangoFontDescription *desc, int size);
```
参数 `desc` 是一个指向 Pango 字体描述结构体的指针,用于指定要设置的字体描述对象。参数 `size` 是要设置的字体大小,单位为 Pango 单位,通常是以点(pt)为单位。
示例用法:
```c
#include <pango/pango.h>
PangoFontDescription *font_desc = pango_font_description_from_string("Sans 12");
pango_font_description_set_size(font_desc, 14);
```
上述示例将创建一个 Pango 字体描述对象 `font_desc`,并将其初始大小设置为 12 点(pt),然后使用 `pango_font_description_set_size` 将其大小更改为 14 点(pt)。
注意:以上示例只展示了 `pango_font_description_set_size` 的用法,实际使用时可能需要结合其他 Pango 函数完成字体描述的创建、修改和应用等操作。
gtk_widget_override_font ()
`gtk_widget_override_font()` 是 GTK+ 库中的一个函数,用于覆盖小部件(widget)的字体设置。通过调用这个函数,可以为特定的小部件设置自定义的字体。
函数的原型如下:
```c
void gtk_widget_override_font(GtkWidget *widget, PangoFontDescription *font_desc);
```
其中,`widget` 是要设置字体的小部件对象指针,`font_desc` 是要应用的新字体描述对象指针。
通过调用 `gtk_widget_override_font()` 函数,可以覆盖小部件的默认字体设置,以满足特定的显示需求。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)