我有一个简单的应用程序,可以打印文本并确定其大小(以像素为单位)。
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/