30 Глава 1

h00301.jpg

Рас. 1.4. Пример преобразования символа шрифта 8х16 в шрифт 8х19

Как показывает практика, программа обеспечивает вполне приемлемое качество генерируемого шрифта 8х19.

Подпрограммы модуля F_GrText, имитирующие средства модуля CRT, имеют одинаковый с ними интерфейс. Важным отличием является то, что используемая в них координатная сетка текстового вывода определяется загруженным шрифтом. В связи с этим процедуры проверяют факт за— грузки шрифта и игнорируют вызов в том случае, если шрифт не загружен. Для загрузки шрифта программа пользователя должна разместить в памяти поточечные образы символов и вызвать процедуру регистрации шрифта SetFont. После выполнения этой процедуры координаты текстового ввода/вывода могут изменяться в диапазоне от 1 до MaxChar для горизонтальной оси и от 1 до MaxLine — для вертикальной. Параметры MaxChar и MaxLine определяются следующим образом:

MaxChar = (GetMaxX+1) div X MaxLine = (GetMaxY+1) div Y

где X — ширина, У — высота поточечных образов символов. Например, для VGA—адаптера при загрузке шрифта 8х8 параметр MaxLine получит значение 60, а для шрифта 8х19 — 25; в обоих случаях параметр MaxChar имеет значение 80. Это означает, что в первом случае программа работает с текстовым экраном 80х60 символов, а во втором — 80х25 символов. Левый верхний угол экрана имеет координаты (1,1).

С графическим экраном отождествляется текстовый курсор подобно тому, как такой курсор определяет место вывода данных в текстовом