Estrutura LOGFONTA (dimm.h)
Define os atributos de uma fonte.
Sintaxe
typedef struct __MIDL___MIDL_itf_dimm_0000_0000_0003 {
LONG lfHeight;
LONG lfWidth;
LONG lfEscapement;
LONG lfOrientation;
LONG lfWeight;
BYTE lfItalic;
BYTE lfUnderline;
BYTE lfStrikeOut;
BYTE lfCharSet;
BYTE lfOutPrecision;
BYTE lfClipPrecision;
BYTE lfQuality;
BYTE lfPitchAndFamily;
CHAR lfFaceName[32];
} LOGFONTA;
Membros
lfHeight
Tipo: LONG
Especifica a altura, em unidades lógicas, da célula ou do caractere do caractere da fonte. O valor de altura do caractere (também conhecido como altura em) é o valor de altura da célula do caractere menos o valor de liderança interna. O mapeador de fontes interpreta o valor especificado em lfHeight da maneira a seguir.
Valor | Descrição |
---|---|
> 0 | O mapeador de fonte transforma esse valor em unidades de dispositivo e o corresponde à altura da célula das fontes disponíveis. |
0 | O mapeador de fontes usa um valor de altura padrão quando pesquisa uma correspondência. |
< 0 | O mapeador de fonte transforma esse valor em unidades de dispositivo e corresponde ao seu valor absoluto em relação à altura do caractere das fontes disponíveis. |
Para todas as comparações de altura, o mapeador de fonte procura a maior fonte que não excede o tamanho solicitado.
Esse mapeamento ocorre quando a fonte é usada pela primeira vez.
Para o modo de mapeamento de MM_TEXT, você pode usar a fórmula a seguir para especificar uma altura para uma fonte com um determinado tamanho de ponto.
lfHeight = -MulDiv(PointSize, GetDeviceCaps(hDC, LOGPIXELSY), 72);
em que MulDiv é definido da seguinte maneira:
#define MulDiv(a,b,c) (((a)*(b))/(c))
lfWidth
Tipo: LONG
Especifica a largura média, em unidades lógicas, de caracteres na fonte. Se lfWidth não for zero, a taxa de proporção do dispositivo será correspondida à taxa de proporção de digitalização das fontes disponíveis para localizar a correspondência mais próxima, determinada pelo valor absoluto da diferença.
lfEscapement
Tipo: LONG
Especifica o ângulo, em décimos de graus, entre o vetor de escape e o eixo x do dispositivo. O vetor de escape é paralelo à linha base de uma linha de texto.
O membro lfEscapement especifica o escape e a orientação. Você deve definir lfEscapement e lfOrientation com o mesmo valor.
lfOrientation
Tipo: LONG
Especifica o ângulo, em décimos de graus, entre a linha base de cada caractere e o eixo x do dispositivo.
lfWeight
Tipo: LONG
Especifica o peso da fonte no intervalo de 0 a 1000. Por exemplo, 400 é normal e 700 está em negrito. Se esse valor for zero, um peso padrão será usado.
Os valores a seguir são definidos em Wingdi.h para conveniência.
Valor | Peso |
---|---|
FW_DONTCARE | 0 |
FW_THIN | 100 |
FW_EXTRALIGHT | 200 |
FW_ULTRALIGHT | 200 |
FW_LIGHT | 300 |
FW_NORMAL | 400 |
FW_REGULAR | 400 |
FW_MEDIUM | 500 |
FW_SEMIBOLD | 600 |
FW_DEMIBOLD | 600 |
FW_BOLD | 700 |
FW_EXTRABOLD | 800 |
FW_ULTRABOLD | 800 |
FW_HEAVY | 900 |
FW_BLACK | 900 |
lfItalic
Tipo: BYTE
TRUE para especificar uma fonte itálica.
lfUnderline
Tipo: BYTE
TRUE para especificar uma fonte sublinhada.
lfStrikeOut
Tipo: BYTE
TRUE para especificar uma fonte strikeout.
lfCharSet
Tipo: BYTE
Especifica o conjunto de caracteres. Os seguintes valores são predefinidos:
ANSI_CHARSET | BALTIC_CHARSET |
CHINESEBIG5_CHARSET | DEFAULT_CHARSET |
EASTEUROPE_CHARSET | GB2312_CHARSET |
GREEK_CHARSET | HANGUL_CHARSET |
MAC_CHARSET | OEM_CHARSET |
RUSSIAN_CHARSET | SHIFTJIS_CHARSET |
SYMBOL_CHARSET | TURKISH_CHARSET |
Windows coreano |
---|
JOHAB_CHARSET |
Middle-Eastern Windows |
---|
HEBREW_CHARSET |
ARABIC_CHARSET |
Janelas tailandesas |
---|
THAI_CHARSET |
O valor OEM_CHARSET especifica um conjunto de caracteres dependente do sistema operacional.
DEFAULT_CHARSET é definido como um valor com base na localidade atual do sistema. Por exemplo, quando a localidade do sistema é inglês (Estados Unidos), o valor é ANSI_CHARSET.
Fontes com outros conjuntos de caracteres podem existir no sistema operacional. Se um aplicativo usa uma fonte com um conjunto de caracteres desconhecido, ele não deve tentar traduzir ou interpretar cadeias de caracteres que são renderizadas com essa fonte.
Esse membro é importante no processo de mapeamento de fontes. Para garantir resultados consistentes, especifique um conjunto de caracteres específico. Se você especificar um nome de tipo no membro lfFaceName , verifique se o valor lfCharSet corresponde ao conjunto de caracteres da face de tipo especificada em lfFaceName.
lfOutPrecision
Tipo: BYTE
Especifica a precisão de saída. A precisão de saída define a proximidade com que a saída deve corresponder à altura, largura, orientação de caractere, escape, tom e tipo de fonte da fonte solicitada. Pode ser um dos seguintes valores definidos em Wingdi.h:
Valor | Descrição |
---|---|
OUT_DEFAULT_PRECIS | Especifica o comportamento padrão do mapeador de fontes. |
OUT_RASTER_PRECIS | Instrui o mapeador de fontes a escolher uma fonte de raster quando o sistema contiver várias fontes com o mesmo nome. |
OUT_STRING_PRECIS | Esse valor não é usado pelo mapeador de fontes, mas é retornado quando fontes de raster são enumeradas. |
lfClipPrecision
Tipo: BYTE
Especifica a precisão de recorte. A precisão de recorte define como cortar caracteres que estão parcialmente fora da área de recorte. Pode ser um ou mais dos seguintes valores definidos em Wingdi.h:
Valor | Descrição |
---|---|
CLIP_DEFAULT_PRECIS | Especifica o comportamento de recorte padrão. |
CLIP_CHARACTER_PRECIS | Não usado. |
CLIP_STROKE_PRECIS | Não usado pelo mapeador de fontes, mas é retornado quando fontes raster, vector ou TrueType são enumeradas. |
lfQuality
Tipo: BYTE
Especifica a qualidade da saída. A qualidade da saída define com que cuidado o GDI deve tentar corresponder os atributos de fonte lógica aos de uma fonte física real. Pode ser um dos seguintes valores definidos em Wingdi.h:
Valor | Descrição |
---|---|
ANTIALIASED_QUALITY | Habilita a suavização para a fonte. O driver de exibição deve dar suporte ao texto suavizado para que essa configuração funcione. |
NONANTIALIASED_QUALITY | Força o uso da qualidade do rascunho quando a subchave do registro HKEY_LOCAL_MACHINE\System\GDI\Fontsmoothing está presente. |
CLEARTYPE_COMPAT_QUALITY | Habilita o texto ClearType para a fonte usando larguras compatíveis. Uma largura compatível produz texto que tem o mesmo espaçamento que o texto não ClearType. |
CLEARTYPE_QUALITY | Habilita o texto ClearType para a fonte. O driver de exibição deve dar suporte ao texto ClearType para que essa configuração funcione. |
DEFAULT_QUALITY | A aparência da fonte não importa. |
DRAFT_QUALITY | Para fontes de raster GDI, o dimensionamento está habilitado, o que significa que mais tamanhos de fonte estão disponíveis, mas a qualidade pode ser menor. As fontes negrito, itálico, sublinhado e strikeout são sintetizadas, se necessário. |
lfPitchAndFamily
Tipo: BYTE
Especifica o pitch e o grupo da fonte. Os dois bits de baixa ordem especificam o tom da fonte e podem ser um dos seguintes valores definidos em Wingdi.h:
- DEFAULT_PITCH
- FIXED_PITCH
- MONO_FONT
- VARIABLE_PITCH
- FF_DECORATIVE
- FF_DONTCARE
- FF_MODERN
- FF_ROMAN
- FF_SCRIPT
- FF_SWISS
As famílias de fontes descrevem a aparência de uma fonte de maneira geral. Elas se destinam a especificar fontes quando a face de tipo exata desejada não estiver disponível. Os valores das famílias de fontes são os seguintes:
Valor | Descrição |
---|---|
FF_DECORATIVE | Fontes de novidade, por exemplo, inglês antigo. |
FF_DONTCARE | Não se importe ou não saiba. |
FF_MODERN | Fontes com largura de traço constante (monospace), com ou sem serifs. As fontes monospace geralmente são modernas, por exemplo, Pica, Elite e Courier New. |
FF_ROMAN | Fontes com largura de traço variável (proporcional) e com serifs, por exemplo, Serif. |
FF_SCRIPT | Fontes projetadas para se parecerem com manuscrito, por exemplo, Script e Cursive. |
FF_SWISS | Fontes com largura de traço variável (proporcional) e sem serifs, por exemplo, Sans Serif. |
lfFaceName[32]
Tipo: TCHAR[LF_FACESIZE]
Especifica uma cadeia de caracteres terminada em nulo que especifica o nome da face de tipo da fonte. O comprimento dessa cadeia de caracteres não deve exceder 32 caracteres, incluindo o caractere nulo de terminação. A função EnumFontFamilies pode ser usada para enumerar os nomes de tipo de todas as fontes disponíveis no momento. Se lfFaceName for uma cadeia de caracteres vazia, a GDI usará a primeira fonte que corresponde aos outros atributos especificados.
Comentários
As seguintes situações não dão suporte à suavização ClearType:
- O texto é renderizado em uma impressora.
- Conjunto de exibição para 256 cores ou menos.
- O texto é renderizado para um cliente de servidor de terminal.
- A fonte não é uma fonte TrueType ou uma fonte Microsoft OpenType com estruturas de tópicos TrueType. Por exemplo, o seguinte não dá suporte à suavização ClearType: fontes tipo 1, fontes OpenType postscript sem estruturas de tópicos TrueType, fontes de bitmap, fontes de vetor e fontes de dispositivo.
- A fonte ajustou bitmaps inseridos para qualquer tamanho de fonte que contenha os bitmaps inseridos. Por exemplo, isso ocorre normalmente em fontes do Leste Asiático.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Cabeçalho | dimm.h (inclua Shtypes.h, Dimm.h) |