Поддерживает ли 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, хотя я никогда не видел систему настройки, которая плохо...).