Compartilhar via


Larguras de caractere

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

Um aplicativo pode usar as funções GetCharWidth32 e GetCharWidthFloat para recuperar a largura avançada para caracteres individuais ou símbolos em uma cadeia de caracteres de texto. A largura avançada é a distância que o cursor em uma exibição 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 caracteres de texto. A função GetCharWidth32 retorna a largura avançada como um valor inteiro. Se for necessária maior precisão, um aplicativo poderá 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 as funções GetCharABCWidths e GetCharABCWidthsFloat . A função GetCharABCWidthsFloat funciona com todas as fontes. A função GetCharABCWidths só funciona com fontes TrueType e OpenType. Para obter mais informações sobre fontes TrueType e OpenType, consulte Fontes Raster, Vector, TrueType e OpenType.

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

illustration showing the a spacing, b spacing, and c spacing of two adjacent characters

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 caractere. A largura de avanço total é determinada calculando a soma de A+B+C. A célula de caracteres é um retângulo imaginário que envolve cada caractere ou símbolo em uma fonte. Como os caracteres podem substituir ou subapor a célula de caracteres, ou os incrementos A e C podem ser um número negativo.