HPDFShapeHeadlessTextSpan
function HPDFShapeHeadlessTextSpan(const Context: UnicodeString;
FirstUnit, UnitCount: Integer; const FontBytes: SysUtils.TBytes;
MaximumGlyphs: Integer; CancellationToken: THPDFCancellationToken;
CharacterAdvance: Double = 0; WordAdvance: Double = 0;
ParagraphDirection: THPDFHeadlessTextDirection = htdAuto): THPDFHeadlessShapedGlyphs;
Shapuje tylko wybrany span UTF-16 rzeczywistym fontem OpenType wywołującego, zachowując kompletny otaczający akapit jako przed- i po-kontekst HarfBuzz
FirstUnit to offset UTF-16 od zera, a UnitCount to długość UTF-16; żadna granica nie może rozcinać pary surrogate, a span zerowej długości nie zwraca glifów
FriBidi rozwiązuje poziomy osadzenia z kompletnego akapitu; HarfBuzz otrzymuje rozwiązany skrypt i shapuje wybrane elementy w każdym wizualnym runie, zachowując formy łączenia arabskiego i lustro interpunkcji
Zwrócone wartości SourceOffset są względne względem wybranego spana, UnicodeText zachowuje każdy rzeczywisty wybrany klaster, a posunięcia i offsety glifów używają współrzędnych fontu 1000 jednostek
CharacterAdvance stosuje się raz na shapowany klaster, poza klastrem zawierającym wyłącznie sterowania kierunkowe Unicode; WordAdvance stosuje się do klastra U+0020, a oba muszą być skończone i używać tych samych współrzędnych co Advance
ParagraphDirection może zachować istniejący akapit od lewej do prawej albo od prawej do lewej przy shapowaniu fizycznej zawijanej linii, której pierwszy silny znak różni się od oryginalnego akapitu
Istniejące budżety wejścia i glifów, kontrole pokrycia fontu, token anulowania i wymagania zależności natywnego runtime również obowiązują dla tej funkcji
Częściowy span zachowuje kontekst łączenia, ale nie pozycjonuje niezależnie inaczej stylowanego znacznika łączenia względem glifu bazowego z innego fontu; użyj pełnego shapowania klastra, gdy jeden font pokrywa kompletny klaster
Zobacz HPDFShapeHeadlessText, HPDFResolveHeadlessTextOrder i Kontekstowe wyglądy rich text