property FontFamilyName[Index: Integer]: WString; // read only
FontFamilyName возвращает человекочитаемое имя семейства шрифта, на который ссылается текстовый объект страницы по заданному индексу. Имя семейства — то, как шрифт обычно называют дизайнеры и пользователи, без стилевых суффиксов вроде Bold, Italic или Oblique. Полное PostScript-имя (обычно со стилем) смотрится в FontBaseName
Индексатор — это индекс текстового объекта страницы с нуля в диапазоне 0..ObjectCount - 1. Шрифт несут только текстовые объекты; не-текстовые возвращают пустую строку. Перед запросом свойства страница должна быть активна — сначала задайте PageNumber
Для встроенных subset-шрифтов значение по-прежнему обозначает исходное семейство, хотя встроенный набор глифов неполон. Когда PDF ссылается на невстроенный шрифт, возвращается то, что объявил продюсер; если для рендеринга PDFium подставляет другой физический шрифт, имя семейства здесь всё равно запрошенное, а не подставное
| Index | Индекс объекта страницы с нуля в диапазоне 0..ObjectCount - 1 |
WString, а не ANSIABCDEF+)FontFamilyName + FontWeight + FontItalicAngle обычно однозначно определяет используемый стильvar
I: Integer;
Names: TStringList;
begin
Pdf1.PageNumber := 1;
Names := TStringList.Create;
Names.Sorted := True;
Names.Duplicates := dupIgnore;
try
for I := 0 to Pdf1.ObjectCount - 1 do
if Pdf1.FontFamilyName[I] <> '' then
Names.Add(Pdf1.FontFamilyName[I]);
Memo1.Lines.Assign(Names);
finally
Names.Free;
end;
end;