Есть ли способ заставить отображение переменных ACS из ncurses в терминале?
В urxvt и текстовом режиме все отображается хорошо, но на других терминалах (я тестировал на xfce4-терминал, xterm, gnome-терминал) всегда есть проблема. Я думал, что ничего не могу с этим поделать, но я увидел, что в alsamixer все отображается правильно. Я зациклился на этом в коде alsamixer и увидел, что они используют точно такой же метод для отображения этих символов, например
addch(ACS_RARROW);
дает им этот результат пока та же команда дает мне этот на том же терминале.
На терминале, где ваша локаль говорит использовать UTF-8 (вы можете увидеть это по соглашению об именах значений, показанных locale
команда), вы должны сделать это:
инициализировать локаль до initscr
например,
setlocale (LC_ALL, «»);
Увидеть инициализация раздел руководства ncurses, а также Линия Графика раздел addch
страница справочника.
Других решений пока нет …