PDFium Component Docs

FontBaseName プロパティ

この API エントリでは識別子、シグネチャ、コードブロック、PDF 用語を元の表記のまま保持します。
コンポーネント: TPdf  ·  ユニット: PDFium
page object で使われている font の PostScript base name を返します。これは PDF font dictionary の /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 が FontFamilyNameHelvetica を共有していても、ここでは HelveticaHelvetica-BoldHelvetica-Oblique のように異なる場合があります

パラメータ

Index0-based page-object index in the range 0..ObjectCount - 1.

備考

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;

関連項目

FontFamilyName, FontIsEmbedded, FontWeight, FontData, FontHandle