【问题标题】:Pango-WARNING **: couldn't load font ouldn't load font "Times Not-Rotated 18", falling back to "Sans Not-Rotated 10px", expect ugly outputPango-WARNING **:无法加载字体 无法加载字体“Times Not-Rotated 18”,回退到“Sans Not-Rotated 10px”,期待丑陋的输出
【发布时间】:2020-12-22 01:37:47
【问题描述】:

我正在尝试在包/软件“KUPDAP(京都大学等离子体分散分析包)”上运行,该包/软件可以从http://space.rish.kyoto-u.ac.jp/software/(下载可执行文件(Windows))下载。这是一个winrar文件。解压后可以看到名为“kupdap”的文件。如果我点击那个,会出现一个像这样的窗口:

如果您等待一段时间或单击关闭,则窗口变为:

在这个 GUI 中,我可以提供我的数据。但问题是在后台看到的 - 在命令提示符中,出现错误消息“ (kupdap.exe:12988) Pango-WARNING **: could't load font ouldn't load font "Times Not-Rotated 18 ”,回退到“Sans Not-Rotated 10px”,期待丑陋的输出”。由于这个程序没有运行。 老实说,我从来没有听说过pango。我猜它与系统中的字体有关。我还在我的系统中附上了字体(不是全部)的屏幕截图:

我已经浏览了这里列出的一些文章:https://github.com/lovell/sharp/issues/1162,但这些事情让我无法理解。

谁能帮我找出问题所在以及如何解决? BTB,我使用的是 Windows 10。

提前致谢。

【问题讨论】:

    标签: windows pango


    【解决方案1】:

    问题在于kupdap 使用的是硬编码为Times 的默认字体。下面的sn -p是从kupdap_source\visual\main1.c中的main函数开头复制过来的:

    int main(int argc, char *argv[]){
      GtkWidget *window, *vbox;
      PangoFontDescription *p;
      
      p = pango_font_description_from_string("Times 18"); // <--- this is what triggers error
      gtk_init(&argc, &argv);
    
      // create credit
      GtkWidget *credit;
      credit =  gtk_about_dialog_new();
    

    但是,默认的 Windows 安装没有名为 Times 的字体,这就是导致 Pango-WARNING 的原因。有一个股票 Times New Roman 字体,但是 pango 似乎在做一个精确的字符串匹配,并忽略它。

    可能的解决方法:

    • 将源代码中的"Times 18"更改为"Times New Roman 18"(或其他有效字体名称)并重建程序;

    • 在Windows中安装一个名为Times的字体,以便pango找到它;

    • 十六进制编辑 kupdap.exe 二进制文件并将文本 Times 的唯一出现替换为已安装的另一种字体的 5 个字母名称,例如Arial.

    【讨论】:

    • 亲爱的@dxiv,非常感谢您抽出时间来调查此事。我不知道所有这些。我猜你使用的是“kupdap_source”而不是“kupdap_binary_windows”。无论如何,我所做的就是在notepad++中打开“kupdap”应用程序文件,看到有“Times 18”,然后更改为“Arial 18”(我不确定这是否是个好主意)。然后没有任何警告。我还尝试了另一种方法:如您提到的那样安装字体。无论哪种方式,警告消息都没有出现...... 1/2
    • 但是,我面临另一个问题,即当我单击物种中的下拉菜单添加另一个时,窗口突然消失了。对此有什么想法吗?谢谢你2/2
    • @sreerajt 你的十六进制编辑应该没问题,只要.exe 的大小保持不变。我通过窥探源代码找到了"Times 18" tidbit,但我没有从源代码构建,因为这需要其他几个依赖项。除此之外,我真的不知道该程序的作用或应该如何使用它,因此对于碰巧熟悉它的其他人来说,这将是一个问题。
    猜你喜欢
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 2012-10-27
    • 2018-09-27
    • 2020-12-31
    • 2013-09-10
    • 1970-01-01
    相关资源
    最近更新 更多