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