我正在尝试将OTF字体加载到sflock
中。 sflock
使用XLoadQueryFont()
加载字体,但是由于某种原因,我尝试加载的字体不起作用。
我编写了一个小型测试程序,该程序仅尝试加载字体然后退出。程序如下所示。它可以成功为我的机器上的任何TTF字体(到目前为止我尝试过)加载字体,但是我尝试过的OTF根本不起作用。 OTF字体由XListFonts()
显示,因此X可以找到它们,但无法加载它们。有没有办法将OTF字体加载到X11中,还是必须使用pango或类似工具?
#include <X11/Xlib.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
if (argc != 2) {
fprintf(stderr,"Missing argument.\n");
return 1;
}
Display *dsp = XOpenDisplay(0);
XFontStruct *font = XLoadQueryFont(dsp, argv[1]);
if (font == NULL) {
printf("font not found.\n");
} else {
printf("font found.\n");
XFreeFont(dsp, font);
}
XCloseDisplay(dsp);
return 0;
}