0

在我的首选项对话框中,我有一个 Gtk.FontButton 供用户选择字体,稍后我从 get_font_name () 字符串创建一个新的 Pango.FontDescription。问题是从未设置字体的大小。

var font = new Pango.FontDescription ();
var font_name = Window.SETTINGS.get_string ("room-font");
font.from_string (font_name);
stdout.puts (@"Font: $font_name, Size: $(font.get_size())");

这打印Font: Sans 12, Size: 0

from_string的文档说“SIZE 是一个十进制数(大小以磅为单位)或可选地后跟单位修饰符“px”表示绝对大小。” 这似乎表明 in 的大小Sans 12格式错误。但是 FontButton 的文档说“如果你想用字体渲染某些东西,请将此字符串与 from_string 一起使用”。

我在这里想念什么?

4

1 回答 1

0

Pango.FontDescription.from_string()是静态方法;它返回一个新的Pango.FontDescription. 它没有改变font,因此仍然具有默认值,并且默认大小似乎为 0。(为什么它是静态方法而不是构造函数超出了我的理解。)

于 2015-03-27T01:37:04.177 回答