Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico fornece uma visão geral de alguns dos principais recursos da tecnologia de fonte OpenType no WPF (Windows Presentation Foundation).
Formato de fonte OpenType
O formato de fonte OpenType é uma extensão do formato de fonte TrueType®, adicionando suporte para dados de fonte postScript. O formato de fonte OpenType foi desenvolvido em conjunto pela Microsoft e pela Adobe Corporation. As fontes OpenType e os serviços do sistema operacional que dão suporte a fontes OpenType fornecem aos usuários uma maneira simples de instalar e usar fontes, independentemente de as fontes contiverem estruturas de tópicos TrueType ou estruturas de tópicos CFF (PostScript).
O formato de fonte OpenType aborda os seguintes desafios do desenvolvedor:
Suporte multiplataforma mais amplo.
Melhor suporte para conjuntos de caracteres internacionais.
Melhor proteção para dados de fonte.
Tamanhos de arquivo menores para tornar a distribuição de fontes mais eficiente.
Suporte mais amplo para controle tipográfico avançado.
Observação
O SDK do Windows contém um conjunto de fontes OpenType de exemplo que você pode usar com aplicativos WPF (Windows Presentation Foundation). Essas fontes fornecem a maioria dos recursos ilustrados no restante deste tópico. Para obter mais informações, consulte exemplo de pacote de fontes OpenType.
Para obter detalhes sobre o formato de fonte OpenType, consulte a especificação OpenType.
Extensões tipográficas avançadas
As tabelas Tipográficas Avançadas (Tabelas de Disposição OpenType) estendem a funcionalidade das fontes com contornos TrueType ou CFF. As fontes de Layout OpenType contêm informações adicionais que estendem os recursos das fontes para dar suporte à tipografia internacional de alta qualidade. A maioria das fontes OpenType expõe apenas um subconjunto do total de recursos opentype disponíveis. As fontes OpenType fornecem os seguintes recursos.
Mapeamento avançado entre caracteres e glifos que dão suporte a ligaturas, formulários posicionais, alternativas e outras substituições de fonte.
Suporte para posicionamento bidimensional e vinculação de glifo.
Informações explícitas de script e idioma contidas na fonte, para que um aplicativo de processamento de texto possa ajustar seu comportamento adequadamente.
As tabelas de Layout OpenType são descritas com mais detalhes na seção "Tabelas de Arquivo de Fonte" da especificação OpenType.
O restante desta visão geral apresenta a amplitude e a flexibilidade de alguns dos recursos visualmente interessantes do OpenType que são expostos pelas propriedades do objeto Typography. Para obter mais informações sobre esse objeto, consulte a Classe de Tipografia .
Variantes
As variantes são usadas para renderizar diferentes estilos tipográficos, como sobrescritos e subscritos.
Sobrescritos e Subscritos
A propriedade Variants permite que você defina valores de expoente e índice para uma fonte OpenType.
O texto a seguir exibe sobrescritos para a fonte Palatino Linotype.
O exemplo de marcação a seguir mostra como definir superescritos para a fonte Palatino Linotype, usando propriedades do objeto Typography.
<Paragraph FontFamily="Palatino Linotype">
2<Run Typography.Variants="Superscript">3</Run>
14<Run Typography.Variants="Superscript">th</Run>
</Paragraph>
O texto a seguir exibe subscritos para a fonte Palatino Linotype.
O exemplo de marcação a seguir mostra como definir subscritos para a fonte Palatino Linotype, usando propriedades do objeto Typography.
<Paragraph FontFamily="Palatino Linotype">
H<Run Typography.Variants="Subscript">2</Run>O
Footnote<Run Typography.Variants="Subscript">4</Run>
</Paragraph>
Usos decorativos de sobrescritos e subscritos
Sobrescritos e subscritos também podem ser utilizados para criar efeitos decorativos em textos que contêm maiúsculas e minúsculas. O texto a seguir exibe texto sobrescrito e subscrito para a fonte Palatino Linotype. Observe que as capitais não são afetadas.
O exemplo de marcação a seguir mostra como definir sobrescritos e subscritos para uma fonte, usando propriedades do objeto Typography.
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Superscript">
Chapter One
</Paragraph>
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Subscript">
Chapter One
</Paragraph>
Capitais
As maiúsculas são um conjunto de formas tipográficas que renderizam o texto em glifos em estilo maiúsculo. Normalmente, quando o texto é renderizado todas em maiúsculas, o espaçamento entre letras pode parecer muito apertado, e o peso e a proporção das letras parecerem muito grandes. O OpenType dá suporte a alguns formatos de estilo para letras maiúsculas, incluindo maiúsculas pequenas, minimaiúsculas, títulos e espaçamento de maiúsculas. Esses formatos de estilo permitem controlar a aparência das letras maiúsculas.
O texto a seguir exibe letras maiúsculas padrão para a fonte Pescadero, seguidas pelas letras denominadas "SmallCaps" e "AllSmallCaps". Nesse caso, o mesmo tamanho da fonte é usado para todas as três palavras.
O exemplo de marcação a seguir mostra como definir capitais para a fonte Pescadero usando propriedades do objeto Typography. Quando o formato "SmallCaps" é usado, qualquer letra maiúscula principal é ignorada.
<Paragraph FontFamily="Pescadero" FontSize="48">
<Run>CAPITALS</Run>
<Run Typography.Capitals="SmallCaps">Capitals</Run>
<Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>
Letras maiúsculas inclinadas
As letras maiúsculas inclinadas são mais leves, em peso e proporção, e foram concebidas para dar uma aparência mais elegante do que as letras maiúsculas normais. Letras maiúsculas são normalmente usadas em tamanhos de fonte maiores como títulos. O texto a seguir exibe maiúsculas regulares e maiúsculas de título para a fonte Pescadero. Observe as larguras mais estreitas das hastes na segunda linha do texto.
O exemplo de marcação a seguir mostra como definir maiúsculas de titulação para a fonte Pescadero, usando propriedades do objeto Typography.
<Paragraph FontFamily="Pescadero">
<Run Typography.Capitals="Titling">chapter one</Run>
</Paragraph>
Espaçamento de letras maiúsculas
O espaçamento de capital é um recurso que permite que você forneça mais espaçamento ao usar todas as capitais no texto. Letras maiúsculas são normalmente projetadas para se misturar com letras minúsculas. Espaçamento que parece atraente entre uma letra maiúscula e uma letra minúscula pode parecer muito apertado quando todas as letras maiúsculas são usadas. O texto a seguir exibe espaçamento normal e maiúsculo para a fonte Pescadero.
O exemplo de marcação a seguir mostra como definir o espaçamento de capital para a fonte Pescadero, usando propriedades do objeto Typography.
<Paragraph FontFamily="Pescadero">
<Run Typography.CapitalSpacing="True">CHAPTER ONE</Run>
</Paragraph>
Ligaduras
Ligaturas são dois ou mais glifos que são formados em um único glifo para criar um texto mais legível ou atraente. As fontes OpenType dão suporte a quatro tipos de ligaturas:
Ligaduras padrão. Projetado para aprimorar a legibilidade. As ligaturas padrão incluem "fi", "fl" e "ff".
Ligaduras contextuais. Projetado para aprimorar a legibilidade fornecendo melhor comportamento de junção entre os caracteres que compõem a ligatura.
Ligaduras discricionárias. Projetado para ser ornamental e não projetado especificamente para legibilidade.
Ligaduras históricas. Projetado para ser histórico e não projetado especificamente para legibilidade.
O texto a seguir exibe glifos de ligações padrão para a fonte Pericles.
O exemplo de marcação a seguir mostra como definir glifos de ligadura padrão para a fonte Pélicas, usando propriedades do objeto Typography.
<Paragraph FontFamily="Pericles" Typography.StandardLigatures="True">
<Run Typography.StylisticAlternates="1">FI</Run>
<Run Typography.StylisticAlternates="1">FL</Run>
<Run Typography.StylisticAlternates="1">TH</Run>
<Run Typography.StylisticAlternates="1">TT</Run>
<Run Typography.StylisticAlternates="1">TV</Run>
<Run Typography.StylisticAlternates="1">TW</Run>
<Run Typography.StylisticAlternates="1">TY</Run>
<Run Typography.StylisticAlternates="1">VT</Run>
<Run Typography.StylisticAlternates="1">WT</Run>
<Run Typography.StylisticAlternates="1">YT</Run>
</Paragraph>
O texto a seguir exibe glifos com ligadura discricionária para a fonte Pericles.
O exemplo de marcação a seguir mostra como definir glifos de ligadura discricionária para a fonte Pélicas, usando propriedades do objeto Typography.
<Paragraph FontFamily="Pericles" Typography.DiscretionaryLigatures="True">
<Run Typography.StylisticAlternates="1">CO</Run>
<Run Typography.StylisticAlternates="1">LA</Run>
<Run Typography.StylisticAlternates="1">LE</Run>
<Run Typography.StylisticAlternates="1">LI</Run>
<Run Typography.StylisticAlternates="1">LL</Run>
<Run Typography.StylisticAlternates="1">LO</Run>
<Run Typography.StylisticAlternates="1">LU</Run>
</Paragraph>
Por padrão, as fontes OpenType no WPF (Windows Presentation Foundation) habilitam ligaturas padrão. Por exemplo, se você usar a fonte Palatino Linotype, as ligaturas padrão "fi", "ff" e "fl" aparecerão como um glifo de caractere combinado. Observe que o par de caracteres para cada ligadura padrão toca um no outro.
No entanto, você pode desabilitar recursos de ligadura padrão para que uma ligatura padrão, como "ff", seja exibida como dois glifos separados, em vez de como um glifo de caractere combinado.
O exemplo de marcação a seguir mostra como desabilitar glifos de ligatura padrão para a fonte Palatino Linotype, usando propriedades do objeto Typography.
<!-- Set standard ligatures to false in order to disable feature. -->
<Paragraph Typography.StandardLigatures="False" FontFamily="Palatino Linotype" FontSize="72">
fi ff fl
</Paragraph>
Caracteres ornamentados
Swashes são glifos decorativos que utilizam ornamentação elaborada, geralmente associada à caligrafia. O texto a seguir exibe glifos padrão e de caractere ornamentado para a fonte Pescadero.
Muitas vezes, os swashes são utilizados como elementos decorativos em frases curtas, como anúncios de eventos. O texto a seguir utiliza ornamentos tipográficos para enfatizar as letras maiúsculas do nome do evento.
O exemplo de marcação a seguir mostra como definir swashes para uma fonte, usando propriedades do objeto Typography.
<Paragraph FontFamily="Pescadero" TextBlock.TextAlignment="Center">
Wishing you a<LineBreak/>
<Run Typography.StandardSwashes="1" FontSize="36">Happy New Year!</Run>
</Paragraph>
Caracteres ornamentados contextuais
Algumas combinações de glifos swash podem causar uma aparência pouco atraente, como descendentes sobrepostos em letras adjacentes. Usar um caractere ornamentado contextual permite que você utilize um glifo alternativo que resulta em uma aparência melhor. O texto a seguir mostra a mesma palavra antes e depois de ser aplicado um caractere ornamentado contextual.
O exemplo de marcação a seguir mostra como definir uma swash contextual para a fonte Pescadero, usando propriedades do objeto Typography.
<Paragraph FontFamily="Pescadero" Typography.StandardSwashes="1">
Lyon <Run Typography.ContextualSwashes="1">L</Run>yon
</Paragraph>
Alternativas
Alternativas são glifos que podem ser substituídos por um glifo padrão. Fontes OpenType, como a fonte Pélicas usada nos exemplos a seguir, podem conter glifos alternativos que você pode usar para criar diferentes aparências para texto. O texto a seguir exibe glifos padrão para a fonte Pélicas.
A fonte Pericles OpenType contém glifos adicionais que fornecem alternativas estilísticas para o conjunto padrão de glifos. O texto a seguir exibe glifos alternativos estilísticos.
O exemplo de marcação a seguir mostra como definir glifos alternativos estilísticos para a fonte Pélicas, usando propriedades do objeto Typography.
<Paragraph FontFamily="Pericles">
<Run Typography.StylisticAlternates="1">A</Run>NCIENT
GR<Run Typography.StylisticAlternates="1">EE</Run>K
MYTH<Run Typography.StylisticAlternates="1">O</Run>LOGY
</Paragraph>
O texto a seguir exibe vários outros glifos alternativos estilísticos para a fonte Pélicas.
O exemplo de marcação a seguir mostra como definir esses outros glifos alternativos estilísticos.
<Paragraph FontFamily="Pericles">
<Run Typography.StylisticAlternates="1">A</Run>
<Run Typography.StylisticAlternates="2">A</Run>
<Run Typography.StylisticAlternates="3">A</Run>
<Run Typography.StylisticAlternates="1">C</Run>
<Run Typography.StylisticAlternates="1">E</Run>
<Run Typography.StylisticAlternates="1">G</Run>
<Run Typography.StylisticAlternates="1">O</Run>
<Run Typography.StylisticAlternates="1">Q</Run>
<Run Typography.StylisticAlternates="1">R</Run>
<Run Typography.StylisticAlternates="2">R</Run>
<Run Typography.StylisticAlternates="1">S</Run>
<Run Typography.StylisticAlternates="1">Y</Run>
</Paragraph>
Alternativas Contextuais Aleatórias
Alternativas contextuais aleatórias fornecem vários glifos substitutos para um único caractere. Quando implementado com fontes do tipo script, esse recurso pode simular a manuscrito usando um conjunto de glifos escolhidos aleatoriamente com pequenas diferenças na aparência. O texto a seguir usa alternativas contextuais aleatórias para a fonte Lindsey. Observe que a letra "a" varia ligeiramente na aparência
O exemplo de marcação a seguir mostra como definir alternativas contextuais aleatórias para a fonte Lindsey, usando propriedades do objeto Typography.
<TextBlock FontFamily="Lindsey">
<Run Typography.ContextualAlternates="True">
a banana in a cabana
</Run>
</TextBlock>
Formas Históricas
Formulários históricos são convenções tipográficas que eram comuns no passado. O texto a seguir exibe a frase "Boston, Massachusetts", usando uma forma histórica de glifos para a fonte Palatino Linotype.
O exemplo de marcação a seguir mostra como definir formas históricas para a fonte Palatino Linotype, usando propriedades do objeto Typography.
<Paragraph FontFamily="Palatino Linotype">
<Run Typography.HistoricalForms="True">Boston, Massachusetts</Run>
</Paragraph>
Estilos numéricos
As fontes OpenType dão suporte a um grande número de recursos que podem ser usados com valores numéricos no texto.
Frações
As fontes OpenType dão suporte a estilos para frações, incluindo cortadas e empilhadas.
O texto a seguir exibe estilos de fração para a fonte Palatino Linotype.
O exemplo de marcação a seguir mostra como definir estilos de fração para a fonte Linotype palatino, usando propriedades do objeto Typography.
<Paragraph FontFamily="Palatino Linotype" Typography.Fraction="Slashed">
1/8 1/4 3/8 1/2 5/8 3/4 7/8
</Paragraph>
<Paragraph FontFamily="Palatino Linotype" Typography.Fraction="Stacked">
1/8 1/4 3/8 1/2 5/8 3/4 7/8
</Paragraph>
Numerais de estilo antigo
As fontes OpenType dão suporte a um formato numeral de estilo antigo. Esse formato é útil para exibir numerais em estilos que não são mais padrão. O texto a seguir exibe uma data do século XVIII em formatos numerais de estilo padrão e antigo para a fonte Palatino Linotype.
O texto a seguir exibe numerais padrão para a fonte Palatino Linotype, seguida por numerais de estilo antigo.
O exemplo de marcação a seguir mostra como definir numerais de estilo antigos para a fonte Linotype palatino, usando propriedades do objeto Typography.
<Paragraph FontFamily="Palatino Linotype">
<Run Typography.NumeralStyle="Normal">1234567890</Run>
<Run Typography.NumeralStyle="OldStyle">1234567890</Run>
</Paragraph>
Figuras proporcionais e tabulares
As fontes OpenType dão suporte a um recurso de figura proporcional e tabular para controlar o alinhamento de larguras ao usar numerais. As figuras proporcionais tratam cada numeral como tendo uma largura diferente— "1" é mais estreito que "5". As figuras tabulares são tratadas como numerais de largura igual para que se alinhem verticalmente, o que aumenta a legibilidade das informações de tipo financeiro.
O texto a seguir exibe duas figuras proporcionais na primeira coluna usando a fonte Miramonte. Observe a diferença de largura entre os numerais "5" e "1". A segunda coluna mostra os mesmos dois valores numéricos com as larguras ajustadas usando o recurso de figura tabular.
O exemplo de marcação a seguir mostra como definir figuras proporcionais e tabulares para a fonte Miramonte, usando propriedades do objeto Typography.
<TextBlock FontFamily="Miramonte">
<Run Typography.NumeralAlignment="Proportional">114,131</Run>
</TextBlock>
<TextBlock FontFamily="Miramonte">
<Run Typography.NumeralAlignment="Tabular">114,131</Run>
</TextBlock>
Zero cortado
As fontes OpenType dão suporte a um formato numeral zero cortado para enfatizar a diferença entre a letra "O" e o numeral "0". O numeral zero cortado geralmente é usado para identificadores em informações financeiras e comerciais.
O texto a seguir exibe um identificador de pedido de exemplo usando a fonte Miramonte. A primeira linha usa numerais padrão. A segunda linha usou numerais zero cortados para fornecer melhor contraste com a letra "O" maiúscula.
O exemplo de marcação a seguir mostra como definir numerais zero cortados para a fonte Miramonte, usando propriedades do objeto Typography.
<Paragraph FontFamily="Miramonte">
<Run>Order #0048-OTC-390</Run>
<LineBreak/>
<Run Typography.SlashedZero="True">Order #0048-OTC-390</Run>
</Paragraph>
Classe de tipografia
O objeto Typography expõe o conjunto de recursos que uma fonte OpenType dá suporte. Ao definir as propriedades de Typography na marcação, você pode facilmente criar documentos que aproveitem os recursos do OpenType.
O texto a seguir exibe letras maiúsculas padrão para a fonte Pescadero, seguidas pelas letras denominadas "SmallCaps" e "AllSmallCaps". Nesse caso, o mesmo tamanho da fonte é usado para todas as três palavras.
O exemplo de marcação a seguir mostra como definir capitais para a fonte Pescadero usando propriedades do objeto Typography. Quando o formato "SmallCaps" é usado, qualquer letra maiúscula principal é ignorada.
<Paragraph FontFamily="Pescadero" FontSize="48">
<Run>CAPITALS</Run>
<Run Typography.Capitals="SmallCaps">Capitals</Run>
<Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>
O exemplo de código a seguir realiza a mesma tarefa que o exemplo de marcação anterior.
MyParagraph.FontFamily = new FontFamily("Pescadero");
MyParagraph.FontSize = 48;
Run run_1 = new Run("CAPITALS ");
MyParagraph.Inlines.Add(run_1);
Run run_2 = new Run("Capitals ");
run_2.Typography.Capitals = FontCapitals.SmallCaps;
MyParagraph.Inlines.Add(run_2);
Run run_3 = new Run("Capitals");
run_3.Typography.Capitals = FontCapitals.AllSmallCaps;
MyParagraph.Inlines.Add(run_3);
MyParagraph.Inlines.Add(new LineBreak());
MyParagraph.FontFamily = New FontFamily("Pescadero")
MyParagraph.FontSize = 48
Dim run_1 As New Run("CAPITALS ")
MyParagraph.Inlines.Add(run_1)
Dim run_2 As New Run("Capitals ")
run_2.Typography.Capitals = FontCapitals.SmallCaps
MyParagraph.Inlines.Add(run_2)
Dim run_3 As New Run("Capitals")
run_3.Typography.Capitals = FontCapitals.AllSmallCaps
MyParagraph.Inlines.Add(run_3)
MyParagraph.Inlines.Add(New LineBreak())
Propriedades da classe de tipografia
A tabela a seguir lista as propriedades, os valores e as configurações padrão do objeto Typography.
Consulte também
.NET Desktop feedback