Автор Тема: C++ или "флудить, так флудить")  (Прочитано 7508 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн nog

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
Re: C++ или "флудить, так флудить")
« Ответ #15 : 27 Август 2012, 22:37:58 »
Сиплюсисты подскажите, как заставить Cataclysm русский текст отображать на Windows? И так его компилировал, и эдак, ничего не отображает.
Глянул исходники. В виндоус версии вывода на экран, строка хранится как char *chars; Так-что никак два байта в один не впихнуть.

Оффлайн nog

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
Re: C++ или "флудить, так флудить")
« Ответ #16 : 28 Август 2012, 14:04:52 »
Можно, конечно извратиться и запихать текст в кодировке 1251 или 866, но, часть символов второй половины байта используется как служебные. В общем, получится такая фигня:

Оффлайн iKlim

  • Старожил
  • ****
  • Сообщений: 388
    • Просмотр профиля
Re: C++ или "флудить, так флудить")
« Ответ #17 : 28 Август 2012, 14:29:16 »
Глянул исходники. В виндоус версии вывода на экран, строка хранится как char *chars; Так-что никак два байта в один не впихнуть.
А переделать тип строки нельзя?

Оффлайн nog

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
Re: C++ или "флудить, так флудить")
« Ответ #18 : 28 Август 2012, 18:10:59 »
Глянул исходники. В виндоус версии вывода на экран, строка хранится как char *chars; Так-что никак два байта в один не впихнуть.
А переделать тип строки нельзя?
Там придется не только тип строки, но и весь вывод переделывать. Лучше просить автора чтобы использовал pdcurses как на версии для мака. Или другой аналог ncurse.

Тут еще неизвестно, может ли вообще терминал виндоус работать в утф, если нет, то ничего не сделать.

Оффлайн insolor

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1047
  • Adequate Reverse Engineer
    • Просмотр профиля
Re: C++ или "флудить, так флудить")
« Ответ #19 : 11 Октябрь 2012, 16:04:19 »
Тут еще неизвестно, может ли вообще терминал виндоус работать в утф, если нет, то ничего не сделать.
Это не консоль, это обычное окно, притворяющееся консолью, как и в DF.
P.S. так что может и можно добавить нормальный вывод русского языка. Скорее всего нужно просто выводить псевдографику (карту) отдельно и текст различными способами, как это делается в DF при включенном ttf (к сожалению не везде(
« Последнее редактирование: 12 Октябрь 2012, 08:35:52 от insolor »