THotPDF Font Fallback Methods
Sıralı fallback yüzlerini yapılandırır ve kapsam ile dikey metrik diagnostics'ini ortaya çıkarır
Bildirimler
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);
Türler
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;
Üye konuları
- SetFontFallbackChain
- ClearFontFallbackChain
- ClearAllFontFallbackChains
- FontFallbackCount
- FontFallbackName
- FontScriptForCodePoint
- ResolveFontForCodePoint
- AnalyzeUnresolvedGlyphs
- GetUnresolvedGlyphs
- ClearUnresolvedGlyphs
- GetVerticalGlyphMetrics
- SetVerticalDefaultMetrics
- VerticalDefaultAdvanceY
- VerticalDefaultOriginY
Davranış
ResolveFontForCodePointönce birincil yüzü, sonra eşleşen script zincirini, sonrahfsCommon- Sonuç, yalnızca yüklü bir yüz scalar'ı GDI yüz ikamesi olmadan çözümlediğinde true'dur
- Yinelenen aile, yüz-stili ve scalar yoklamaları, private font kaydından sonra geçersiz kılınan sınırlı 1024 girişli bir cache kullanır
- Açık stil overload'ları seçilen kalın ve italik yüzü inceler; özgün overload'lar regular yüz davranışını korur
AnalyzeUnresolvedGlyphsyinelenen çözümlenmemiş scalar ve birincil yüz çiftlerini tekilleştirirGetVerticalGlyphMetricskullanılabilir olduğunda kayıtlı OpenType dikey metriklerini döndürür, aksi halde yapılandırılmış varsayılanları ortaya koyarSetVerticalDefaultMetrics1000 birimlik glyph uzayında pozitif bir advance gerektirir