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
- Lanci rezerve su postavke dokumenta i ostaju dostupni kroz stranice
- Duplicirani i prazni nazivi pisma uklanjaju se uz očuvanje redoslijeda pozivatelja
- Ispitivanje instaliranih fontova odbacuje tihu GDI zamjenu prije prihvaćanja pokrivenosti
- Skalari dopunskih ravnina dekodiraju se iz UTF-16 surrogate parova prije klasifikacije
- Svaki rezervni niz koristi postojeći ugrađeni Type0 font, podskupljanje,
ToUnicodei zajednički put fonta kroz stranice - Raspored rezerve provjerava instalirane font obitelji s traženim podebljanim ili iskošenim licem, čuva sve postavke stila fonta, znakovnog skupa, veličine i smjera pisanja kroz nizove te nakon toga vraća font pozivatelja
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
- CID potomak fonta sadrži zadane vrijednosti
/DW2i unose/W2specifične po glifi - OpenType
vheaivmtxisporučuju vertikalne napredovanke i gornje bočne ležajeve; TrueType ishodišta izvode se iz svakogglyfograničavnog okvira, dokVORGisporučuje autoritativne zadane vrijednosti i izuzetke CFF ishodišta - Fontovi bez vertikalnih tablica koriste konfigurabilne zadane vrijednosti napredovanja od 1000 jedinica i ishodišta od 880 jedinica
- S
sfVerticalAlternates, potpuni niz GSUB-a koji čuva duljinu koristivrt2kada je oglašen, a inače vraća navert, čuvajući aktivni odabir skripte i jezika - Kada font izostavi zamjenu interpunkcije ali mapira Unicode vertikalne prezentacijske oblike, zarezi, točke, zagrade, crte, trotočke i srodna interpunkcija koriste te glife dok
ToUnicodečuva izvorni tekst - Vertikalne GPOS značajke
vkrnivpalostaju dostupne krozShapingFeatures GetVerticalTextAdvancevraća napredovanje u korisničkom prostoru potrebno za pozicioniranje sljedećeg vertikalnog niza
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;