Font-fallback en verticale tekst

HotPDF kan fallback-fonts kiezen per Unicode-script, onopgeloste codepoints rapporteren en CJK-tekst schrijven via een echte verticale CID-schrijfmodus

Fallbackketens op documentniveau

THotPDF.SetFontFallbackChain bewaart een geordende fontlijst voor één THPDFFontScript-categorie

THPDFPage.TextOutWithFallback lost elke Unicode-scalar op tegen het gekozen font, zijn scriptketen en de gemeenschappelijke keten, en geeft aangrenzende scalars met hetzelfde font als één tekstreeks uit

Actionable diagnostics

AnalyzeUnresolvedGlyphs voert een alleen-lezen dekkingsaudit uit, terwijl TextOutWithFallback tijdens de uitvoer onopgeloste scalars vastlegt

Elke THPDFUnresolvedGlyphInfo bevat het scalar-codepoint, het primaire font, het geclassificeerde script en een op puntkomma gescheiden lijst met fallbacksuggesties

GetUnresolvedGlyphs geeft het huidige documentrapport terug en ClearUnresolvedGlyphs start een nieuw rapportage-interval

De overloads met expliciete stijl van THotPDF.ResolveFontForCodePoint en THotPDF.AnalyzeUnresolvedGlyphs accepteren TFontStyles, zodat preflight hetzelfde font kan inspecteren als bij de uitvoer; hun oorspronkelijke overloads blijven gewone fonts inspecteren

Tekstvakken, ingebedde SVG-tekst en geladen tekstappearances behouden gestileerde fontfamilies door de fallback-layout heen, in plaats van interne PDF-fontnamen als systeemfamilies te behandelen of elke reeks naar een gewoon font om te zetten

Verticaal CJK-schrijven

THPDFPage.TextOutVertical kiest de verticale variant van het huidige font en geeft één Identity-V-tekstreeks uit in plaats van elk teken handmatig te positioneren

Voorbeeld

PDF.SetFontFallbackChain(hfsCJK, ['Microsoft YaHei UI', 'Yu Gothic UI', 'Malgun Gothic']); PDF.SetFontFallbackChain(hfsEmoji, ['Segoe UI Emoji']); PDF.CurrentPage.SetFont('Arial', [], 12); PDF.CurrentPage.TextOutWithFallback(72, 72, 0, Text); PDF.CurrentPage.SetFont('Yu Gothic UI', [], 14); PDF.CurrentPage.TextOutVertical(420, 72, VerticalText); Missing := PDF.GetUnresolvedGlyphs;

Gerelateerde API's