Как сделать так, чтобы переменные ACS отображались на терминале

Есть ли способ заставить отображение переменных ACS из ncurses в терминале?
В urxvt и текстовом режиме все отображается хорошо, но на других терминалах (я тестировал на xfce4-терминал, xterm, gnome-терминал) всегда есть проблема. Я думал, что ничего не могу с этим поделать, но я увидел, что в alsamixer все отображается правильно. Я зациклился на этом в коде alsamixer и увидел, что они используют точно такой же метод для отображения этих символов, например

addch(ACS_RARROW);

дает им этот результат пока та же команда дает мне этот на том же терминале.

0

Решение

На терминале, где ваша локаль говорит использовать UTF-8 (вы можете увидеть это по соглашению об именах значений, показанных locale команда), вы должны сделать это:

  • скомпилировать / связать с ncursesw
  • инициализировать локаль до initscrнапример,

    setlocale (LC_ALL, «»);

Увидеть инициализация раздел руководства ncurses, а также Линия Графика раздел addch страница справочника.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]