|
В качестве примера выбрана буква
"А".
Даже при беглом знакомстве с этой диаграммой возникает
ряд интересных вопросов. Нижняяя строка диаграммы отведена
под нижний выносной элемент символа (литеры), такой,
например, как "хвост" прописной буквы "у". Две верхние строки
отведены под заголовок литеры. В качестве литер, имеющих
заголовок, можно привести строчную букву "ь" (имеется в виду
ее вертикальный отрезок, используюший область заголовка), а
также все прописные буквы алфавита (буквы верхнего регистра).
Вопреки "здравому смыслу" буквы размещаются не по центру
матрицы, а смещаются (выравниваются ) по ее левой границе,
так что два столбца справа служат для отделения символов
друг от друга.
При формировании символов в графическом режиме BIOS-ПЗУ
осуществляет поиск рисунка (образа) символа во внутренней
таблице отображения, а затем найденное табличное описание
использует для команд активизации пикселей. На заключительной
стадии устанавливаются соответствующие биты в памяти дисплея
путем пересылки четных и нечетных строк в соответствующие
блоки памяти.
Поскольку в графическом режиме высокого разрешения цвет
не воспроизводится (воспроизводятся только черный и белый
цвета), то рисунок (образ) символа непосредственно управляет
активизацией пикселя. В цветном режиме среднего разрешения
воспроизводятся цвет очертания (рисунок) и фоновый цвет.
Фоновый цвет - это цвет, обозначенный кодом 0; этим кодом
может быть обозначен любой из 16-ти имеющихся цветов. Цвет
очертания устанавливается с помощью кода 3 текущей цветовой
палитры; для палитры 1 это белый цвет, а для палитры 0 -
коричневый/желтый.
Процедуры манипулирования символами BIOS-ПЗУ могут
осуществлять как считывание, так и запись символов. Функция
обслуживания с кодом 8 является именно такой процедурой. В
текстовом режиме никаких проблем при чтении не возникает,
поскольку в памяти дисплея хранится байт с кодом ASCII
требуемого символа. В графическом режиме все обстоит не так
просто, поскольку байт с кодом ASCII в памяти отсутствует.
|