Font Fallback and Vertical Text

HotPDF može da bira rezervne pisma po Unicode skripti, prijavljuje kodne tačke koje ostaju nerešene i piše CJK tekst kroz pravi vertikalni CID režim pisanja

Lanci rezervnih fontova na nivou dokumenta

THotPDF.SetFontFallbackChain čuva uređeni spisak pisama za jednu kategoriju THPDFFontScript kategoriju

THPDFPage.TextOutWithFallback rešava svaki Unicode skalarnu vrednost prema izabranom pismu, njegovom lancu skripte i zajedničkom lancu, a zatim emituje susedne skalare sa istim pismom kao jedan tekstualni niz

Dijagnostika na koju se može reagovati

AnalyzeUnresolvedGlyphs izvršava reviziju pokrivenosti samo za čitanje, dok TextOutWithFallback beleži nerešene skalare nastale tokom ispisa

Svaki THPDFUnresolvedGlyphInfo sadrži kodnu tačku skalara, primarno pismo, klasifikovanu skriptu i spisak predloga rezerve razdvojen tačka-zarezom

GetUnresolvedGlyphs vraća trenutni izveštaj dokumenta, a ClearUnresolvedGlyphs započinje novi interval izveštavanja

Overload-i sa eksplicitnim stilom THotPDF.ResolveFontForCodePoint i THotPDF.AnalyzeUnresolvedGlyphs prihvataju TFontStyles tako da preflight može da pregleda isto pismo koje se koristi za izlaz; njihovi originalni overload-i i dalje pregledaju regular varijante

Tekstualni okviri, SVG ugrađeni tekst i izgledi učitanog teksta zadržavaju stilizovane porodice fontova kroz raspored rezerve, umesto da PDF interna imena fontova tretiraju kao sistemske porodice ili da svaki niz prebacuju na regular varijantu

Vertikalno CJK pisanje

THPDFPage.TextOutVertical bira vertikalnu varijantu trenutnog pisma i emituje jedan Identity-V tekstualni niz umesto ručnog pozicioniranja svakog 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