c - 为什么 XLoadQueryFont 不能识别名称 8x13

标签 c xorg

我调用函数 XLoadQueryFont(port->dpy, "8x13"),但它返回 NULL。我很确定我以前有过这个工作。如果我输入 locate 8x13,结果之一是

/usr/share/fonts/misc/8x13.pcf.gz

我不知道函数不喜欢什么,想知道如何追踪问题。

更新:

使用“固定”生成可执行的应用。

根据tofo的评论:

我必须在 Arch 上安装 xlsfonts 二进制文件才能获得 xlsfonts。它列出了 adobe、lucida、bitstream 和 misc 字体。 xlsfonts | grep 杂项 返回

-misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-1 
-misc-fixed-medium-r-semicondensed--13-100-100-100-c-60-iso8‌​859-1 
-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso885‌​9-1

最佳答案

很可能您已经删除或损坏了/etc/X11 中的 fonts.alias 文件(或类似位置,取决于您的发行版,可以是字体路径中的任何位置)。

“8x13”通常不是名称,而是在此文件中定义的别名。

为确保您的服务器可以使用此字体名称,请检查您的 fonts.alias 文件是否至少包含以下行(注意您的实际字体名称可能会有所不同)

8x13     -Misc-Fixed-Medium-R-SemiExpanded--13-120-75-75-C-80-ISO8859-1
8x13bold -Misc-Fixed-Bold-R-SemiExpanded--13-120-75-75-C-80-ISO8859-1

如果这些别名不存在或未解析为有效字体,则不能使用“8x13”名称。可以根据需要定义更多的别名。

关于c - 为什么 XLoadQueryFont 不能识别名称 8x13,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42230578/

相关文章:

c - glibc的结构?

c - hiredis 异步连接密码

linux - 远程 X session 很慢 [centos5]

c - GCC 内联汇编 : "g" constraint and parameter size

c - tcp 或 udp,另一个比较

c - 在c中传递数组元素指针

c - X11模态对话框

linux - xmodmap KeyPress事件到ButtonPress事件

xlib - 如何找到在 linux 中放置特定窗口的监视器的 dpi?