PDFium Delphi Component Docs

FontDescent Свойство

Компонент: TPdf  ·  Модуль: PDFium
Возвращает спад шрифта, то есть расстояние от базовой линии до самого нижнего выносного элемента, для шрифта объекта страницы, выраженное в точках PDF и масштабированное к заданному размеру шрифта

Syntax

property FontDescent[Index: Integer; FontSize: Single]: Single; // read only

Description

FontDescent сообщает метрику descent (спуск) шрифта, на который ссылается объект страницы по заданному индексу. Descent — вертикальное расстояние (в метриках PDF обычно отрицательное) от базовой линии до самой нижней точки нижних выносных элементов вроде хвостов 'g', 'p', 'y'. Значение от PDFium уже отмасштабировано под аргумент FontSize и выражено в пунктах пользовательского пространства PDF

Индексатор Index — это индекс объекта страницы с нуля (0..ObjectCount - 1). FontSize — размер, для которого нужна метрика; передавайте либо размер, в котором собираетесь рендерить, либо при воспроизведении существующего текста значение из CharacterFontSize. Перед чтением свойства страница должна быть активна

В паре с FontAscent descent даёт полную высоту строки шрифта на выбранном размере: LineHeight := FontAscent - FontDescent. PDFium возвращает 0, когда базовый шрифт не отдаёт метрику (например, некоторые шрифты Type3) или объект страницы не текст

Parameters

IndexИндекс объекта страницы с нуля в диапазоне 0..ObjectCount - 1
FontSizeРазмер шрифта в пунктах PDF для масштабирования метрики (например 12.0). Для реалистичного значения спуска берите фактический размер отрисовки

Remarks

Example

var
  I: Integer;
  Asc, Dsc, LineHeight: Single;
begin
  Pdf1.PageNumber := 1;
  for I := 0 to Pdf1.ObjectCount - 1 do
  begin
    Asc := Pdf1.FontAscent[I, 12.0];
    Dsc := Pdf1.FontDescent[I, 12.0];
    LineHeight := Asc - Dsc;
    if LineHeight > 0 then
      Memo1.Lines.Add(Format('Object %d: line height = %.2f pt', [I, LineHeight]));
  end;
end;

See Also

FontAscent, FontSize, FontHandle, FontFamilyName