HPDFShapeHeadlessText

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

Använder ett anropartillhandahållet OpenType-typsnitt genom HarfBuzz och löser Unicode visuella sekvenser genom FriBidi, med bevarade kluster och positionering i 1000-enhetstypsnittskoordinater

CR/LF-stycken formas oberoende; ett positivt MaximumLineAdvance begär logisk klusterradbrytning före det slutliga formningspasset

Automatiska fysiska rader ärver det ursprungliga completa styckets riktningsinbäddningar, överskrivningar, isoleringar och parhakparenteser; varje rad har sin egen whitespace-återställning, visuell omordning och HarfBuzz-fogningskontext

Styckeordningen löses en gång och återanvänds utan mutation över fysiska rader; en faktisk CR/LF-separator startar ett nytt stycke och nollställer kontrolltillståndet

När automatisk radbrytning ändrar texten förblir SourceOffset relativ till den normaliserade radbrutna logiska sekvensen, inklusive infogade U+000A-radbrytningar och den befintliga borttagningen av ett brytningsmellanslag; glyfens UnicodeText, fältvärden och PDF ActualText bevarar sina etablerade logiska kontrakt

CharacterAdvance och WordAdvance är valfria ändliga avstånd i samma 1000-enhetstypsnittskoordinater; teckenavstånd tillämpas en gång per formad kluster, inklusive det sista klustret, utom för kluster som enbart innehåller Unicode-riktningskontroller, och ordavstånd gäller ett U+0020-kluster, med båda inkluderade i logisk radbrytning och returnerade glyfavstånd

Indata- och genererade glyfer, inklusive infogade radbrytningsposter, begränsas av samma totala MaximumGlyphs; felformade surrogat och saknade obligatoriska glyfer misslyckas, och avbrott kontrolleras mellan stycken, sekvenser, cachad radupplösning och radbrytningskontrollpunkter

Linux använder libharfbuzz.so.0 och libfribidi.so.0; Windows kräver matchande-arkitektur-bibliotek, med valfria explicita sökvägar via HOTPDF_HARFBUZZ_LIBRARY och HOTPDF_FRIBIDI_LIBRARY

För PDF-typsnittsbehörigheter, CID-objekt, ToUnicode, utseendelänkar och inkrementell utdata, använd HPDFBuildHeadlessTextAppearance eller en dokumentutseendemetod

Windows nativ komplex text beskriver matchande processarkitekturer och körtidsberoende sökvägar

Använd HPDFShapeHeadlessTextSpan för att forma ett valt stilobjekt med omgivande styckekontext, och HPDFResolveHeadlessTextOrder för att inspektera faktiska Unicode-visuella positioner