修复 Ubuntu 16.04 中 Inkscape 的字体错误

修复 Ubuntu 16.04 中 Inkscape 的字体错误

看起来 Ubuntu 16.04 附带了损坏且无用的 Inkscape 0.91。

我刚刚在运行 Sierra 版 OSX 的 Mac Air 13" 上的 VirtualBox VM(最新版本)中安装了 Lubuntu Desktop 16.04。我在另一台 VM 中也有一个 Ubuntu Desktop 14.04 的副本。

当我使用随附的 Inkscape 0.91 版本时,我根本无法使用文本控件,因为它会冻结。有没有解决方法来修复该错误或降级到 Ubuntu 14.04 附带的版本?我更喜欢 Ubuntu 14.04 自带的那个。请注意,我已经尝试使用 Inkscape PPA 升级到最新的稳定版本,但也失败了,所以我进行了清除删除,删除了 Inkscape PPA,并安装了 Ubuntu 16.04 版本,同样,在尝试使用字体时它仍然锁定。

以下是如何演示字体错误的方法:

  1. 启动 Inkscape。

  2. 在新建的文档中,点击左侧工具栏上的A,创建一个新的文本框。

  3. 在文档中拖出一个与文本框大小相同的选框。

  4. 输入文本“这是一个测试”,然后选择全选以全部选择。

  5. 单击顶部工具栏中的 T 以打开文本和字体控制面板。

  6. 选择 DejaVu Sans。

  7. 从该控制面板上的字体大小:选择器中将字体大小设置为 48。

它冻结了。实际上,您不知道,但它在第 6 步冻结了,因为如果您切换窗口并在第 6 步之后返回,Inkscape 将被冻结并且不会重新绘制其窗口。

请注意,我也已在 Launchpad 上将此问题报告为以下错误:

https://bugs.launchpad.net/ubuntu/+source/inkscape/+bug/1633935

答案1

编辑:经过进一步测试,这似乎是一个不完整的答案。我发现它只带来了一点点稳定性,而且奇怪的是,它并没有完全解决问题。我可以重现这个问题,但是当我点击字体大小的弹出列表框,从 DejaVu Sans 切换到 FreeSans,然后重试时,FreeSans 的问题得到了解决,然后,奇怪的是,当我回到 DejaVu Sans 时,问题会随机消失或再次出现。这很奇怪!

EDIT2:安装 ruby​​-pango 后,您可以实施一种解决方法。您可以选择字体大小。当它锁定时,只需再次单击字体选项上的滚动条。该字体大小的问题就消失了。如果您再次更改字体大小或更改字体,并且如果再次冻结,只需再次单击字体选项上的滚动条。


问题似乎与Pango 字体驱动程序因为当您执行重现错误的任务时,您会看到以下输出:

(inkscape:6171):Pango-CRITICAL **:pango_font_family_list_faces:断言‘PANGO_IS_FONT_FAMILY(family)’失败

(inkscape:6171):Gtk-CRITICAL **:IA__gtk_tree_view_scroll_to_cell:断言“tree_view->priv->tree != NULL”失败 [线程 0xb080fb40 (LWP 6181) 已退出] bt

(inkscape:6171):Pango-CRITICAL **:pango_font_family_list_faces:断言‘PANGO_IS_FONT_FAMILY(family)’失败

(inkscape:6171):Gtk-CRITICAL **:IA__gtk_tree_view_scroll_to_cell:断言‘tree_view->priv->tree != NULL’失败

(inkscape:6171):Pango-CRITICAL **:pango_font_family_list_faces:断言‘PANGO_IS_FONT_FAMILY(family)’失败

(inkscape:6171):Gtk-CRITICAL **:IA__gtk_tree_view_scroll_to_cell:断言‘tree_view->priv->tree != NULL’失败

修复方法其实很简单:

apt-get install ruby-pango

现在,当您关闭并重新打开 Inkscape 时,该错误就会消失。

相关内容