Я пытаюсь запустить пакет/программное обеспечение «KUPDAP (Пакет анализа плазменной дисперсии Киотского университета)», которое можно загрузить с сайта http://space.rish.kyoto-u.ac.jp/software/ (Скачать исполняемый файл файл (Windows)). Это файл винрара. После извлечения можно увидеть файл с именем «kupdap». Если я нажму на него, появится такое окно:
Если вы подождете некоторое время или нажмете закрыть, то окна изменятся на:
В этом графическом интерфейсе я могу передать свои данные. Но проблема в том, что видно на заднем плане — в командной строке появляется сообщение об ошибке «(kupdap.exe: 12988) Pango-ПРЕДУПРЕЖДЕНИЕ **: не удалось загрузить шрифт не удалось загрузить шрифт «Times Not-Rotated 18 ", возвращаясь к "Sans Not-Rotated 10px", ожидайте уродливого вывода". Из-за этого программа не работает. Честно говоря, я никогда не слышал о панго. Я предполагаю, что это как-то связано со шрифтами в системе. Я также прилагаю скриншот шрифтов (не всех) в моей системе:
Я просмотрел некоторые статьи, перечисленные здесь: https://github.com/lovell/sharp/issues/1162, но эти вещи выходят за рамки моей головы.
Может ли кто-нибудь помочь мне, что не так и как это исправить? BTB, я использую Windows 10.
Заранее спасибо.
Проблема в том, что kupdap
использует шрифт по умолчанию, жестко запрограммированный на Times
. Фрагмент ниже скопирован из начала функции main
в kupdap_source\visual\main1.c
:
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"
(или другое допустимое имя шрифта) в исходном коде и пересоберите программу;
установить шрифт с именем Times
в Windows, чтобы pango его нашел;
отредактируйте двоичный файл kupdap.exe
в шестнадцатеричном формате и замените уникальное вхождение текста Times
на 5-буквенное имя другого установленного шрифта, например. Arial
.
Однако я столкнулся с другой проблемой: когда я щелкаю раскрывающееся меню в видах, чтобы добавить еще один, окна внезапно исчезают. Есть мысли по этому поводу? Спасибо 2/2
@sreerajt Ваше шестнадцатеричное редактирование должно быть в порядке, если размер .exe
остался прежним. Я нашел "Times 18"
лакомый кусочек, копаясь в исходном коде, но я не собирал из исходников, так как для этого требуется несколько других зависимостей. Кроме того, я действительно не знаю, что делает эта программа или как ее предполагается использовать, так что это вопрос к тем, кто с ней знаком.
Уважаемый @dxiv! Большое спасибо, что нашли время разобраться в этом вопросе. Всего этого я не знал. Я предполагаю, что вы использовали «kupdap_source», а не «kupdap_binary_windows». В любом случае, я открыл файл приложения «kupdap» в блокноте ++ и увидел, что там «Times 18», а затем изменил его на «Arial 18» (я не уверен, что это хорошая идея). Тогда не было предупреждения. Я также попробовал другой метод: установил шрифты, как вы упомянули. В любом случае предупреждающее сообщение не появилось... 1/2