True) или он только ссылается на системный шрифт и разрешается во время просмотра из операционной системы (False)property FontIsEmbedded[Index: Integer]: Boolean; // read only
FontIsEmbedded сообщает, несет ли шрифт, на который ссылается текстовый объект страницы по заданному индексу, свою фактическую программу глифов внутри файла PDF. Встроенный шрифт идет вместе с документом и отображается одинаково на любой платформе; невстроенный, то есть только упомянутый, шрифт полагается на то, что просмотрщик найдет локально установленный шрифт с тем же именем, и на экране может быть заменен
Индексатор — это 0-базовый индекс объекта страницы в диапазоне 0..ObjectCount - 1. Нетекстовые объекты всегда возвращают False. Перед чтением свойства страница должна быть активна
Встраивание может быть полным, когда присутствует каждый глиф исходного шрифта, или подмножеством, когда появляются только реально используемые глифы с добавленным шестибуквенным префиксом к базовому имени; оба варианта здесь считаются встроенными. Для соответствия PDF/A каждый шрифт должен быть встроен — это свойство служит быстрым инструментом проверки этого требования
| Index | 0-базовый индекс объекта страницы в диапазоне 0..ObjectCount - 1 |
True не говорит, полное это встраивание или подмножество — проверьте FontBaseName на наличие префикса ABCDEF+, чтобы выявить подмножествоFontData возвращает данные только когда шрифт встроен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;