Ярлыки wxHaskell не могут отображать полный текст - PullRequest
2 голосов
/ 30 мая 2011

Я тестирую wxHaskell в Windows XP, используя «Hello World» здесь: http://www.haskell.org/haskellwiki/WxHaskell/Quick_start

Но когда он запускается на моей машине, весь текст не отображается.Например, «Выход» будет просто отображать «Q».

Любые идеи?

1 Ответ

2 голосов
/ 30 мая 2011

Вы должны убедиться, что для wxWidgets, использованных для сборки wxhaskell, включена поддержка Unicode. Я думаю, что вы можете проверить, запустив wx-config --libs --unicode.

Что я думаю, так это то, что wxWidgets ожидает простые 8-битные символы, но получает широкие 32-битные. Нули интерпретируются как нулевые символы, то есть разделители строк. Включение поддержки Unicode дает вам wxWidgets, который принимает широкие символы. Я не совсем уверен, что эта версия истории достаточно точна, но я знаю, что Unicode wxWidgets решает проблему.

Я полагаю, что в большинстве дистрибутивов Linux пакет wxWidgets уже поддерживает Unicode.

В MacOS X в комплекте wxWidgets есть поддержка Unicode, но, к сожалению, отсутствуют некоторые необходимые функции, связанные с обработкой событий. Самый простой способ получить работающий wxWidgets - через Homebrew (обновление brew; brew install wxmac).

Я никогда не пробовал wxhaskell в Windows, но другие пробовали.

...