HPDFShapeHeadlessText
function HPDFShapeHeadlessText(const Text: UnicodeString;
const FontBytes: SysUtils.TBytes; MaximumGlyphs: Integer;
CancellationToken: THPDFCancellationToken;
MaximumLineAdvance: Double = 0; CharacterAdvance: Double = 0;
WordAdvance: Double = 0): THPDFHeadlessShapedGlyphs;
Používá OpenType písmo dodané volajícím přes HarfBuzz a rozřešuje Unicode vizuální runy přes FriBidi, se zachováním clusterů a pozicováním ve fontových souřadnicích o 1000 unit
Odstavce CR/LF se shapeují nezávisle; kladný MaximumLineAdvance vyžaduje logické zalomení clusterů dřív před finálním shaping průchodem
Automatické fyzické řádky dědí směrové embeddingy, override, izoláty i párové závorky původního kompletního odstavce; každý řádek má vlastní reset bílých znaků, vizuální přeřazení i joining kontext HarfBuzz
Pořadí odstavce se rozřeší jednou a znovu používá bez mutace napříč fyzickými řádky; skutečný oddělovač CR/LF zahájí nový odstavec a resetuje řídicí stav
Když automatické zalomení text změní, SourceOffset zůstává relativní k normalizované zalomené logické sekvenci, tedy i k vloženým koncům řádků U+000A a ke stávajícímu odstranění break space; glyfové UnicodeText, hodnoty polí i PDF ActualText si ponechávají své zavedené logické kontrakty
CharacterAdvance a WordAdvance jsou volitelné konečné advancy ve stejných fontových souřadnicích o 1000 unit; character advance se aplikuje jednou na shaped cluster, tedy i na poslední cluster, vyjma clusterů obsahujících jen Unicode směrové řídicí znaky, a word advance se aplikuje na cluster U+0020, přičemž oba se započítávají do logického zalomení i vrácených glyfových advanců
Vstupní i generované glyfy, tedy i vložené záznamy konců řádků, ohraničuje tentýž celkový MaximumGlyphs; poškozené surrogáty i chybějící vyžadované glyfy selžou a zrušení se kontroluje mezi odstavci, runy, cacheovaným rozřešením řádků i zalomeními checkpointů
Linux používá libharfbuzz.so.0 a libfribidi.so.0; Windows vyžaduje knihovny odpovídající architektury, s explicitními cestami volitelně dodanými přes HOTPDF_HARFBUZZ_LIBRARY a HOTPDF_FRIBIDI_LIBRARY
Pro PDF oprávnění písem, CID objekty, ToUnicode, odkazy appearance i inkrementální výstup použijte HPDFBuildHeadlessTextAppearance či dokumentovou metodu appearance
Windows nativní složitý text popisuje odpovídající architektury procesů i vyhledávací cesty runtime závislostí
K shapeování vybraného style itemu s kontextem odstavce použijte HPDFShapeHeadlessTextSpan a ke kontrole skutečných Unicode vizuálních pozic HPDFResolveHeadlessTextOrder