INFO: Calculando extensões de texto do texto em negrito e itálico

Traduções deste artigo Traduções deste artigo
ID do artigo: 74298 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Sumário

GetTextExtent() pode ser usado para calcular a extensão de uma seqüência de caracteres. O valor retornado talvez precise ser ajustado, dependendo do estilo da fonte. Quando uma fonte itálico ou negrito é solicitada e nenhum está disponível, a GDI (Graphics Device Interface) pode simular esses estilos usando uma varredura existente ou fontes de vetor.

Mais Informações

Simulada GDI negrito e itálico fontes ambos incluem overhangs. O overhang é especificado em uma estrutura TEXTMETRIC obtida chamando a função GetTextMetrics . O método apropriado para calcular a extensão de uma linha de texto em itálico ou negrito é mostrado abaixo:
   dwExtent = GetTextExtent(hDC, lpString, nCount);
   GetTextMetrics(hDC, &tm);
   xExtent = LOWORD(dwExtent) - tm.tmOverhang;
				
listados abaixo são exemplos de alinhamento de texto em itálico. Se o próximo caractere não estiver em itálico, de folga não deve ser subtraída da largura de avanço retornada da função GetTextExtent . O overhang precisa ser subtraído somente quando o próximo para caracteres de alinhamento de texto tem o mesmo estilo.
                                        GetTextExtent yields
                                        this as the extent:

                                              ||
       /   /                                  \/ 
      /   /           /   / /   /         /   /|   |
     /---/           /   / /   /         /   / |   |
    /   /           /---/ /---/         /---/  |---|
   /   /           /   / /   /         /   /   |   |
       -----      /   / /   /         /   /    |   |
         ^            /\                      /\ 
      Overhang        ||                      ||
               Because the next        Start the nonitalic H
               character is italic,    here because it does not
               start the next          slant and would partially
               character within the    overwrite the previous
               overhang of the         italic character.
               current character
				
folga para caracteres em negrito sintetizadas por GDI geralmente é 1, porque a GDI synthesizes fontes em negrito por saída duas vezes o texto, compensação de saída segunda um pixel, aumentando a largura de cada caractere efetivamente um pixel. Calcular a largura de avanço de texto em negrito é semelhante ao método de texto em itálico. A função GetTextExtent sempre retorna a extensão do texto mais 1 para texto em negrito. Assim, subtraindo o tmOverhang(1), o avanço adequado é alcançado.
        ||   ||
        ||   ||
        ||===||
        ||   ||
        ||   ||
              ---<= This line represents the "extra" overhang of 1.
                /\ 
                ||
             GetTextExtent yields
             this as the extent of the
             bold H.
				
Observação : Este artigo só se aplica a varredura e fontes Vectory. Família de funções antecipada sempre retorno larguras das seqüências para fontes TrueType conforme descrito pela estrutura de larguras ABC GetTextExtent() . Para obter mais informações sobre ABC antecipada larguras, consulte a documentação de função GetCharABCWidths() .

Propriedades

ID do artigo: 74298 - Última revisão: quinta-feira, 27 de fevereiro de 2014 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Software Development Kit 3.1
  • Interface de Programação de Aplicativos do Microsoft Win32 nas seguintes plataformas
    • Microsoft Windows NT Server 3.5
    • Microsoft Windows NT Server 3.51
    • Microsoft Windows NT Server 4.0 Standard Edition
    • Microsoft Windows NT Workstation 3.5
    • Microsoft Windows NT Workstation 3.51
    • Microsoft Windows NT Workstation 4.0 Developer Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbinfo KB74298 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 74298

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com