FontSize は backward compatibility のために残された CharacterFontSize の alias ですproperty FontSize[Index: Integer]: Double; // read only
FontSize は、指定 index の文字について PDFium が計算した実効グリフ高を、PDF user-space point(1 pt = 1/72 インチ)で報告します。値にはフォントに選ばれたサイズと現在の text-state scaling がすでに織り込まれているため、ページを等倍で印刷した場合にその文字が描かれるサイズです
インデックスは現在ページの text page 内での 0 基準の文字位置で、Character や Text が返すのと同じ順序です。有効値は 0 から CharacterCount - 1 までです。読み取り前にページをロードする(PageNumber)必要があります。text page は最初のアクセスで自動生成されます
同じページでもテキスト run ごとにサイズは変わりえます。1 行の中ですら変わるため、サイズはページ単位ではなく文字単位で照会する必要があります。このサイズは FontAscent / FontDescent が返すメトリック(フォントそのものの話)とは無関係で、FontSize は特定のグリフインスタンスの大きさを表す点に注意してください
| Index | 現在ページでの 0 基準の文字インデックス。範囲は 0..CharacterCount - 1 |
FontSize を超えて伸びますvar
I: Integer;
Total, Avg: Double;
begin
Pdf1.PageNumber := 1;
Total := 0;
for I := 0 to Pdf1.CharacterCount - 1 do
Total := Total + Pdf1.FontSize[I];
if Pdf1.CharacterCount > 0 then
begin
Avg := Total / Pdf1.CharacterCount;
ShowMessage('Average size on page 1: ' + FormatFloat('0.00', Avg) + ' pt');
end;
end;