Partilhar via


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;

Members

lfHeight

Tipo: LONG

Especifica a altura, em unidades lógicas, da célula ou caractere de caractere da fonte. O valor de altura do caractere (também conhecido como altura em) é o valor de altura da célula de caractere menos o valor principal interno. O mapeador de fonte interpreta o valor especificado no lfHeight da maneira a seguir.

Value Description
> 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 fonte 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 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 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 o 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 com a 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 é 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.

Value Weight
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 de strikeout.

lfCharSet

Tipo: BYTE

Especifica o conjunto de caracteres. Os seguintes valores são predefinidos:

Value Description
ANSI_CHARSET Essa fonte dá suporte ao conjunto de caracteres ANSI do Windows.
ARABIC_CHARSET Essa fonte dá suporte ao conjunto de caracteres árabe.
BALTIC_CHARSET Essa fonte dá suporte ao conjunto de caracteres báltico.
CHINESEBIG5_CHARSET Essa fonte dá suporte ao conjunto de caracteres chinês tradicional (Big 5).
DEFAULT_CHARSET Essa fonte dá suporte ao valor do conjunto de caracteres com base na página de código padrão do Windows ANSI do sistema. Por exemplo, quando a localidade do sistema é inglês (Estados Unidos), ela é definida como ANSI_CHARSET.
EASTEUROPE_CHARSET Essa fonte dá suporte ao conjunto de caracteres do Leste Europeu.
GB2312_CHARSET Essa fonte dá suporte ao conjunto de caracteres chinês simplificado (PRC).
GREEK_CHARSET Essa fonte dá suporte ao conjunto de caracteres grego.
HANGEUL_CHARSET Essa fonte dá suporte ao conjunto de caracteres coreano (Hangul).
HEBREW_CHARSET Essa fonte dá suporte ao conjunto de caracteres hebraico.
JOHAB_CHARSET Essa fonte dá suporte ao conjunto de caracteres coreano (Johab).
MAC_CHARSET Essa fonte dá suporte ao valor do conjunto de caracteres com base na página de código do Macintosh do sistema atual. Esse valor é usado principalmente em código herdado e geralmente não deve ser necessário, pois computadores Macintosh modernos usam Unicode para codificação.
OEM_CHARSET Essa fonte dá suporte a um conjunto de caracteres específico do OEM. O conjunto de caracteres OEM depende do sistema.
RUSSIAN_CHARSET Essa fonte dá suporte ao conjunto de caracteres cirílico.
SHIFTJIS_CHARSET Essa fonte dá suporte ao conjunto de caracteres Shift-JIS (Padrão da Indústria Japonesa).
SYMBOL_CHARSET Essa fonte dá suporte ao conjunto de caracteres de símbolo do Windows.
THAI_CHARSET Essa fonte dá suporte ao conjunto de caracteres tailandês.
TURKISH_CHARSET Essa fonte dá suporte ao conjunto de caracteres turco.
VIETNAMESE_CHARSET Essa fonte dá suporte ao conjunto de caracteres vietnamita.

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 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 do caractere, escape, tom e tipo de fonte da fonte solicitada. Pode ser um dos seguintes valores definidos em Wingdi.h:

Value Description
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 recortar caracteres que estão parcialmente fora da região de recorte. Pode ser um ou mais dos seguintes valores definidos em Wingdi.h:

Value Description
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 de 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:

Value Description
ANTIALIASED_QUALITY Habilita a suavização para a fonte. O driver de exibição deve dar suporte a textos anáricos 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. Fontes em 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 ordem baixa especificam o tom da fonte e podem ser um dos seguintes valores definidos em Wingdi.h:

  • DEFAULT_PITCH
  • FIXED_PITCH
  • MONO_FONT
  • VARIABLE_PITCH
Os bits 4 a 7 do membro especificam o grupo de fontes e podem ser um dos seguintes valores definidos em Wingdi.h:
  • FF_DECORATIVE
  • FF_DONTCARE
  • FF_MODERN
  • FF_ROMAN
  • FF_SCRIPT
  • FF_SWISS
O valor adequado pode ser obtido usando o operador BOOLEAN OR para unir uma constante de tom com uma constante familiar.

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 para famílias de fontes são os seguintes:

Value Description
FF_DECORATIVE Fontes de novidade, por exemplo, inglês antigo.
FF_DONTCARE Não se importa ou não sabe.
FF_MODERN Fontes com largura de traço constante (monospace), com ou sem serifs. As fontes de 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 Cursivo.
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.

Observações

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 em 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 todos os tamanhos de fonte que contêm os bitmaps inseridos. Por exemplo, isso ocorre normalmente em fontes do Leste Asiático.
Essa estrutura apareceu pela primeira vez em Shtypes.idl e Shtypes.h no Windows Vista, para facilitar o uso com membros da interface IVisualProperties . No entanto, a estrutura idêntica é definida em Wingdi.h e Windows.h em versões anteriores do Windows.

Requirements

Requirement Value
Cliente mínimo suportado Windows Vista [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2008 [somente aplicativos da área de trabalho]
Header dimm.h (inclua Shtypes.h, Dimm.h)

Consulte também

IVisualProperties::GetFont

IVisualProperties::SetFont