HPDFShapeHeadlessTextStyledSpan

function HPDFShapeHeadlessTextStyledSpan(const Context: UnicodeString;
  FirstUnit, UnitCount: Integer; const Order: THPDFHeadlessTextOrder;
  const FontBytes: SysUtils.TBytes; MaximumGlyphs: Integer;
  CancellationToken: THPDFCancellationToken;
  CharacterAdvance, WordAdvance: Double;
  CSSLetterSpacing, CSSWordSpacing: Boolean): THPDFHeadlessShapedGlyphs;

Объявлена в HPDFHeadlessShaping; функция шейпит UTF-16-спан, используя его полное окружение и ранее разрешённый визуальный порядок, с предоставленными runtime HarfBuzz и FriBidi и байтами шрифта

FirstUnit — смещение в UTF-16 с нуля, UnitCount выбирает запрошенный спан; вызывающим нужно передать совместимые данные порядка и положительный бюджет MaximumGlyphs

CharacterAdvance и WordAdvance используют нормализованные сдвиги в 1000 шрифтовых единиц, а не PDF-пункты; преобразуйте интервалы в пунктах как points * 1000 / fontSize перед вызовом

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

CSSLetterSpacing включает tracking по типографским единицам и обработку необязательных лигатур; CSSWordSpacing включает полуинтервалы вокруг кластеров SPACE и NBSP, включая разделяющие знаки, следуя ограниченному профилю интервалов

Возвращаемые сдвиги и смещения глифов включают запрошенные интервалы; SpacingAdvance записывает их вклад, а TypographicUnit, CursiveUnit и WordSeparator дают метаданные границ для компоновщика физических rich-строк

Отмена проверяется во время классификации и шейпинга, сбои бюджета глифов или некорректного входа используют существующий контракт исключений шейпинга; эта функция не публикует PDF и не владеет байтами шрифта или токеном вызывающего

Существующие точки входа шейпинга сохраняют прежнюю семантику; пересоберите Pascal- и C++Builder-потребителей с совпадающей публичной записью глифов и сгенерированными заголовками