Font-fallback og lodret tekst

HotPDF kan vælge fallback-skrifttyper efter Unicode-script, rapportere kodepunkter, der forbliver uløste, og skrive CJK-tekst gennem en ægte lodret CID-skrivetilstand

Fallback-kæder på dokumentniveau

THotPDF.SetFontFallbackChain gemmer en ordnet skrifttypeliste for én THPDFFontScript -kategori

THPDFPage.TextOutWithFallback opløser hver Unicode-skalær mod den valgte skrifttype, dens script-kæde og den fælles kæde og skriver derefter tilstødende skalærer med samme skrifttype som ét tekst-run

Handlingsorienteret diagnostik

AnalyzeUnresolvedGlyphs udfører en skrivebeskyttet dækningsrevision, mens TextOutWithFallback registrerer uløste skalærer, der mødes under output

Each THPDFUnresolvedGlyphInfo indeholder skalærens kodepunkt, primær skrifttype, klassificeret script og en semikolonsepareret liste over fallback-forslag

GetUnresolvedGlyphs returnerer den aktuelle dokumentrapport, og ClearUnresolvedGlyphs starter et nyt rapporteringsinterval

De eksplicitte stil-overloads af THotPDF.ResolveFontForCodePoint og THotPDF.AnalyzeUnresolvedGlyphs accepterer TFontStyles, så preflight kan inspicere samme skriftsnit, som bruges ved output; deres oprindelige overloads inspicerer fortsat regulære skriftsnit

Tekstbokse, indlejret SVG-tekst og indlæste tekst-appearances bevarer fontfamilier med stil gennem fallback-layoutet i stedet for at behandle PDF-interne fontnavne som systemfamilier eller skifte hvert run til et regulært skriftsnit

Vertical CJK writing

THPDFPage.TextOutVertical vælger den aktuelle skrifttypes lodrette variant og skriver ét Identity-V tekst-run i stedet for at placere hvert tegn manuelt

Eksempel

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;

Relaterede API'er