Проблемы рендеринга шрифтов с использованием Pango + Cairo + Fontconfig с использованием Visual Studio, под GCC работает нормально - PullRequest
2 голосов
/ 08 января 2010

У меня большая проблема, и я надеюсь, что вы мне поможете.

Я портирую игру с 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.

Извините, если я что-то забыл или ничего не опубликовал, но понятия не имею, что опубликовать.

У кого-то есть подсказки?

Заранее спасибо за помощь, если я не проясняюсь, не стесняйтесь спрашивать.

1 Ответ

2 голосов
/ 08 января 2010

Вам нужно установить шрифты, которые использует Pango, на то, что действительно существует на компьютере с Windows, ни Bitstream, ни Sans не существуют, и это то, что Pango говорит вам (по умолчанию это Sans). Попробуйте установить его в Segoe UI, и вы должны увидеть текст

...