Rezervni fontovi i okomiti tekst

HotPDF može birati rezervna pisma fontova po Unicode skripti, izvještavati o kodnim točkama koje ostaju nerazriješene i pisati CJK tekst kroz pravi vertikalni CID način pisanja

Lanci rezervi na razini dokumenta

THotPDF.SetFontFallbackChain pohranjuje uređanu listu pisma za jednu kategoriju THPDFFontScript

THPDFPage.TextOutWithFallback razrješuje svaki Unicode skalar naspram odabranog pisma, njegovog lanca skripte i zajedničkog lanca, a zatim ispisuje susjedne skalare s istim pismom kao jedan tekstualni niz

Dijagnostika s prijedlogom postupka

AnalyzeUnresolvedGlyphs provodi audit pokrivenosti samo za čitanje, dok TextOutWithFallback bilježi nerazriješene skalare naiđene tijekom izlaza

Svaki THPDFUnresolvedGlyphInfo uključuje skalaru kodnu točku, primarno pismo, klasificiranu skriptu i listu prijedloga rezerve odvojenu točka-zarezom

GetUnresolvedGlyphs vraća trenutno izvješće dokumenta, a ClearUnresolvedGlyphs započinje novo razdoblje izvještavanja

Preopterećenja s eksplicitnim stilom THotPDF.ResolveFontForCodePoint i THotPDF.AnalyzeUnresolvedGlyphs prihvaćaju TFontStyles tako da preflight može pregledati isto lice koje se koristi za izlaz; njihova izvorna preopterećenja i dalje pregledavaju regularna lica

Tekstni okviri, SVG ugrađeni tekst i appearancei učitanog teksta zadržavaju stilizirane font obitelji kroz raspored rezerve, umjesto da PDF interne nazive fontova tretiraju kao sistemske obitelji ili da svaki niz prebace na regularno lice

Okomito CJK pisanje

THPDFPage.TextOutVertical bira vertikalnu varijantu trenutnog pisma i ispisuje jedan tekstualni niz Identity-V umjesto ručnog pozicioniranja svakog znaka

Primjer

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