在我的首选项对话框中,我有一个Gtk.FontButton供用户选择字体,稍后我从get_font_name()字符串创建一个新的Pango.FontDesciption。问题是从未设置字体的大小。
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的documentation表示“SIZE是一个十进制数字(以磅为单位的大小),或者可选地后跟单位修饰符”px“表示绝对大小。”这似乎表明Sans 12
中的大小格式错误。但FontButton的documentation说“如果你想用字体渲染一些东西,请使用带有from_string的字符串”。
我在这里缺少什么?
答案 0 :(得分:0)
Pango.FontDescription.from_string()
是一种静态方法;它返回一个新的Pango.FontDescription
。它不会更改font
,因此它仍然具有默认值,默认大小似乎为0.(为什么它是静态方法而不是构造函数超出我的范围。)