Pango-WARNING **:无法加载字体无法加载字体 "Times Not-Rotated 18",退回到 "Sans Not-Rotated 10px",预计输出会很丑
Pango-WARNING **: couldn't load font ouldn't load font "Times Not-Rotated 18", falling back to "Sans Not-Rotated 10px", expect ugly output
我正在尝试 运行 package/software “KUPDAP(京都大学等离子体扩散分析包)”,可以从 http://space.rish.kyoto-u.ac.jp/software/ 下载(下载可执行文件(Windows)).这是一个winrar文件。解压后,可以看到名为“kupdap”的文件。如果我点击那个,一个 window 会像这样出现:
如果稍等片刻或点击关闭,则windows变为:
在此 GUI 中,我可以提供我的数据。但问题是在后台看到的 - 在命令提示符中,出现错误消息“(kupdap.exe:12988)Pango-WARNING **:无法加载字体无法加载字体“Times Not-旋转 18”,回落到“Sans Not-Rotated 10px”,期待丑陋的输出”。因此,该程序不是 运行ning。
老实说,我从来没有听说过pango。我猜测它与系统中的字体有关。我还附上了我系统中字体(不是全部)的屏幕截图:
我已经阅读了此处列出的一些文章:https://github.com/lovell/sharp/issues/1162,但这些事情让我头疼。
谁能帮我找出问题所在以及如何解决? BTB,我用的是Windows10.
提前致谢。
问题是 kupdap
使用的是硬编码为 Times
的默认字体。下面的代码片段是从 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找到它;
hex-edit kupdap.exe
二进制文件,并将唯一出现的文本 Times
替换为已安装的另一种字体的 5 个字母名称,例如Arial
.
我正在尝试 运行 package/software “KUPDAP(京都大学等离子体扩散分析包)”,可以从 http://space.rish.kyoto-u.ac.jp/software/ 下载(下载可执行文件(Windows)).这是一个winrar文件。解压后,可以看到名为“kupdap”的文件。如果我点击那个,一个 window 会像这样出现:
如果稍等片刻或点击关闭,则windows变为:
在此 GUI 中,我可以提供我的数据。但问题是在后台看到的 - 在命令提示符中,出现错误消息“(kupdap.exe:12988)Pango-WARNING **:无法加载字体无法加载字体“Times Not-旋转 18”,回落到“Sans Not-Rotated 10px”,期待丑陋的输出”。因此,该程序不是 运行ning。 老实说,我从来没有听说过pango。我猜测它与系统中的字体有关。我还附上了我系统中字体(不是全部)的屏幕截图:
我已经阅读了此处列出的一些文章:https://github.com/lovell/sharp/issues/1162,但这些事情让我头疼。
谁能帮我找出问题所在以及如何解决? BTB,我用的是Windows10.
提前致谢。
问题是 kupdap
使用的是硬编码为 Times
的默认字体。下面的代码片段是从 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找到它;hex-edit
kupdap.exe
二进制文件,并将唯一出现的文本Times
替换为已安装的另一种字体的 5 个字母名称,例如Arial
.