HPDFShapeHeadlessText

function HPDFShapeHeadlessText(const Text: UnicodeString;
  const FontBytes: SysUtils.TBytes; MaximumGlyphs: Integer;
  CancellationToken: THPDFCancellationToken;
  MaximumLineAdvance: Double = 0; CharacterAdvance: Double = 0;
  WordAdvance: Double = 0): THPDFHeadlessShapedGlyphs;

Używa dostarczonego przez wywołującego fontu OpenType przez HarfBuzz i rozpoznaje wizualne runy Unicode przez FriBidi, zachowując klastry i pozycjonowanie w współrzędnych fontu 1000 jednostek

Akapity CR/LF są kształtowane niezależnie; dodatni MaximumLineAdvance żąda logicznego zawijania klastrów przed finalnym przebiegiem shapingu

Automatyczne fizyczne linie dziedziczą kierunkowe osadzania, nadpisania, isolates i parowane nawiasy kompletnego oryginalnego akapitu; każda linia ma własny reset białych znaków, wizualne przestawienie i kontekst łączenia HarfBuzz

Porządek akapitu jest rozpoznawany raz i ponownie używany bez mutacji między fizycznymi liniami; rzeczywisty separator CR/LF zaczyna nowy akapit i resetuje stan kontrolek

Gdy automatyczne zawijanie zmienia tekst, SourceOffset pozostaje względny wobec znormalizowanej zawiniętej sekwencji logicznej, łącznie z wstawionymi złamaniami linii U+000A i istniejącym usunięciem przerywającej spacji; UnicodeText glifu, wartości pól i ActualText PDF zachowują ustalone kontrakty logiczne

CharacterAdvance i WordAdvance to opcjonalne skończone przyrosty w tych samych współrzędnych 1000 jednostek fontu; przyrost znaków stosuje się raz na ukształtowany klaster, łącznie z finalnym, poza klastrami zawierającymi wyłącznie kontrolki kierunkowe Unicode, a przyrost słów dotyczy klastra U+0020; oba są wliczane do logicznego zawijania i zwróconych przyrostów glifów

Wejściowe i generowane glify, łącznie z wstawionymi rekordami złamań linii, są ograniczone tym samym łącznym MaximumGlyphs; wadliwe surrogate i brakujące wymagane glify zawodzą, a anulowanie jest sprawdzane między akapitami, runami, cache'owanym rozpoznawaniem linii i checkpointami zawijania

Linux używa libharfbuzz.so.0 i libfribidi.so.0; Windows wymaga bibliotek o pasującej architekturze, z jawnymi ścieżkami opcjonalnie dostarczanymi przez HOTPDF_HARFBUZZ_LIBRARY i HOTPDF_FRIBIDI_LIBRARY

Dla uprawnień fontów PDF, obiektów CID, ToUnicode, linków wyglądów i wyjścia przyrostowego użyj HPDFBuildHeadlessTextAppearance albo metody wyglądów dokumentu

Windows native complex text opisuje pasujące architektury procesów i ścieżki wyszukiwania zależności runtime

Użyj HPDFShapeHeadlessTextSpan, aby ukształtować wybrany element stylu z otaczającym kontekstem akapitu, i HPDFResolveHeadlessTextOrder, aby przejrzeć rzeczywiste wizualne pozycje Unicode