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) |