PDFium Delphi Component Docs

FontIsEmbedded プロパティ

コンポーネント: TPdf  ·  ユニット: PDFium
page object が使う font が PDF 内に embedded されている (True) のか、単に参照されていて表示時に operating system から解決されるだけ (False) なのかを示します

Syntax

property FontIsEmbedded[Index: Integer]: Boolean; // read only

Description

FontIsEmbedded は、指定 index のテキスト page object が参照する font が、実際のグリフプログラムを PDF ファイル内に持っているかどうかを報告します。embedded font はドキュメントに同行するためどのプラットフォームでも同じように描画されます。非埋め込み(参照のみ)の font は、ビューアーが同じ名前の font がローカルにインストールされていることに頼るため、表示時に代替される可能性があります

インデクサは 0 基準の page-object インデックス(0..ObjectCount - 1)です。テキスト以外のオブジェクトは常に False を返します。読み取りにはページがアクティブである必要があります

埋め込みには完全埋め込み(元フォントの全グリフを収録)と subset(実際に使われたグリフだけを収録し、base name に 6 文字の接頭辞を付加)があり、どちらもここでは embedded 扱いです。PDF/A 適合ではすべての font の埋め込みが求められるため、このプロパティはその要件の監査に手早く使えます

Parameters

Index0..ObjectCount - 1 の範囲の 0 基準 page-object インデックス

Remarks

Example

var
  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;

See Also

FontData, FontFamilyName, FontBaseName, FontHandle, ObjectType