3

I have simple application that prints text and determines its size in pixels.

static void Main(string[] args)
{
    Application.Init();

    var screen = Screen.Default;
    var layout = new Pango.Layout(PangoHelper.ContextGetForScreen(screen));

    layout.FontDescription = new FontDescription();
    layout.FontDescription.Family = "Times New Roman";
    layout.FontDescription.Size = Units.FromPixels(18);

    layout.SetText("My Text");

    int width;
    int height;

    layout.GetPixelSize(out width, out height);

    Console.WriteLine("{0} - width:{1} height:{2}", layout.Text, width, height);
    Console.ReadLine();
}

But I want to use my own font. How I can load my own font from file and use it in Pango in Mono?

4

1 回答 1

1

简短的回答是:您不能在 Pango 中使用已卸载的字体。:(

更长的答案是:如果您使用的是 fontconfig 后端(PangoFc;例如在 Linux 上),您可以。在这种情况下,您需要在使用 Pango 之前对 fontconfig 进行几次调用,以使字体可用于 fontconfig。但是,我认为 Fontconfig 没有 Mono 绑定。

所以,恐怕你在这里不走运。

于 2013-06-23T03:49:35.120 回答