Compartilhar via


Fontes e métricas de texto

Este tópico discute as fontes de estrutura de tópicos fornecidas pelo Windows, os valores de métrica de fonte que podem mudar entre as versões do Windows e as diretrizes sobre como usar métricas de fonte em seus aplicativos da área de trabalho.

  • Para obter informações específicas das métricas de fonte no DirectWrite, consulte Métricas de Texto.
  • Para obter detalhes sobre como gerenciar texto em aplicativos usando GDI, consulte os tópicos em Fontes e Texto.

Para obter informações mais detalhadas sobre o uso de fontes e especificações de tipo, consulte o site de tipografia da Microsoft.

Fontes disponíveis

As fontes de estrutura de tópicos fornecidas com o Windows são fornecidas como fontes OpenType com estruturas de tópicos TrueType (o Windows também dá suporte a fontes OpenType no formato CFF). Para obter listas de todas as fontes fornecidas pelo Windows, consulte Tipografia da Microsoft: fontes por produto ou família. Todas as fontes de estrutura de tópicos do Windows estão em conformidade com a versão mais recente da especificação OpenType.

Para obter uma lista de todas as fontes de interface do usuário atuais e herdadas, consulte Métricas de fonte bloqueadas abaixo.

Modificações de fonte

Para garantir a compatibilidade com versões anteriores, as fontes raramente são removidas do Windows. No entanto, as fontes geralmente são modificadas. As modificações podem incluir adicionar caracteres, redesenhar caracteres existentes, modificar dicas ou adicionar ou modificar o suporte para recursos avançados do OpenType e formatação de script complexa.

Métricas de fonte bloqueadas

Observe que alguns valores associados a fontes de interface do usuário e fontes padrão usadas em aplicativos da Microsoft estão bloqueados. Fontes de interface do usuário são usadas para renderizar elementos da interface do usuário, como legendas, caixas de diálogo e menus. Poucas alterações são feitas nessas fontes, dada a alta visibilidade e o uso frequente. No entanto, como os valores relatados associados a essas fontes estão bloqueados, pode haver discrepâncias entre os valores de fonte relatados e reais.

Os seguintes valores relatados estão bloqueados para a interface do usuário e fontes padrão e podem ser relatados incorretamente:

Aqui está uma lista das fontes de interface do usuário enviadas com Windows 8.1 (afetadas por valores bloqueados):

Nome do script Fonte da interface do usuário
Árabe Interface do Usuário Segoe
Armênia Interface do Usuário Segoe
Bangla Nirmala UI
Bopomofo Microsoft JhengHei UI
Braille Segoe UI Symbol
Bugi Leelawadee UI
Sílbica Aborígine Canadense Gadugi
Cherokee Gadugi
Copta Segoe UI Symbol
Chinês (Simplificado) Microsoft YaHei UI
Chinês (Tradicional) Microsoft JhengHei UI
Cirílico Interface do Usuário Segoe
Devanagari Nirmala UI
Deseret Segoe UI Symbol
Etíope Ebrima
Georgiano Interface do Usuário Segoe
Glagolitic Segoe UI Symbol
Gótico Segoe UI Symbol
Grego Interface do Usuário Segoe
Guzerate Nirmala UI
Gurmukhi Nirmala UI
Hebraico Interface do Usuário Segoe
Itálico Antigo Segoe UI Symbol
Javanês Texto javanês
Japonês Interface do usuário do Meiryo
canarim Interface do usuário de Mirmala
Khmer Leelawadee UI
Coreano Malgun Gothic
Lao Leelawadee UI
Latim Interface do Usuário Segoe
Malaiala Nirmala UI
Mongol Mongolian Baiti
Myanmar Myanmar Text
N'Ko Ebrima
Ogham Segoe UI Symbol
Ol Chiki Nirmala UI
Antigo turco Segoe UI Symbol
Oriá Nirmala UI
Osmanya Ebrima
Phags-pa Microsoft PhagsPa
Runic Segoe UI Symbol
Sora Sompeng Nirmala UI
Sinhala Nirmala UI
Siríaco Estrangelo Edessa
Tai Le Microsoft Tai Le
Tai Lue Novo Microsoft New Tai Lue
Tâmil Nirmala UI
Télugo Nirmala UI
Tifinagh Ebrima
Thaana MV Boli
Tailandês Leelawadee UI
Tibetano Microsoft Himalaya
Vai Ebrima
Yi Microsoft Yi Baiti

 

