xfig、xming 和字体

xfig、xming 和字体

我正在使用 SecureCRT 通过 SSH 连接到启用了 X11 转发的 Linux 机器。运行时,xfig它会显示 Xming,并且一切正常,只是它在图表中显示的唯一字体是 6x13。更改字体总是会导致使用该字体(但选择会更改)。即使选择字体xfig似乎可以访问(例如它在启动画面中使用的斜体字体,当然字体“名称”本身是用各自的字体书写的)仍然只显示为 6x13。此外,将图表导出为 PDF 最终会正确呈现字体,因此这严格来说是显示问题(可能是 X 服务器/Xming 与 xfig 问题相结合)。

Linux 机器本身可以xfig很好地显示内容。我已经设置了 xming 以使用 Linux 机器作为字体服务器。运行xlsfonts列出了近 9000 种字体,在 Windows 和 Linux X 服务器上完全相同。使用xfontsel确实表明这些字体确实可以在 Windows 或 Linux X 服务器上工作,并且看起来有所不同。

很多人似乎确实遇到了xfig字体问题,但通常伴随着错误消息。在这种情况下,问题并不大——根本没有显示任何消息。运行时xfig -debug我确实得到了一些输出,但没有什么帮助(这是使用不同字体创建的两个文本框——它们最终都加载了 6x13,而没有尝试其他字体):

add_point - alloc 200 points
Loading font 6x13
add depth 50, count=1
Text[50] count=1
New min = 50
New max = 50
Loading font 6x13
add depth 50, count=2
Text[50] count=2

其他可能有用也可能没用的信息:

  • X 客户端 ( xfig) 在 Fedora 20 x64 上运行,已使用无头和带图形的机器进行了测试
  • X 服务器 (xming) 在 Windows 7 Pro x64 或 Windows 8.1 Pro x64 计算机上运行
  • Xfig 是 3.2-5c
  • Xming 是 7.5.0.47 或 6.9.0.31(+字体包、+Windows 字体、+连接到 Fedora 20 机器作为字体服务器)
  • xfig开始于xfig -specialtext -latexfonts -startlatexFont default
  • xming 使用默认快捷方式启动(“C:\Program Files (x86)\Xming\Xming.exe”:0 -resize -clipboard -multiwindow -nolisten inet6)

答案1

问题最终出在字体服务器上。由于默认安全机制不监听 TCP 端口,并且一旦连接,防火墙就会阻止该连接,因此 Xming 无法连接到机器的字体服务器。对 X 客户端上的 xfs 进行必要的更改如下:

  • 注释掉/etc/X11/fs/configno-listen = tcp行并添加port = 7100一行
  • 然后运行:sudo iptables -I INPUT -p tcp --dport 7100 --syn -j ACCEPT更新防火墙
  • 然后重新启动 xfs ( sudo service xfs restart) 和 xming

我仍然不明白为什么xlsfonts并且xfontsel似乎可以工作,但xfig现在可以工作了(并且 Xming 日志不再抱怨tcp/....:7100字体路径失败)。

相关内容