Для вывода текста на экран нужен набор заготовок рисунков всех используемых символов. Обычно эти заготовки хранятся в специальных таблицах символов. Структура стандартных таблиц не зависит от режима, в котором они будут использоваться. При описании текстовых видеорежимов (см. раздел ) нас не интересовала структура таблиц, поскольку изображения символов рисовал видеоконтроллер. В данном случае нам необходимо знать способ хранения данных в таблицах символов, для того чтобы составить подпрограмму, выполняющую функции знакогенератора.
Структура стандартных таблиц. В стандартных таблицах ширина символа составляет восемь точек, т. е. код одной строки (линии) рисунка символа занимает один байт. В зависимости от высоты символа (количества строк в знакоместе) заготовка полного рисунка занимает 8, 14 или 16 байтов, расположенных последовательно друг за другом. Полная таблица содержит 256 заготовок символов и занимает в оперативной памяти пространство 256x8=2048, 256x14=3584 или 256x16=4096 байтов.
Заготовка строки кодируется следующим образом. Старший бит (разряд) байта соответствует крайней левой позиции в строке, а младший бит -крайней правой позиции. Если текущая позиция содержит одну из точек рисунка символа, то соответствующий ей бит установлен (содержит 1), в противном случае он очищен (содержит 0).
На Рисунок 5.1 схематически изображено расположение русской буквы Б в стандартном прямоугольнике (знакоместе) размером 8x16 точек. Первый столбец рисунка содержит коды байтов каждой строки. В остальных восьми столбцах расположен рисунок буквы Б.
Если клетка содержит точку изображения символа, то в ней записана буква Х, пустые клетки соответствуют фону, окружающему изображение символа.
00 | ||||||||
00 | ||||||||
FE | X | X | X | X | X | X | X | |
62 | X | X | X | |||||
62 | X | X | X | |||||
60 | X | X | ||||||
7С | X | X | X | X | X | |||
66 | X | X | X | X | ||||
66 | X | X | X | X | ||||
66 | X | X | X | X | ||||
66 | X | X | X | X | ||||
FC | X | X | X | X | X | X | ||
00 | ||||||||
00 | ||||||||
00 | ||||||||
00 |
Рисунок 5.1. Буква Б из таблицы символов размером 8x16