Поделиться через


структура FD_DEVICEMETRICS (winddi.h)

Структура FD_DEVICEMETRICS используется для предоставления GDI сведений о шрифте для конкретного устройства, если параметр iMode предоставленной драйвером функции DrvQueryFontData QFD_MAXEXTENTS.

Синтаксис

typedef struct _FD_DEVICEMETRICS {
  FLONG    flRealizedType;
  POINTE   pteBase;
  POINTE   pteSide;
  LONG     lD;
  FIX      fxMaxAscender;
  FIX      fxMaxDescender;
  POINTL   ptlUnderline1;
  POINTL   ptlStrikeOut;
  POINTL   ptlULThickness;
  POINTL   ptlSOThickness;
  ULONG    cxMax;
  ULONG    cyMax;
  ULONG    cjGlyphMax;
  FD_XFORM fdxQuantized;
  LONG     lNonLinearExtLeading;
  LONG     lNonLinearIntLeading;
  LONG     lNonLinearMaxCharWidth;
  LONG     lNonLinearAvgCharWidth;
  LONG     lMinA;
  LONG     lMinC;
  LONG     lMinD;
  LONG     alReserved[1];
} FD_DEVICEMETRICS, *PFD_DEVICEMETRICS;

Члены

flRealizedType

Набор флагов ускорителя. Это значение может быть сочетанием следующих значений:

FDM_TYPE_BM_SIDE_CONST

Ускоритель для горизонтальной и вертикальной записи. Если этот флаг установлен, шрифт имеет постоянную высоту для всех растровых изображений. В горизонтальном случае это означает, что измерение cy является константой; в вертикальном регистре это означает, что измерение cx является константой. Этот ускоритель не используется для контуров.

FDM_TYPE_CHAR_INC_EQUAL_BM_BASE

Ускоритель для горизонтальной и вертикальной записи. В горизонтальном случае, если этот флаг установлен, ширина каждого глифа равна измерению cx растрового изображения глифа; в вертикальном регистре, если этот флаг установлен, ширина каждого глифа равна измерению cy растрового изображения глифа. Этот ускоритель не используется для контуров.

FDM_TYPE_CONST_BEARINGS

Если задано значение , интервалы a и c являются постоянными для всех глифов.

FDM_TYPE_MAXEXT_EQUAL_BM_SIDE

Этот флаг можно задать только в том случае, если также задано FDM_TYPE_BM_SIDE_CONST. Если задано значение , высота шрифта (как определено выше для горизонтальной и вертикальной записи) равна сумме значений max ascender и max descender. Этот ускоритель не используется для контуров.

FDM_TYPE_ZERO_BEARINGS

Если задано, интервалы a и c равны нулю для всех глифов.

pteBase

Задает структуру POINTE, которая содержит вектор единиц измерения пространств по базовому плану шрифта, преобразованный в пространство устройства, а затем нормализованный. Дополнительные сведения см. в разделе POINTE в типах данных GDI.

pteSide

Задает структуру POINTE, которая содержит вектор единиц измерения, перпендикулярный базовому плану шрифта в направлении возрастания, преобразованный в пространство устройства, а затем нормализованный. В нотальном пространстве базовые и восходящие направления должны быть ортогональными, но в пространстве устройства pteBase и pteSide не обязательно должны быть ортогональными в зависимости от преобразования пространства нотальных устройств.

lD

Указывает расширенную ширину, если шрифт является шрифтом фиксированного тона (моноширинный). Если шрифт является шрифтом переменной тона, для этого элемента должно быть задано значение ноль.

fxMaxAscender

Указывает максимальную высоту по возрастанию для данного экземпляра шрифта, измеряемую вдоль pteSide. См. раздел Тип данных FIX в разделе Типы данных GDI.

fxMaxDescender

Указывает указанную максимальную высоту убывателя для данного экземпляра шрифта, измеряемую вдоль pteSide. См. раздел Тип данных FIX в разделе Типы данных GDI.

ptlUnderline1

Задает структуру POINTL , содержащую позицию подчеркивания с указанием для данного экземпляра шрифта относительно источника символа глифа.

ptlStrikeOut

Задает структуру POINTL, содержащую указанную позицию зачеркивки для данного экземпляра шрифта относительно источника символа глифа.

ptlULThickness

Задает структуру POINTL, содержащую указанную толщину подчеркивания для данного экземпляра шрифта. Этот вектор определяет сторону прямоугольника, используемого для рисования подчеркивания. База неявно определяется базовым показателем.

ptlSOThickness

Задает структуру POINTL, содержащую указанную толщину зачеркивок для данного экземпляра шрифта. Этот вектор определяет сторону прямоугольника, используемого для рисования зачеркивать. База неявно определяется базовым показателем.

cxMax

Указывает максимальную ширину битового изображения глифа в пикселях для данного экземпляра шрифта. Не используется для контуров.

cyMax

Указывает максимальную высоту битового изображения глифа в пикселях для данного экземпляра шрифта. Не используется для контуров.

cjGlyphMax

Указывает максимальный размер глифа в байтах для данного экземпляра шрифта. Это значение является максимальным размером структуры GLYPHBITS , необходимой для хранения любых глифов шрифта.

fdxQuantized

Задает структуру FD_XFORM . Драйвер шрифта заполняет преобразование шрифта, которое фактически используется в реализации шрифта. Это может отличаться от преобразования, запрошенного GDI, как определено в FONTOBJ_pxoGetXform.

lNonLinearExtLeading

Нелинейный внешний ведущий в единицах устройства 28,4.

lNonLinearIntLeading

Нелинейный внутренний ведущий в единицах устройств 28,4.

lNonLinearMaxCharWidth

Нелинейный максимальный приращение символов в 28,4 единицах устройства.

lNonLinearAvgCharWidth

Нелинейная средняя ширина символов в 28,4 единиц устройства.

lMinA

Наибольшее отрицательное пространство A для этой реализации шрифта, указанное в качестве абсолютного значения.

lMinC

Наибольшее отрицательное пространство C для реализации шрифта, указанное в качестве абсолютного значения.

lMinD

Наименьшая ширина ненулевого символа для реализации шрифта.

alReserved[1]

Зарезервировано и должно игнорироваться поставщиком шрифтов.

Требования

   
Верхняя часть winddi.h (включая Winddi.h)

См. также раздел

DrvQueryFontData

FD_XFORM

FONTOBJ_pxoGetXform

ГЛИФБИТЫ