В программы, работающие с пакетом libcur (расширение до пакета libcurses AT&T) необходимо внести следующие изменения:
Основной набор символов псевдографики: wcolorout(win, Bxa); cbox(win); wcolorend(win); или wcolorout(win, Bxa); drawbox(win, y, x, высота, ширина); wcolorend(win); Дополнительный набор символов псевдографики: wcolorout(win, Bya) cboxalt(win); wcolorend(win); или wcolorout(win, Bya); drawbox(win, y, x, высота, ширина); wcolorend(win);
Bxa и Bya соответствуют атрибутам primary и alternate, определенным в базе данных terminfo.
В файл cur01.h добавлены следующие макроопределения:
cboxalt(win) drawboxalt(win, y,x, height, width)
Программы, выполняющие ввод многобайтовых символов, должны выглядеть следующим образом:
Процедура ввода: Пример: int c, count; char buf[]; extended(FALSE); /* считывается по одному байту */ count =0; while (1) { c = wgetch(); /* чтение байтов по одному */ buf[count++] = c; if(count <=MB_CUR_MAX) if(mblen(buf, count) != -1) break; /* символ найден * / else /* Ошибка. Символ не найден */ /* Обработка этой ситуации */ break; } /* В буфере содержится последовательность многобайтовых символов для ввода */ /* Обработка функциональных клавиш и любых escape-последовательностей */
Глава 16, Поддержка национальных языков.
Функции addch, waddch, addstr, waddstr, mvaddstr, mvwaddstr, delch, wdelch, mvdelch, mvwdelch, inch, insch, winsch, mvinsch, mvwinsch, winch, mvinch, mvwinch, wcwidth и wgetch.