Методи за резервни шрифтове в THotPDF
Конфигурира подредени резервни начертания и предоставя диагностика за покритие и вертикални метрики
Декларации
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);
Типове
THPDFUnresolvedGlyphInfo = record
CodePoint: Cardinal;
PrimaryFontName: AnsiString;
Script: THPDFFontScript;
SuggestedFonts: AnsiString;
end;
THPDFUnresolvedGlyphInfoArray = array of THPDFUnresolvedGlyphInfo;
Теми за членове
- SetFontFallbackChain
- ClearFontFallbackChain
- ClearAllFontFallbackChains
- FontFallbackCount
- FontFallbackName
- FontScriptForCodePoint
- ResolveFontForCodePoint
- AnalyzeUnresolvedGlyphs
- GetUnresolvedGlyphs
- ClearUnresolvedGlyphs
- GetVerticalGlyphMetrics
- SetVerticalDefaultMetrics
- VerticalDefaultAdvanceY
- VerticalDefaultOriginY
Поведение
ResolveFontForCodePointпроверява първо основното начертание, след това съответстващата скриптова верига, след товаhfsCommon- Резултатът е истинен само когато инсталирано начертание разрешава скалара без GDI замяна на начертание
- Повтарящите се проверки на семейство, стил на начертание и скалар ползват ограничен кеш от 1024 записа, който се инвалидира след регистрация на частен шрифт
- Претоваренията с изричен стил инспектират избраното bold и italic начертание; оригиналните претоварения запазват поведението с regular начертание
AnalyzeUnresolvedGlyphsдедупликира повтарящи се двойки неразрешен скалар и основно начертаниеGetVerticalGlyphMetricsвръща регистрирани вертикални OpenType метрики, когато са налични, и разкрива конфигурираните подразбирания иначеSetVerticalDefaultMetricsизисква положително напредване в пространство от 1000 единици за знаци