пешном завершении регистрации функция возвращает положительное число — идентификационный номер шрифта, который используется в качестве одного из параметров обращения к процедуре OutString. При обнаружении ненормальных ситуаций функция возвращает отрицательное значение, имеющее следующий смысл:

— 1 — ошибка доступа к файлу (файл нельзя открыть или обнаружена ошибка при чтении из него данных);

—2 — содержимое файла не соответствует формату BGI— шрифта (ошибка в заголовке файла или несоответствие мины файла параметрам шрифта);

—3 — нет памяти для размещения информации о шрифте (для регистрации одного шрифта требуется чуть больше 2 Кбайт динамической памяти).

Функция ReqisterCHRFont. Регистрирует векторный шрифт и возвращает его идентификационный номер для последующего использования в процедуре OutString. Заголовок:

Function RegisterCHRFont(Font: Pointer): Integer;

Здесь Font — адрес участка оперативной памяти, в который ранее был прочитан CHR—File.

Эта функция аналогична функции RegisterCHRFile за исключением того, что перед обращением к ней шрифтовый файл необходимо прочитать в оперативную память ПК. Использование этой функции вместо RegisterCHRFile дает два преимущества. Во-первых, заметно быстрее становится вывод процедурой OutString, так как исключаются обращения к диску для чтения векторных команд. Выигрыш в скорости особенно ощутим, если Вы используете CHR— файлы, расположенные на дискете. Во—вторых, Ваша программа может компилироваться со встроенными шрифтами подобно тому, как это реализовано в модуле Graph. Например, после преобразования файла Trip.Cbr командой

binobj trip.chr trip.obj trip можно использовать такую программу:

Uses Graph, F_GrText;

Procedure Trip; External;

{$L Trip.obj} var

d,r: Integer;

begin

d := Detect;

InitGraph(d,r,'') ;

MoveTo(0,100) ;

if RegisterCHRFont(@Trip)>O then {Шрифт зарегистрирован нормально} OutString('Нормальная регистрация',1,0,1,1) else

begin {Ошибка регистрации/