开源改变世界

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659

推推 grbl 3年前 (2023-01-29) 114次浏览
关闭
michaelweiner 打开了这个问题 2019 年 11 月 10 日 · 36条评论
关闭

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确#659

michaelweiner 打开了这个问题 2019 年 11 月 10 日 · 36条评论

注释

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659

AXIS坐标字体坏了

在下述情况下,坐标字体无法正常显示。
我不能 100% 确定这是 LinuxCNC 错误,还是我安装的字体或使用的库中的错误。但是,AXIS 是我遇到这种行为的唯一地方,这就是我在这里报告它的原因。

以下是我重现该问题所遵循的步骤:

  1. (我假设已经安装了LinuxCNC环境)
  2. pacman -S xorg-fonts-type1
  3. linuxcnc,然后选择任何使用 AXIS 的 ini 文件

这是我期望发生的事情:

我想以适当的字体查看坐标。

这是发生了什么:

当字体不支持某些 Unicode 字符时,我看到通常会出现的字符。 令人惊讶的是,DRO 选项卡中的字体始终正常显示。
安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659

在此之前它工作正常:

当没有安装 Arch 包 xorg-fonts-type1 时,显示再次正确,也带有 Courier-like 字体。我发现另一个可行的解决方法是在https://github.com/LinuxCNC/linuxcnc/blob/2.7/src/emc/usr_intf/
的源代码中将字体从“courier”更改为例如“FreeMono” axis/scripts/axis.py,在函数中get_coordinate_font()

def get_coordinate_font(large):
    global coordinate_font
    global coordinate_linespace
    global coordinate_charwidth
    global fontbase

    if large:
        coordinate_font = "FreeMono bold 20"
    else:
        coordinate_font = "FreeMono bold 11"
    (...)

有关我的硬件和软件的信息:

我的系统:

$ lsb_release -a
LSB Version:	1.4
Distributor ID:	Arch
Description:	Arch Linux
Release:	rolling
Codename:	n/a
$ uname -a
Linux erde 5.3.8-arch1-1 #1 SMP PREEMPT @1572357769 x86_64 GNU/Linux

LinuxCNC:来自 AUR ( https://aur.archlinux.org/packages/linuxcnc-sim/ ),版本 2.7.14-2

导致问题的字体包xorg-fonts-type1-7.7-3:( https://www.archlinux.org/packages/extra/any/xorg-fonts-type1/ )

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

我对更改 DRO 字体有帮助这一事实感到有点困惑,因为我认为图形预览屏幕使用名为“Hershey”的伪字体呈现该 DRO。
https://github.com/LinuxCNC/linuxcnc/blob/0f91c553a238c3f5e8a52285044761c2dcfd7de5/lib/python/hershey.py
但也许这仅用于图形预览中轴上绘制的数字?

您有多需要 xorg-fonts-type-1 ?

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659

据我了解,DRO 选项卡的字体设置在redraw_dro()(也在axis.py)中,而get_coordinate_font()用于预览选项卡中的坐标显示。

更改此功能 – 或删除 xorg-fonts-type-1 – 对我有用 – 但不幸的是我不知道“Hershey”字体。

我不太需要 xorgs-fonts-type-1,所以对我来说,关闭这个问题完全没问题。我打开这张票一方面是因为我不确定这个错误是否应该归因于 AXIS,另一方面是为了记录我解决问题的解决方法。

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

我可以重现该问题并在 Ubuntu 20.04 上修复,但无法找到导致此问题的任何软件包。

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

这就是问题所在:https
://gitlab.gnome.org/GNOME/pango/issues/386 所以我们需要换一种不同的字体,并找到一种适用于所有系统的字体。
@andypughHershey 仅用于 3D 渲染,而不是 dro。

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659

与相同的概率@michaelweiner在这里描述。
有没有我可以使用的工作?

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659 rene-dev 自行分配了这个 2020 年 12 月 27 日
安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

@EisbaerLars第一篇文章的解决方法有效。我将使用此修复更新 2.8。

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659

@rene-dev有点困惑现在该怎么做——要将字体从“courier”更改为,例如,如上所述的“FreeMono”,我必须更改 2.8 源代码中的 axis.py 文件并重新构建它?

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

如果你现在想要修复,是的。如果您不想构建表单源,则必须等待新版本。

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659

谢谢 – 在 usr/bin/ 中找到了 axis 文件
并且它具有在 – 中的功能 – 我猜我没有帮助在那里更改它?

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

是的,这也可以作为一种解决方法

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659

Thx – 刚刚编辑了文件,明天会测试

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
艾斯贝尔拉斯 评论了 2020 年 12 月 28 日  

更改 usr/bin/axis 文件中的字体有效 – 2.8.1 中预览屏幕中的数字又回来了 ;-)

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

你使用哪个操作系统?

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
艾斯贝尔拉斯 评论了 2020 年 12 月 28 日  

带有 4.9.0-13-rt 内核的 Mint 20.4
在 LCNC 2.9 中没有显示问题

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

刚刚在论坛上又出现了。
在某些方面这似乎是一个简单的修复。很难知道一种字体会出现在每个可能的 Linux 版本上吗?

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659

为什么要困难?只需使用上面命名的字体:FreeMono

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

为什么要困难?只需使用上面命名的字体:FreeMono

你能以 100% 的信心向我们保证 FreeMono 出现在所有官方支持的平台上(顺便说一句,不包括 Arch)
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?MinimumSoftwareVersions

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659

不,我不能,但如果 FreeMono 不可用,只需尝试另一种字体 – 修复需要 10 秒才能应用
对于 LCNC 中的通用解决方案/字体)我想它必须用你链接中的 7 个版本进行测试 – 我不是开发人员 – 但是 – 假设这对于开发这种高度复杂的软件的人来说应该不是一个困难的操作?

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

