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 при диагностике

См. также

DrawOpenTypeText, GetOpenTypeTextWidth