Pular para o conteúdo

Matriz de suporte a fontes e escritas

Duas classes de fontes determinam quais escritas podem ser renderizadas. As fontes standard-14 (Helvetica, Times, Courier) cobrem o repertório WinAnsiEncoding, e nada além disso. Uma fonte TrueType ou OpenType incorporada e registrada renderiza uma escrita somente quando tanto o mapa de caracteres da fonte quanto o caminho de moldagem atual a cobrem. Nenhuma classe de fonte renderiza todo o Unicode por si só.

EscritaFontes standard-14Fonte incorporada registrada
Latim da Europa OcidentalSim — o repertório completo de WinAnsiEncoding (Windows-1252)Sim
Acentos latinos além de WinAnsi, grego, cirílicoNãoQuando o mapa de caracteres da fonte os cobre
Chinês, japonês, coreano (CJK)NãoQuando o mapa de caracteres da fonte os cobre
Árabe, persa, urduNãoCom moldagem contextual, quando o mapa de caracteres cobre o bloco Arabic Presentation Forms-B
HebraicoNãoReordenado para a ordem visual; não moldado
Tailandês e outras escritas complexasNãoQuando o mapa de caracteres os cobre; a moldagem avançada é limitada

As famílias standard-14 — Helvetica, Times e Courier — renderizam o repertório completo de WinAnsiEncoding (Windows code page 1252): latim acentuado da Europa Ocidental, o sinal de euro e a pontuação tipográfica comum, incluindo travessões en e em, aspas curvas, o marcador (bullet), reticências e o sinal de marca registrada (ISO 32000-2 Annex D.2). Elas não renderizam nenhuma outra escrita. Registre uma fonte incorporada para qualquer caractere fora desse repertório. Symbol e ZapfDingbats são os dois tipos standard-14 que não contam com substituto metricamente compatível; registre uma fonte incorporável quando precisar de um deles.

Consulte Compor texto com fontes e alinhamento para o fluxo de trabalho com fontes padrão.

Uma fonte TrueType ou OpenType registrada renderiza Unicode apenas quando tanto o mapa de caracteres da fonte selecionada quanto o caminho de moldagem atual fornecem cobertura. Registrar uma fonte, por si só, não garante um glifo para cada ponto de código.

  • A cobertura segue o mapa de caracteres. O motor só desenha um ponto de código se a fonte incorporada o mapear para um glifo. Uma fonte projetada para uma escrita não renderizará outra.
  • Latim, grego, cirílico e CJK são renderizados diretamente a partir do mapa de caracteres, um glifo por ponto de código, quando a fonte os cobre.
  • O árabe também requer moldagem contextual — formas de letra inicial, medial, final e isolada, além da ligadura Lam-Alef — e uma fonte cujo mapa de caracteres cubra o bloco Arabic Presentation Forms-B. O suporte a fontes que dependem apenas da Substituição de Glifos OpenType (GSUB), assim como o caminho de moldagem HarfBuzz, é trabalho futuro.
  • Escritas da direita para a esquerda (árabe, hebraico, persa, urdu) são reordenadas para a ordem visual com o Algoritmo Bidirecional Unicode no Unicode Standard Annex (UAX) #9. O hebraico é reordenado, mas não moldado, o que é correto para essa escrita.

Consulte Renderizar HTML árabe da direita para a esquerda para um exemplo prático em árabe e as limitações atuais para escrita da direita para a esquerda.