THotPDF šriftų atsarginės grandinės metodai
Konfigūruoja surikiuotus atsarginius šriftus ir atskleidžia aprėpties bei vertikalių metrikų diagnostiką
Deklaracijos
procedure SetFontFallbackChain(Script: THPDFFontScript;
const FontNames: array of AnsiString);
procedure ClearFontFallbackChain(Script: THPDFFontScript);
procedure ClearAllFontFallbackChains;
function FontFallbackCount(Script: THPDFFontScript): Integer;
function FontFallbackName(Script: THPDFFontScript;
Index: Integer): AnsiString;
function FontScriptForCodePoint(CodePoint: Cardinal): THPDFFontScript;
function ResolveFontForCodePoint(CodePoint: Cardinal;
const PrimaryFontName: AnsiString;
out ResolvedFontName: AnsiString): boolean; overload;
function ResolveFontForCodePoint(CodePoint: Cardinal;
const PrimaryFontName: AnsiString; const FontStyle: TFontStyles;
out ResolvedFontName: AnsiString): boolean; overload;
function AnalyzeUnresolvedGlyphs(const Text: WideString;
const PrimaryFontName: AnsiString): THPDFUnresolvedGlyphInfoArray; overload;
function AnalyzeUnresolvedGlyphs(const Text: WideString;
const PrimaryFontName: AnsiString; const FontStyle: TFontStyles):
THPDFUnresolvedGlyphInfoArray; overload;
function GetUnresolvedGlyphs: THPDFUnresolvedGlyphInfoArray;
procedure ClearUnresolvedGlyphs;
function GetVerticalGlyphMetrics(CodePoint: Cardinal;
out AdvanceY, OriginY: Integer): boolean;
procedure SetVerticalDefaultMetrics(AdvanceY, OriginY: Integer);
Tipai
THPDFFontScript = (hfsCommon, hfsLatin, hfsGreek, hfsCyrillic,
hfsHebrew, hfsArabic, hfsIndic, hfsSoutheastAsian, hfsCJK,
hfsKana, hfsHangul, hfsEmoji, hfsOther);
THPDFUnresolvedGlyphInfo = record
CodePoint: Cardinal;
FontName: AnsiString;
Script: THPDFFontScript;
SuggestedFonts: AnsiString;
end;
THPDFUnresolvedGlyphInfoArray = array of THPDFUnresolvedGlyphInfo;
Narių temos
- SetFontFallbackChain
- ClearFontFallbackChain
- ClearAllFontFallbackChains
- FontFallbackCount
- FontFallbackName
- FontScriptForCodePoint
- ResolveFontForCodePoint
- AnalyzeUnresolvedGlyphs
- GetUnresolvedGlyphs
- ClearUnresolvedGlyphs
- GetVerticalGlyphMetrics
- SetVerticalDefaultMetrics
- VerticalDefaultAdvanceY
- VerticalDefaultOriginY
Elgsena
ResolveFontForCodePointpirmiausia patikrina pirminį šriftą, tada atitinkamą scenarijaus grandinę, tadahfsCommon- Rezultatas teisingas tik tada, kai įdiegtas šriftas išsprendžia skaliarą be GDI šrifto pakeitimo
- Pakartotiniai šeimos, atvaizdo stiliaus ir skaliaro bandymai naudoja ribotą 1024 įrašų podėlį, kuris netinkamas po privačios šriftų registracijos
- Aiškaus stiliaus perkravos tikrina pasirinktą bold ir italic atvaizdą; originaliosios perkravos išlaiko įprasto atvaizdo elgseną
AnalyzeUnresolvedGlyphspašalina pasikartojančias neapibrėžto skaliaro ir pirminio šrifto porasGetVerticalGlyphMetricsgrąžina registruotus OpenType vertikalius metrikus, kai jie yra, ir atskleidžia konfigūruotus numatymus kitu atvejuSetVerticalDefaultMetricsreikalauja teigiamo žingsnio 1000 vienetų glifo erdvėje