True) или он только ссылается на системный шрифт и разрешается во время просмотра из операционной системы (False)property FontIsEmbedded[Index: Integer]: Boolean; // read only
FontIsEmbedded сообщает, несёт ли шрифт, на который ссылается текстовый объект страницы по заданному индексу, свою реальную глифовую программу внутри PDF-файла. Встроенный шрифт путешествует вместе с документом и рендерится одинаково на любых платформах; невстроенный (только упомянутый) шрифт рассчитывает, что ридер найдёт одноимённый шрифт, установленный локально, и при показе может быть подменён
Индексатор — это индекс объекта страницы с нуля (0..ObjectCount - 1). Не-текстовые объекты всегда возвращают False. Перед чтением свойства страница должна быть активна
Встраивание бывает полным (присутствует каждый глиф исходного шрифта) или subset (появляются только реально использованные глифы, а к базовому имени добавляется шестисимвольный префикс); обе формы здесь считаются встроенными. Для соответствия PDF/A каждый шрифт должен быть встроен — это свойство удобный экспресс-аудит такого требования
| Index | Индекс объекта страницы с нуля в диапазоне 0..ObjectCount - 1 |
True не говорит, полное встраивание или subset — посмотрите FontBaseName: префикс ABCDEF+ выдаёт subsetFontData возвращает данные только для встроенных шрифтовFalsevar
I, EmbeddedCount, TextCount: Integer;
begin
Pdf1.PageNumber := 1;
EmbeddedCount := 0;
TextCount := 0;
for I := 0 to Pdf1.ObjectCount - 1 do
if Pdf1.ObjectType[I] = otText then
begin
Inc(TextCount);
if Pdf1.FontIsEmbedded[I] then Inc(EmbeddedCount);
end;
ShowMessage(Format('%d of %d text objects use embedded fonts',
[EmbeddedCount, TextCount]));
end;