DrawOpenTypeText

Текст, шрифты, шейпинг OpenType

Описание

Формует и рисует Unicode-текст по шрифтовой программе в памяти, связанной с существующим дескриптором шрифта

Синтаксис

Delphi

Function TPDFlib.DrawOpenTypeText(XPos, YPos: Double; FontID: Integer; Size: Double; Const Text: WideString; Options: Integer): Integer;

Параметры

XPos, YPosНачало текста в единицах страницы
FontIDДескриптор шрифта TrueType или OpenType, у которого доступна исходная программа шрифта
SizeРазмер текста в пунктах
TextФормуемый и рисуемый Unicode-текст
OptionsБит 0 выбирает направление справа налево; бит 1 принудительно включает ограниченный Pascal-вариант вместо нативного движка OpenType

Возвращаемые значения

Возвращает 1, когда сформированный текст принят, и 0 при некорректном шрифте, пустом тексте, неположительном размере, отсутствующей программе шрифта или сбое шейпинга

Примечания

Переносимый нативный движок выполняет формование письменностей OpenType, подстановки GSUB, позиционирование GPOS и визуальный порядок глифов прямо из байтов шрифта, не требуя установленного системного начертания

Ограниченный резерв на Pascal поддерживает отображение cmap, арабскую связность, стандартные подстановки GSUB и распространенные варианты GPOS single, pair, cursive и mark attachment, когда нативный модуль недоступен

Вывод использует повторно применяемый сопутствующий шрифт Identity-H, строит подмножество внедренной программы по замыканию глифов, сохраняет необходимые таблицы вариативных и цветных шрифтов и записывает исходные кластеры в ToUnicode для извлечения

Разверните PDFlibOpenType32.dll или PDFlibOpenType64.dll рядом с исполняемым файлом в Windows; в Linux используйте libPDFlibOpenType.so, в macOS — libPDFlibOpenType.dylib

PDFLIB_OPENTYPE_ENGINE может указывать явный путь к нативному модулю

См. также

GetOpenTypeTextWidth, GetOpenTypeGlyphRun, DrawShapedText