Compartilhar via


estrutura FD_DEVICEMETRICS (winddi.h)

A estrutura FD_DEVICEMETRICS é usada para fornecer informações de fonte específicas do dispositivo à GDI se o parâmetro iMode da função DrvQueryFontData fornecida pelo driver for QFD_MAXEXTENTS.

Sintaxe

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;

Membros

flRealizedType

É um conjunto de sinalizadores de acelerador. Esse valor pode ser uma combinação dos seguintes valores:

FDM_TYPE_BM_SIDE_CONST

Um acelerador para gravação horizontal e vertical. Se esse sinalizador estiver definido, a fonte terá altura constante para todos os bitmaps. No caso horizontal, isso significa que a dimensão cy é constante; no caso vertical, isso significa que a dimensão cx é constante. Esse acelerador não é usado para estruturas de tópicos.

FDM_TYPE_CHAR_INC_EQUAL_BM_BASE

Um acelerador para gravação horizontal e vertical. No caso horizontal, se esse sinalizador for definido, a largura avançada de cada glifo será igual à dimensão cx do bitmap de glifo; no caso vertical, se esse sinalizador estiver definido, a largura avançada de cada glifo será igual à dimensão cy do bitmap de glifo. Esse acelerador não é usado para estruturas de tópicos.

FDM_TYPE_CONST_BEARINGS

Se definido, o espaçamento a e c é constante para todos os glifos.

FDM_TYPE_MAXEXT_EQUAL_BM_SIDE

Esse sinalizador só poderá ser definido se FDM_TYPE_BM_SIDE_CONST também estiver definido. Se definido, a altura da fonte (conforme definido acima para gravação horizontal e vertical) será igual à soma do ascendente máximo e do descendente máximo. Esse acelerador não é usado para estruturas de tópicos.

FDM_TYPE_ZERO_BEARINGS

Se definido, o espaçamento a e c será zero para todos os glifos.

pteBase

Especifica uma estrutura POINTE que contém o vetor de unidade de espaço nocional ao longo da linha de base da fonte, transformado em espaço do dispositivo e, em seguida, normalizado. Para obter mais informações, consulte POINTE em tipos de dados GDI.

pteSide

Especifica a estrutura POINTE que contém um perpendicular de unidade de espaço nocional para a linha de base da fonte na direção do ascendente, transformado em espaço do dispositivo e, em seguida, normalizado. No espaço nocional, as direções de linha de base e crescente devem ser ortogonais, mas no espaço do dispositivo, pteBase e pteSide não precisam ser ortogonais, dependendo da transformação de espaço Nocional para Dispositivo.

lD

Especifica a largura avançada se a fonte for uma fonte de tom fixo (monospaced). Se a fonte for uma fonte de pitch variável, esse membro deverá ser definido como zero.

fxMaxAscender

Especifica a altura crescente máxima sugerida para essa instância de fonte, medida ao longo de pteSide. Consulte o tipo de dados FIX em Tipos de Dados GDI.

fxMaxDescender

Especifica a altura máxima decrescente sugerida para essa instância de fonte, medida ao longo de pteSide. Consulte o tipo de dados FIX em Tipos de Dados GDI.

ptlUnderline1

Especifica uma estrutura POINTL que contém a posição de sublinhado sugerida para essa instância de fonte, em relação à origem do caractere do glifo.

ptlStrikeOut

Especifica uma estrutura POINTL que contém a posição de strikeout sugerida para essa instância de fonte, em relação à origem do caractere do glifo.

ptlULThickness

Especifica uma estrutura POINTL que contém a espessura de sublinhado sugerida para essa instância de fonte. Esse vetor define o lado do retângulo usado para desenhar o sublinhado. A base é definida implicitamente pela linha de base.

ptlSOThickness

Especifica uma estrutura POINTL que contém a espessura de strikeout sugerida para essa instância de fonte. Esse vetor define o lado do retângulo usado para desenhar o strikeout. A base é definida implicitamente pela linha de base.

cxMax

Especifica a largura máxima de bitmap de glifo sugerida, em pixels, para essa instância de fonte. Não usado para estruturas de tópicos.

cyMax

Especifica a altura máxima de bitmap de glifo sugerida, em pixels, para essa instância de fonte. Não usado para estruturas de tópicos.

cjGlyphMax

Especifica o tamanho máximo sugerido de um glifo, em bytes, para essa instância de fonte. Esse valor é o tamanho máximo da estrutura GLYPHBITS necessária para armazenar qualquer um dos glifos da fonte.

fdxQuantized

Especifica uma estrutura de FD_XFORM . O driver de fonte preenche a transformação de fonte que é realmente usada na realização da fonte. Isso pode ser diferente da transformação solicitada pelo GDI, conforme definido por FONTOBJ_pxoGetXform.

lNonLinearExtLeading

É o líder externo não linear em 28,4 unidades de dispositivo.

lNonLinearIntLeading

É o líder interno não linear em 28.4 unidades de dispositivo.

lNonLinearMaxCharWidth

É o incremento de caractere máximo não linear em 28,4 unidades de dispositivo.

lNonLinearAvgCharWidth

É a largura média de caracteres não linear em 28,4 unidades de dispositivo.

lMinA

É o maior espaço negativo A para essa realização de fonte, especificado como um valor absoluto.

lMinC

É o maior espaço C negativo para essa realização de fonte, especificado como um valor absoluto.

lMinD

É a menor largura de caractere diferente de zero para essa realização de fonte.

alReserved[1]

É reservado e deve ser ignorado pelo provedor de fontes.

Requisitos

   
Cabeçalho winddi.h (inclua Winddi.h)

Confira também

DrvQueryFontData

FD_XFORM

FONTOBJ_pxoGetXform

GLIFOBITS