пешном завершении регистрации функция возвращает положительное число — идентификационный номер шрифта, который используется в качестве одного из параметров обращения к процедуре 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 {Ошибка регистрации/