Compartilhar via


Estrutura TEXTMETRICW (wingdi.h)

A estrutura TEXTMETRIC contém informações básicas sobre uma fonte física. Todos os tamanhos são especificados em unidades lógicas; ou seja, elas dependem do modo de mapeamento atual do contexto de exibição.

Sintaxe

typedef struct tagTEXTMETRICW {
  LONG  tmHeight;
  LONG  tmAscent;
  LONG  tmDescent;
  LONG  tmInternalLeading;
  LONG  tmExternalLeading;
  LONG  tmAveCharWidth;
  LONG  tmMaxCharWidth;
  LONG  tmWeight;
  LONG  tmOverhang;
  LONG  tmDigitizedAspectX;
  LONG  tmDigitizedAspectY;
  WCHAR tmFirstChar;
  WCHAR tmLastChar;
  WCHAR tmDefaultChar;
  WCHAR tmBreakChar;
  BYTE  tmItalic;
  BYTE  tmUnderlined;
  BYTE  tmStruckOut;
  BYTE  tmPitchAndFamily;
  BYTE  tmCharSet;
} TEXTMETRICW, *PTEXTMETRICW, *NPTEXTMETRICW, *LPTEXTMETRICW;

Membros

tmHeight

A altura (subida + descida) dos caracteres.

tmAscent

A subida (unidades acima da linha base) dos caracteres.

tmDescent

A descida (unidades abaixo da linha base) dos caracteres.

tmInternalLeading

A quantidade de líder (espaço) dentro dos limites definidos pelo membro tmHeight. Marcas de ênfase e outros caracteres diacríticos podem ocorrer nessa área. O designer pode definir esse membro como zero.

tmExternalLeading

A quantidade de extra à esquerda (espaço) que o aplicativo adiciona entre linhas. Como essa área está fora da fonte, ela não contém marcas e não é alterada por chamadas de saída de texto no modo OPAQUE ou TRANSPARENT. O designer pode definir esse membro como zero.

tmAveCharWidth

A largura média dos caracteres na fonte (geralmente definida como a largura da letra x). Esse valor não inclui a saliência necessária para caracteres em negrito ou itálico.

tmMaxCharWidth

A largura do caractere mais largo na fonte.

tmWeight

O peso da fonte.

tmOverhang

A largura extra por cadeia de caracteres que pode ser adicionada a algumas fontes sintetizadas. Ao sintetizar alguns atributos, como negrito ou itálico, a GDI (interface do dispositivo gráfico) ou um dispositivo pode ter que adicionar largura a uma cadeia de caracteres em uma base por caractere e por cadeia de caracteres. Por exemplo, gdi torna uma cadeia de caracteres em negrito expandindo o espaçamento de cada caractere e repetindo por um valor de deslocamento; ele itálico uma fonte cortando a cadeia de caracteres. Em ambos os casos, há uma saliência além da cadeia de caracteres básica. Para cadeias de caracteres em negrito, a saliência é a distância pela qual o overstrike é deslocado. Para cadeias de caracteres itálicas, a saliência é a quantidade que a parte superior da fonte é ressarida após a parte inferior da fonte.

O membro tmOverhang permite que o aplicativo determine quanto da largura do caractere retornada por uma chamada de função GetTextExtentPoint32 em um único caractere é a largura real do caractere e quanto é a largura extra por cadeia de caracteres. A largura real é a extensão menos a saliência.

tmDigitizedAspectX

O aspecto horizontal do dispositivo para o qual a fonte foi projetada.

tmDigitizedAspectY

O aspecto vertical do dispositivo para o qual a fonte foi projetada. A proporção dos membros tmDigitizedAspectX e tmDigitizedAspectY é a proporção do dispositivo para o qual a fonte foi projetada.

tmFirstChar

O valor do primeiro caractere definido na fonte.

tmLastChar

O valor do último caractere definido na fonte.

tmDefaultChar

O valor do caractere a ser substituído por caracteres que não estão na fonte.

tmBreakChar

O valor do caractere que será usado para definir quebras de palavra para justificativa de texto.

tmItalic

Especifica uma fonte itálica se ela não for zero.

tmUnderlined

Especifica uma fonte sublinhada se ela não for zero.

tmStruckOut

Uma fonte de strikeout se não for zero.

tmPitchAndFamily

Especifica informações sobre o pitch, a tecnologia e a família de uma fonte física.

Os quatro bits de baixa ordem desse membro especificam informações sobre o pitch e a tecnologia da fonte. Uma constante é definida para cada um dos quatro bits.

Constante Significado
TMPF_FIXED_PITCH Se esse bit for definido, a fonte será uma fonte de tom variável. Se esse bit estiver claro, a fonte será uma fonte de tom fixa. Observe com muito cuidado que esses significados são o oposto do que o nome constante implica.
TMPF_VECTOR Se esse bit for definido, a fonte será uma fonte de vetor.
TMPF_TRUETYPE Se esse bit for definido, a fonte será uma fonte TrueType.
TMPF_DEVICE Se esse bit for definido, a fonte será uma fonte de dispositivo.
 

Um aplicativo deve testar cuidadosamente as qualidades codificadas nesses bits de baixa ordem, não fazendo suposições arbitrárias. Por exemplo, além de ter seus próprios bits definidos, as fontes TrueType e PostScript definem o bit TMPF_VECTOR. Uma fonte de bitmap de monospace tem todos esses bits de baixa ordem limpos; uma fonte de bitmap proporcional define o bit TMPF_FIXED_PITCH. Uma fonte de dispositivo de impressora Postscript define os bits TMPF_DEVICE, TMPF_VECTOR e TMPF_FIXED_PITCH.

Os quatro bits de alta ordem de tmPitchAndFamily designar a família de fontes da fonte. Um aplicativo pode usar o valor 0xF0 e o operador AND bit a bit para mascarar os quatro bits de ordem baixa de tmPitchAndFamily, obtendo assim um valor que pode ser comparado diretamente com nomes de família de fontes para encontrar uma correspondência idêntica. Para obter informações sobre famílias de fontes, consulte a descrição da estrutura de LOGFONT.

tmCharSet

O conjunto de caracteres da fonte. O conjunto de caracteres pode ser um dos seguintes valores.

  • 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
  • VIETNAMESE_CHARSET
edição em idioma coreano do Windows:
  • JOHAB_CHARSET
edição de linguagem do Oriente Médio do Windows:
  • ARABIC_CHARSET
  • HEBREW_CHARSET
edição em idioma tailandês do Windows:
  • THAI_CHARSET

Observações

Nota

O cabeçalho wingdi.h define TEXTMETRIC como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
cabeçalho wingdi.h (inclua Windows.h)

Consulte também

estruturas de fonte e texto

fontes e visão geral de texto

GetTextExtentPoint32

getTextMetrics

DO LOGFONT