Aqui está uma lista das fontes de interface do usuário herdadas que também são afetadas por valores bloqueados:

Nome do script (herdado) Fonte da interface do usuário (herdada)
Bangla Vrinda
Sílabico aborígene canadense Eufêmia
Cherokee Plantageneta
Chinês (Simplificado) Microsoft YaHei e SimSun
Chinês (Tradicional) MingLiU e Microsoft JhengHei
Devanagari Mangal
Idiomas europeus Tahoma
Guzerate Shruti
Gurmukhi Raavi
Japonês Meiryo e MS Gothic UI
canarim Tunga
Khmer Khmer
Coreano Gulim
Lao Interface do usuário do Lao
Malaiala Kartika
Idiomas do Oriente Médio Tahoma
Oriá Kalinga
Cingalês Iskoola Pota
Tâmil Latha e Vijaya
Télugo Gautami
Tailandês Leelawadee e Tahoma

 

Essas fontes são usadas como padrões em aplicativos da Microsoft e também são afetadas por valores bloqueados:

  • Arial
  • Calibri
  • Cambria
  • Consolas
  • Courier New
  • MS Mincho
  • Times New Roman
  • Verdana

Métricas de fonte dinâmica

Além das métricas bloqueadas listadas acima, os valores de fonte são relatados com precisão. Se uma fonte for alterada em uma nova versão do Windows, os valores de fonte dinâmica serão diferentes entre o novo e o antigo. Por exemplo, quando um glifo é adicionado a uma fonte, os valores no cabeçalho da fonte podem ser alterados. O recorte poderá resultar se esses valores (que incluem xMin, xMax, yMin e yMax e relatarem a caixa delimitadora mínima e máxima para glifos na fonte) estiverem bloqueados e não relatarem valores verdadeiros.

Importante

Se você usar valores de fonte dinâmicos em seu aplicativo (como os de TEXTMETRIC), esses valores serão alterados se as fontes forem modificadas em versões futuras do Windows. Não use esses valores reais em situações em que o texto deve permanecer estático.

 

Diretrizes para usar métricas de fonte

  • Métricas de tela de computação e métricas de fonte (por exemplo, largura média) quando um aplicativo é iniciado e usam esses valores para definir seu aplicativo. Isso fornecerá uma renderização consistentemente precisa e o layout responderá a alterações nas fontes ou acomodará o fallback de fonte. Para obter uma visão geral do fallback de fonte e da vinculação de fontes, consulte Globalização passo a passo: fontes. Consulte Usando fallback de fonte para informações específicas do Uniscribe.
    • Para calcular uma métrica base, renderize um texto representativo para o idioma/script pretendido.
    • Para controles que contêm apenas uma única linha de texto desencapsurado, disponha-os para ajustar a largura total do texto não ajustado.
    • Para controles com várias linhas, obtenha o comprimento total, divida pelo comprimento do caractere e você tem uma largura sólida para trabalhar. Observe que isso é mais complicado para scripts complexos em que um único "caractere" para o leitor pode ser vários pontos de código.
  • Use sTypoAscender, sTypoDescender e unitsPerEm (da tabela OS/2) para calcular o espaçamento vertical. sTypoAscender é usado para determinar o deslocamento ideal da parte superior de um quadro de texto para a primeira linha de base e sTypoDescender determina o deslocamento ideal da parte inferior de um quadro de texto para a última linha de base.
  • Se você estiver usando DirectWrite, crie um layout usando IDWriteTextLayout. IDWriteTextLayout fornecelineGapdecrescente + crescente + em layout natural. Você pode acessar esses valores específicos com DWRITE_FONT_METRICS. Para obter informações sobre essa interface, consulte Formatação e layout de texto.
  • Se você estiver usando GDI, renderize fora da tela, inspecione o layout (por exemplo, o comprimento da linha ou os caracteres por linha) e recalcule os parâmetros de layout finais usados na renderização real.
  • Não crie layouts estaticamente com base em valores específicos para versões específicas de fontes. Os valores reais podem mudar de versão para versão.

Referência

IDWriteTextLayout

DWRITE_FONT_METRICS

TEXTMETRIC

unitsPerEm

Tabela DO SISTEMA OPERACIONAL/2

Tabela de métricas de dispositivo vertical (VDMX)

Tipografia da Microsoft: fontes por produto ou família

Conceitual

Métricas de texto (DirectWrite)

Fontes e Texto (GDI)

Tipografia da Microsoft