URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5830
[ Назад ]

Исходное сообщение
"псевдографика в linux"

Отправлено shpi0 , 19-Окт-06 14:49 
Здравствуйте!
У меня вот что. В универе стоят системы с KOI8-R, в них вот такой функцией выводятся символы псевдографики без проблем:
int printACSchar (char *ch)
{

  write (OUTPUT_STREAM, "\x0E", 1);

  write (OUTPUT_STREAM, ch, 1);

  write (OUTPUT_STREAM, "\x0F", 1);
  return (0);
}

У меня дома UTF-8 системка, и данная функция не хочет выводить псевдографику таким образом. Я вот таким образом
(none):~ # infocmp -1L linux
#       Reconstructed via infocmp from file: /usr/share/terminfo/l/linux
linux|linux console,
......
        enter_alt_charset_mode=\E[11m,
......
        exit_alt_charset_mode=\E[10m,
......
определил, как у меня инициализаруется псевдографика. Функцию поправил
int printACSchar (char *ch)
{

  write (OUTPUT_STREAM, "\033[11m", 5);

  write (OUTPUT_STREAM, ch, 1);
  
  write (OUTPUT_STREAM, "\033[10m", 5);

  return (0);
}

но не помогло...
Подскажите, чего не так?
Как мне все-таки сделать вывод всяких квадратиков и т.п.?
На той системе где все работает функция с входным параметром "a" выдает крестик на экран, а у меня просто букву a.

Содержание

Сообщения в этом обсуждении
"псевдографика в linux"
Отправлено DeadMustdie , 20-Окт-06 09:53 
man ncurses

или, если хочется ручками, см. исходники того же ncurses.


"псевдографика в linux"
Отправлено pup , 20-Окт-06 15:39 
или попробуй разобрать на части showconsolefont