GetOpenTypeGlyphRun
Текст, шрифты, диагностика, шейпинг OpenType
Описание
Формует Unicode-текст по существующему дескриптору шрифта и возвращает полученный набор глифов JSON-ом
Синтаксис
Delphi
Function TPDFlib.GetOpenTypeGlyphRun(FontID: Integer; Const Text: WideString; Options: Integer; Out GlyphRunJSON: WideString): Integer;Параметры
| FontID | Дескриптор шрифта TrueType или OpenType, у которого доступна исходная программа шрифта |
|---|---|
| Text | Формуемый Unicode-текст |
| Options | Бит 0 выбирает направление справа налево; бит 1 принудительно включает ограниченный Pascal-вариант |
| GlyphRunJSON | Получает направление, суммарную подачу и визуальный массив глифов |
Возвращаемые значения
Возвращает число глифов при успехе и 0 при некорректном вводе или сбое шейпинга
Схема JSON
{"rtl":true,"advance":1470,"glyphs":[{"id":993,"cluster":3,"advance":338,"offsetX":0,"offsetY":0}]}Примечания
id — ID глифа шрифта; cluster — отсчитываемый от нуля индекс в источнике UTF-16; продвижения и смещения выражены в тысячных emГлифы возвращаются в визуальном порядке и используют те же позиции, которые потребляет
DrawOpenTypeTextБит опций 1 сравнивает нативный результат с ресурсно-ограниченным Pascal-фолбэком GSUB и GPOS при диагностике
Используйте бит опции 1, чтобы сравнить нативный результат с ограниченным по ресурсам резервом GSUB и GPOS на Pascal при диагностике