Partilhar via


Larguras dos caracteres

Os aplicativos precisam recuperar dados de largura de caractere quando executam tarefas como ajustar cadeias de caracteres de texto à largura da página ou da coluna. Há quatro funções que um aplicativo pode usar para recuperar dados de largura de caracteres. Duas dessas funções recuperam a largura de avanço de caractere e duas dessas funções recuperam dados reais de largura de caractere.

Um aplicativo pode usar o GetCharWidth32 e funções de GetCharWidthFloat para recuperar a largura avançada de caracteres ou símbolos individuais em uma cadeia de caracteres de texto. A largura avançada é a distância que o cursor em um monitor de vídeo ou a cabeça de impressão em uma impressora deve avançar antes de imprimir o próximo caractere em uma cadeia de texto. A funçãoGetCharWidth32 retorna a largura avançada como um valor inteiro. Se for necessária maior precisão, um aplicativo pode usar a função GetCharWidthFloat para recuperar valores de largura avançada fracionária.

Um aplicativo pode recuperar dados reais de largura de caractere usando o GetCharABCWidths e funções de GetCharABCWidthsFloat. A função GetCharABCWidthsFloat funciona com todas as fontes. A funçãoGetCharABCWidths só funciona com fontes TrueType e OpenType. Para obter mais informações sobre fontes TrueType e OpenType, consulte Raster, Vetor, TrueType e OpenType Fonts.

A ilustração a seguir mostra os três componentes de uma largura de caracteres:

ilustração mostrando o espaçamento A, o espaçamento B e o espaçamento C de dois caracteres adjacentes

O espaçamento A é a largura a ser adicionada à posição atual antes de colocar o caractere. O espaçamento B é a largura do próprio caractere. O espaçamento C é o espaço em branco à direita do personagem. A largura total do avanço é determinada calculando a soma de A+B+C. A célula de caractere é um retângulo imaginário que envolve cada caractere ou símbolo em uma fonte. Como os caracteres podem sobrepor ou subtrair a célula de caracteres, um ou ambos os incrementos A e C podem ser um número negativo.