/BaseFont entry で、-Bold や ,Italic などの style suffix も含みますproperty FontBaseName[Index: Integer]: WString; // read only
FontBaseName は PDF font dictionary に保存された PostScript base font name を返します。これは /BaseFont key の値です (PDF 1.7 section 9.6 / 9.7)。embedded subset font では、PDFium は 6 文字の prefix (たとえば ABCDEF+Helvetica-Bold) を残して、producer が書いた内容を忠実に保ちます。prefix を外した人に読みやすい family name が必要なら FontFamilyName を使ってください
indexer は 0 基準の page-object index です (ObjectCount - 1 まで)。非空の結果を返すのは text object だけで、non-text object は空の string を返します。property を読むときは page が active である必要があります
base name は family と style を 1 つの token にまとめるので、使われている face を識別する最も信頼できる名前です。2 つの text run が FontFamilyName で Helvetica を共有していても、ここでは Helvetica と Helvetica-Bold、Helvetica-Oblique のように異なる場合があります
| Index | 0-based page-object index in the range 0..ObjectCount - 1. |
ABCDEF+) も value の一部です。きれいな name が必要なら自分で外してくださいHelvetica, Helvetica-Bold, Times-Roman, Times-Italic などですArial,Bold で、dash ではありません/BaseFont がないときは空の string を返しますvar
I: Integer;
Base: WString;
begin
Pdf1.PageNumber := 1;
for I := 0 to Pdf1.ObjectCount - 1 do
begin
Base := Pdf1.FontBaseName[I];
if (Base <> '') and (Pos('Bold', Base) > 0) then
Memo1.Lines.Add(Format('Object %d uses %s', [I, Base]));
end;
end;