Проблемы с рендерингом шрифтов с использованием Pango + Cairo + Fontconfig с использованием Visual Studio, под GCC работает нормально
-
19-09-2019 - |
Вопрос
У меня большая проблема, и я надеюсь, что вы сможете мне помочь.
Я портирую игру с Linux на Windows, и использование MinGW работает нормально (за исключением некоторых сбоев, которые я не знаю как, но это теперь не моя проблема)
Для рендеринга текста игра использует Fontconfig (2.4.2-3), Cairo (1.8.8) и Pango (1.26.0).
Проблема в том, что при использовании Visual Studio я не вижу шрифты (все символы отображаются в виде маленьких рамок), а на выходе мне говорят следующее:
** (performous.exe:4344): CRITICAL **: No modules found:
No builtin or dynamically loaded modules were found.
PangoFc will not work correctly.
This probably means there was an error in the creation of:
'D:\Project\PerformousInstall-vc\etc\pango\pango.modules'
You should create this file by running:
pango-querymodules > 'D:\Project\PerformousInstall-vc\etc\pango\pango.modules'
** (performous.exe:4344): WARNING **: couldn't load font "Bitstream Charter Not-Rotated 18px", falling back to "Sans Not-Rotated 18px", expect ugly output.
** (performous.exe:4344): WARNING **: couldn't load font "Sans Not-Rotated 18px", falling back to "Sans Not-Rotated 18px", expect ugly output.
** (performous.exe:4344): WARNING **: All font fallbacks failed!!!!
** (performous.exe:4344): WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderWin32', script='latin'
** (performous.exe:4344): WARNING **: All font fallbacks failed!!!!
Эта ошибка возникает только тогда, когда я использую Visual Studio, но поскольку она исправляет множество других ошибок, мне будет очень интересно, чтобы шрифты работали под VS.
Извините, если что-то забыл или ничего не опубликовал, но понятия не имею, что публиковать.
У кого-нибудь есть подсказки?
Заранее спасибо за помощь, если что-то не понятно, спрашивайте.
Решение
Вам нужно установить шрифты, которые использует Pango, на те, которые действительно существуют на компьютере с Windows, ни Bitstream, ни Sans не существуют, и это то, что вам говорит Pango (по умолчанию — Sans).Попробуйте установить Segoe UI, и вы должны увидеть текст.