我有一个简单的应用程序,可以打印文本并确定其大小(以像素为单位)。

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();
}


但是我想使用自己的字体。如何从文件加载自己的字体并在Mono的Pango中使用它?

最佳答案

简短的答案是:Pango不能使用已卸载的字体。 :(

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

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

关于fonts - 如何在Pango和Mono中从文件设置字体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16668056/

10-10 15:18