Compartilhar via


Usando métricas truetype portáteis

Os aplicativos que usam as métricas de texto TrueType podem alcançar um alto grau de portabilidade da impressora e do documento; eles podem usar métricas TrueType mesmo se precisarem manter a compatibilidade com as versões iniciais de 16 bits do Windows.

As larguras de design superam a maioria dos problemas de texto dependente do dispositivo introduzidos por dispositivos físicos. As larguras de design são uma espécie de largura lógica. Independentemente de quaisquer problemas de rasterização ou transformações de dimensionamento, cada glifo tem uma largura lógica e altura. Composto por uma página lógica, cada caractere em uma cadeia de caracteres tem um local independente das larguras do dispositivo físico. Embora uma largura lógica indique que as larguras podem ser dimensionadas linearmente em todos os tamanhos de ponto, isso não é necessariamente verdadeiro para fontes nãoportáveis ou a maioria das fontes TrueType. Em tamanhos de ponto menores, alguns glifos são mais amplos em relação à sua altura para melhor legibilidade.

Os caracteres em fontes principais TrueType são projetados em relação a uma grade de 2048 até 2048. A largura do design é a largura de um caractere nessas unidades de grade. (TrueType dá suporte a qualquer tamanho de grade inteiro de até 16.384 por 16.384; tamanhos de grade que são potências inteiras de 2 dimensionam mais rápido do que outros tamanhos de grade.)

A estrutura de tópicos da fonte foi projetada em unidades nocionais. O quadrado em é a grade nocional na qual o contorno da fonte é ajustado. (Você pode usar o membro otmEMSquare de OUTLINETEXTMETRIC e o membro ntmSizeEM de NEWTEXTMETRIC para recuperar o tamanho do quadrado em em em unidades noções.) Quando uma fonte é criada com um tamanho de ponto (em unidades de dispositivo) igual ao tamanho de seu quadrado em, as larguras ABC dessa fonte são as larguras de design desejadas. Por exemplo, suponha que o tamanho de um quadrado em seja 1000 e as larguras ABC de um caractere na fonte sejam 150, 400 e 150. Um caractere nessa fonte com 10 unidades de dispositivo altas teria larguras ABC de 1,5, 4 e 1,5, respectivamente. Como o modo de mapeamento de MM_TEXT é mais comumente usado com fontes (e MM_TEXT é equivalente a unidades de dispositivo), esse é um cálculo simples.

Devido à alta resolução das larguras de design TrueType, os aplicativos que as usam devem levar em conta os valores numéricos grandes que podem ser criados. Para obter mais informações, consulte estes tópicos: