HPDFShapeHeadlessTextOrderedSpan Function

Kształtuje wybrany span stylu względem kompletnej fizycznej linii, używając poziomów osadzania, skryptów i pozycji wizualnych wyprowadzonych z akapitu

function HPDFShapeHeadlessTextOrderedSpan(const Context: UnicodeString;
  FirstUnit, UnitCount: Integer; const Order: THPDFHeadlessTextOrder;
  const FontBytes: SysUtils.TBytes; MaximumGlyphs: Integer;
  CancellationToken: THPDFCancellationToken;
  CharacterAdvance: Double = 0; WordAdvance: Double = 0): THPDFHeadlessShapedGlyphs;

Order musi pokrywać każdą jednostkę UTF-16 kompletnej fizycznej linii Context; uzyskaj go z HPDFResolveHeadlessTextLineOrder albo HPDFReorderHeadlessTextLine

FirstUnit i UnitCount wybierają kompletne skalary w fizycznej linii; rzeczywisty bufor HarfBuzz otrzymuje otaczający tekst linii, podczas gdy kierunek i skrypt pochodzą z rozpoznanego porządku akapitu

Zwrócone offsety źródłowe glifów są względne wobec wybranego spanu stylu; identyfikatory glifów, przyrosty i offsety używają rzeczywistego osadzonego fontu i skali 1000 jednostek na em

Funkcja waliduje pasujące tablice, unikalne wizualne rangi skalarów, poziomy osadzania, spójność surrogate, skończone odstępy, limity glifów i anulowanie; wadliwy porządek nie robi cichego fallbacku do izolowanego wykrywania kierunku

Odstępy znaków są stosowane raz na ukształtowany klaster, poza klastrem zawierającym wyłącznie kontrolki kierunkowe Unicode; odstęp słów dotyczy klastra spacji, a wywołujący zachowują swój oryginalny tekst logiczny i styl oddzielnie od wizualnej kolejności glifów