HPDFShapeHeadlessText

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

Gebruikt een door de aanroeper geleverd OpenType-font via HarfBuzz en lost Unicode-visual runs op via FriBidi, met behoud van clusters en positionering in 1000-unit font-coördinaten

CR/LF-paragrafen worden onafhankelijk geshaped; een positieve MaximumLineAdvance vraagt logische cluster-wrapping vóór de finale shaping-pass

Automatische fysieke regels erven de directional embeddings, overrides, isolates en paired brackets van de originele complete paragraaf; elke regel heeft diens eigen whitespace reset, visuele herordening en HarfBuzz joining context

De paragraph order wordt één keer opgelost en hergebruikt zonder mutatie over fysieke regels heen; een echte CR/LF-separator start een nieuwe paragraaf en reset de control-status

Wanneer automatisch wrapping de tekst verandert, blijft SourceOffset relatief ten opzichte van de genormaliseerde gewrapte logische sequentie, inclusief ingevoegde U+000A line breaks en de bestaande verwijdering van een break space; glyph UnicodeText, veldwaarden en PDF ActualText behouden hun gevestigde logische contracten

CharacterAdvance en WordAdvance zijn optionele eindige advances in dezelfde 1000-unit font-coördinaten; character advance geldt één keer per geshaped cluster, inclusief het laatste cluster, behalve voor clusters die alleen Unicode-directional controls bevatten, en word advance geldt voor een U+0020-cluster; beide zitten in logische wrapping en de teruggegeven glyph-advances

Invoer- en gegenereerde glyphs, inclusief ingevoegde line-break-records, zijn begrensd door dezelfde totale MaximumGlyphs; misvormde surrogaten en ontbrekende vereiste glyphs falen, en annulering wordt gecheckt tussen paragrafen, runs, cached line resolution en wrapping-checkpoints

Linux gebruikt libharfbuzz.so.0 en libfribidi.so.0; Windows vraagt libraries met matchende architectuur, met optionele expliciete paden via HOTPDF_HARFBUZZ_LIBRARY en HOTPDF_FRIBIDI_LIBRARY

Voor PDF font-permissions, CID-objecten, ToUnicode, appearance-links en incrementele uitvoer: gebruik HPDFBuildHeadlessTextAppearance of een document appearance-methode

Windows native complex text beschrijft matchende procesarchitecturen en runtime dependency-zoekpaden

Gebruik HPDFShapeHeadlessTextSpan om een geselecteerd style-item te shapen met omringende paragraafcontext, en HPDFResolveHeadlessTextOrder om echte Unicode-visuele posities te inspecteren