Поддерживает ли gnome-терминал кодовые страницы DOS?

В моей C-программе мне пришлось поменять символы рисования ящиков Юникода на экранированные символы для кодовой страницы DOS 437, чтобы она работала в командной строке Windows. Можно ли изменить кодовую страницу gnome-терминала для правильного отображения этих символов при нативной компиляции программы для linux?

Благодарю.

2 ответа

Решение

С https://nethackwiki.com/wiki/IBMgraphics

В текущем gnome-терминале нет настройки для кодовой страницы 437, но он поддерживает другие кодовые страницы, эквивалентные для целей NetHack, например 862 (иврит).

Чтобы установить кодовую страницу 862 на терминале gnome:

  • Выберите Терминал-> Установить кодировку символов-> Добавить или удалить.
  • На панели слева выберите строку с описанием иврит и кодировкой IBM862.
  • Нажмите стрелку вправо между двумя панелями.
  • Нажмите Закрыть.

Вышеуказанные шаги необходимо выполнить только один раз за время установки Gnome. После этого достаточно:

  • Выберите Терминал, Установить кодировку символов, а затем иврит (IBM862).

Следует отметить, что текущий шрифт gnome-Terminal по умолчанию в Ubuntu Jaunty полностью поддерживает DECgraphics, пока в качестве значения восемь_bit_tty установлено значение false.

Если вам нужны эти символы, вы должны использовать их правильные значения кодовой точки Unicode и вывести их как UTF-8. Или, если вы предпочитаете, вы можете вывести их в виде широких символов и позволить системе локали стандартной библиотеки позаботиться о преобразовании их в UTF-8 или другую "нативную" кодировку, выбранную пользователем (которая может быть даже CP437, хотя я никогда не видел систему настройки, которая плохо...).

Другие вопросы по тегам