我们有一个构建机器人,可以在每个支持的平台上对每个软件更改进行编译和运行测试。(这加起来有 20 多种操作系统和实时系统的组合:http: //buildbot.linuxcnc.org/buildbot/buildslaves
但是,很难发现 GUI 问题,因为测试在一组无头虚拟机上运行并出错如果尝试加载像 Axis 这样的 openGL GUI。
我并不是说这是不可能的,只是说进行更改并说“它在这里运行良好”更加困难,
我可以找到一台备用 PC 并安装 Ubuntu Precise和 LinuxCNC,然后测试更改。但这需要几个小时,并且所有这些都是为似乎只存在于 Arch Linux 中的问题找到可能的修复程序。

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659

我并不是说这是不可能的,只是说进行更改并说“这里运行良好”更加困难

同意

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

这不是一个主要问题,mint 20 和 ubuntu 20 有同样的问题。

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

检查系统上是否存在字体是否简单?也许是对运行测试套件的一个非常简单的添加,用于检查最初是否存在 FreeMono。虽然理想情况下它会检查所有明确使用的字体。
这将是进行所需检查的一种相当简单的方法。

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

一种快速检查方法:
fc-list | grep -i freemono.ttf

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

fc列表 | grep -i freemono.ttf

在股票 LinuxCNC Debian 图像上似乎失败。
这似乎表明这不是一个很好的解决方案

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

进一步的测试表明,即使我使用不存在的字体名称(“NotAFont”),Axis 在 Debian 上也能正常工作。

在我看来,这是一个 Arch 错误。

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

这就是问题所在:https ://gitlab.gnome.org/GNOME/pango/issues/386

不,就像我说的,我在 ubuntu 20.04 上也遇到了这个问题,请参阅上面的引述以了解发生这种情况的原因。

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

好的。但看起来 FreeMono 可能不是正确的选择。
虽然,“Helvetica”在很多地方都被称为“Helvetica”,但我也没有在 fc-list 中看到它。

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

https://packages.ubuntu.com/search?keywords=pango

https://packages.debian.org/search?keywords=pango

这是 ubuntu 20.04、20.10 和 buster 之后的所有 debian 版本的问题。我们只需要找到一种可用的字体即可。我们还可以依赖特定的字体包。这只出现在 arch 上,因为 arch 发布新版本的速度要快得多。

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
75元 评论了 2021 年 2 月 13 日  

“monospace”应该是指向某些已安装的等宽字体的合理别名。

~$ fc-match monospace
B612Mono-Regular.ttf: "B612 Mono" "Regular"
安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

“monospace”适用于 Debian 10。实际上选择了比 Courier 更好的字体。

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者

如果没有异议,我会将所有出现的地方更改为等宽。我认为这应该只放在 master 中。

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659

我对 gmoccapy 中的字体有同样的问题(Axis 正确显示数字)。你对如何解决这个问题有什么建议吗?

安装字体包 xorg-fonts-type1 时,AXIS 显示坐标字体不正确 #659
合作者
再生开发 评论了 2021 年 10 月 1 日  

@archidea00如果您在 gmoccapy 中仍然遇到问题,请打开一个新问题以提供更多详细信息。从那以后,许多事情都发生了变化。