Teckensnittsreserv och vertikal text

HotPDF kan välja reservtypsnitt efter Unicode-skript, rapportera kodpunkter som förblir olösta och skriva CJK-text genom ett verkligt vertikalt CID-skrivläge

Reservkedjor på dokumentnivå

THotPDF.SetFontFallbackChain lagrar en ordnad typsnittslista för en THPDFFontScript-kategori

THPDFPage.TextOutWithFallback avgör varje Unicode-skalär mot det valda typsnittet, dess skriptkedja och den gemensamma kedjan och skriver därefter ut angränsande skalärer med samma typsnitt som en enda textkörning

Åtgärdbar diagnostik

AnalyzeUnresolvedGlyphs utför en skrivskyddad täckningsgranskning, medan TextOutWithFallback registrerar olösta skalärer som påträffas under utmatning

Varje THPDFUnresolvedGlyphInfo inkluderar skalärens kodpunkt, primära typsnitt, klassificerat skript och en semikolonseparerad lista med reservförslag

GetUnresolvedGlyphs returnerar den aktuella dokumentrapporten och ClearUnresolvedGlyphs startar ett nytt rapporteringsintervall

Overloaderna med explicit stil för THotPDF.ResolveFontForCodePoint och THotPDF.AnalyzeUnresolvedGlyphs tar emot TFontStyles så att preflight kan granska samma typsnittsstil som används vid utmatning; de ursprungliga overloaderna granskar fortfarande normalstilen

Textrutor, inbäddad SVG-text och inlästa textutseenden behåller typsnittsfamiljer med stil genom reservlayouten, i stället för att behandla PDF:ens interna typsnittsnamn som systemfamiljer eller växla varje körning till normalstilen

Vertikal CJK-skrivning

THPDFPage.TextOutVertical väljer det aktuella typsnittets vertikala variant och skriver ut en Identity-V-textkörning i stället för att placera varje tecken manuellt

Exempel

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;

Relaterade API:er