X11:如何获得我想要的字体?

时间:2015-05-23 00:59:50

标签: fonts x11 xlib

我的程序想要使用以下命令加载等宽字体:

font_info = XLoadQueryFont(dpy,
        "-*-*-medium-r-*-*-12-*-*-*-m-*-iso8859-1");

最终加载的字体是

-apple-monaco-medium-r-normal--12-87-100-100-m-90-iso8859-1

如何让我的本地机器意识到最好的"要使用的字体是

-urw-nimbus mono l-medium-r-normal--12-87-100-100-m-90-iso8859-1

我不想在我的程序中命名特定字体,因为我无法保证我的电脑能够拥有它。我希望我的电脑知道这是最好用的字体。

这可能吗?

1 个答案:

答案 0 :(得分:0)

创建自己的优先级列表,您可以将其作为后备。请先尝试加载 nimbus 字体。

font_info = XLoadQueryFont(dpy,
                           "-*-nimbus*-medium-r-*-*-12-*-*-*-m-*-iso8859-1");
if (!font_info) {
    fprintf(stderr, "XLoadQueryFont: failed to load nimbus font, looking for a fallback font\n");
    font_info = XLoadQueryFont(dpy,
                               "-*-*-medium-r-*-*-12-*-*-*-m-*-iso8859-1");
}
if (!font_info)
    fprintf(stderr, "XLoadQueryFont: failed to load a font\n");