Nadomestne pisave in navpično besedilo

HotPDF lahko izbere nadomestne pisave po skripti Unicode, poroča o kodnih točkah, ki ostanejo nerešene, in zapiše besedilo CJK prek pravega navpičnega načina pisanja CID

Verige nadomestnih pisav na ravni dokumenta

THotPDF.SetFontFallbackChain shrani urejen seznam pisav za eno kategorijo THPDFFontScript

THPDFPage.TextOutWithFallback razreši vsako skalarno vrednost Unicode glede na izbrano pisavo, njeno verigo skript in skupno verigo, nato izpiše sosednje skalarne vrednosti z isto pisavo kot eno besedilno zaporedje

Izvedljive diagnostike

AnalyzeUnresolvedGlyphs izvede revizijo pokritosti samo za branje, TextOutWithFallback pa med izhodom beleži nerešene skalarne vrednosti

Vsak THPDFUnresolvedGlyphInfo vsebuje skalarno kodno točko, primarno pisavo, razvrščeno skripto in s podpičji ločen seznam predlogov nadomestnih pisav

GetUnresolvedGlyphs vrne trenutno poročilo dokumenta, ClearUnresolvedGlyphs pa začne novo interval poročanja

Različici THotPDF.ResolveFontForCodePoint in THotPDF.AnalyzeUnresolvedGlyphs z izrecnim slogom sprejmeta TFontStyles, tako da lahko predhodni pregled vpogleda v isto pisavo, ki se uporabi za izpis; njuni izvirni različici še naprej pregledujeta navadne pisave

Besedilna polja, vgrajeno besedilo SVG in videzi naloženega besedila ohranijo pisave s slogom skozi postavitev z nadomestnimi pisavami, namesto da bi imena notranjih pisav PDF obravnavali kot sistemske družine ali vsako zaporedje preklopili na navadno pisavo

Navpično pisanje CJK

THPDFPage.TextOutVertical izbere navpično različico trenutne pisave in izpiše eno besedilno zaporedje Identity-V namesto ročnega pozicioniranja vsakega znaka

Primer

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;

Povezani API-ji