Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este tópico descreve o objeto GlyphRun e o elemento Glyphs.
Introdução ao GlyphRun
O Windows Presentation Foundation (WPF) fornece suporte avançado a texto, incluindo marcação em nível de glifo com acesso direto a Glyphs para clientes que desejam intercetar e persistir texto após a formatação. Esses recursos fornecem suporte crítico para os diferentes requisitos de renderização de texto em cada um dos cenários a seguir.
Exibição na tela de documentos de formato fixo.
Imprimir cenários.
Extensible Application Markup Language (XAML) como uma linguagem de impressora de dispositivo.
Gravador de documentos Microsoft XPS.
Drivers de impressora anteriores, saída de aplicações Win32 para formato fixo.
Formato de spool de impressão.
Representação de documentos em formato fixo, incluindo clientes para versões anteriores do Windows e outros dispositivos informáticos.
Observação
Glyphs e GlyphRun são projetados para apresentação de documentos em formato fixo e cenários de impressão. WPF fornece vários elementos para layout geral e cenários de interface do usuário (UI), como Label e TextBlock. Para obter mais informações sobre cenários de layout e interface do usuário, consulte a Tipografia no WPF.
O objeto GlyphRun
O objeto GlyphRun representa uma sequência de glifos de uma única face de uma única fonte em um único tamanho e com um único estilo de renderização.
GlyphRun inclui detalhes da fonte, como os glifos Indices e as posições individuais dos glifos. Ele também inclui os pontos de código Unicode originais a partir dos quais a execução foi gerada, informações de mapeamento de deslocamento de buffer de caractere para glifo e sinalizadores por caractere e por glifo.
GlyphRun tem correspondentes de alto nível, FrameworkElement, Glyphs. Glyphs pode ser utilizado na árvore de elementos e na marcação XAML para representar a saída de GlyphRun.
O Elemento Glifos
O elemento Glyphs representa a saída de um GlyphRun em XAML. A sintaxe de marcação a seguir é usada para descrever o elemento Glyphs.
<!-- The example shows how to use a Glyphs object. -->
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<StackPanel Background="PowderBlue">
<Glyphs
FontUri = "C:\WINDOWS\Fonts\TIMES.TTF"
FontRenderingEmSize = "100"
StyleSimulations = "BoldSimulation"
UnicodeString = "Hello World!"
Fill = "Black"
OriginX = "100"
OriginY = "200"
/>
</StackPanel>
</Page>
As seguintes definições de propriedade correspondem aos quatro primeiros atributos no exemplo de marcação.
| Propriedade | Descrição |
|---|---|
| FontUri | Especifica um identificador de recurso: nome do arquivo, identificador de recurso uniforme da Web (URI) ou referência de recurso no .exe ou contêiner do aplicativo. |
| FontRenderingEmSize | Especifica o tamanho da fonte em unidades de superfície de desenho (o padrão é .96 polegadas). |
| StyleSimulations | Especifica parâmetros para os estilos negrito e itálico. |
| BidiLevel | Especifica o nível de layout bidirecional. Valores pares e zero implicam layout da esquerda para a direita; valores ímpares implicam layout da direita para a esquerda. |
Propriedade índices
A propriedade Indices é uma cadeia de especificações de glifo. Quando uma sequência de glifos forma um único cluster, a especificação do primeiro glifo no cluster é precedida por uma especificação de quantos glifos e quantos pontos de código se combinam para formar o cluster. A propriedade Indices coleta em uma cadeia de caracteres as seguintes propriedades.
Índices de glifos
Larguras de avanço do glifo
Combinando vetores de fixação de glifos
Mapeamento de cluster de pontos de código para glifos
Bandeiras de glifos
Cada especificação de glifo tem a seguinte forma.
[GlyphIndex][,[Advance][,[uOffset][,[vOffset][,[Flags]]]]]
Métricas do glifo
Cada glifo define métricas que especificam como ele se alinha com outros Glyphs. O gráfico a seguir define as várias qualidades tipográficas de dois caracteres glifos diferentes.
Marcação de glifos
O exemplo de código a seguir mostra como usar várias propriedades do elemento Glyphs em XAML.
<!-- The example shows how to use different property settings of Glyphs objects. -->
<Canvas
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="PowderBlue"
>
<Glyphs
FontUri = "C:\WINDOWS\Fonts\ARIAL.TTF"
FontRenderingEmSize = "36"
StyleSimulations = "ItalicSimulation"
UnicodeString = "Hello World!"
Fill = "SteelBlue"
OriginX = "50"
OriginY = "75"
/>
<!-- "Hello World!" with default kerning -->
<Glyphs
FontUri = "C:\WINDOWS\Fonts\ARIAL.TTF"
FontRenderingEmSize = "36"
UnicodeString = "Hello World!"
Fill = "Maroon"
OriginX = "50"
OriginY = "150"
/>
<!-- "Hello World!" with explicit character widths for proportional font -->
<Glyphs
FontUri = "C:\WINDOWS\Fonts\ARIAL.TTF"
FontRenderingEmSize = "36"
UnicodeString = "Hello World!"
Indices = ",80;,80;,80;,80;,80;,80;,80;,80;,80;,80;,80"
Fill = "Maroon"
OriginX = "50"
OriginY = "225"
/>
<!-- "Hello World!" with fixed-width font -->
<Glyphs
FontUri = "C:\WINDOWS\Fonts\COUR.TTF"
FontRenderingEmSize = "36"
StyleSimulations = "BoldSimulation"
UnicodeString = "Hello World!"
Fill = "Maroon"
OriginX = "50"
OriginY = "300"
/>
<!-- "Open file" without "fi" ligature -->
<Glyphs
FontUri = "C:\WINDOWS\Fonts\TIMES.TTF"
FontRenderingEmSize = "36"
StyleSimulations = "BoldSimulation"
UnicodeString = "Open file"
Fill = "SlateGray"
OriginX = "400"
OriginY = "75"
/>
<!-- "Open file" with "fi" ligature -->
<Glyphs
FontUri = "C:\WINDOWS\Fonts\TIMES.TTF"
FontRenderingEmSize = "36"
StyleSimulations = "BoldSimulation"
UnicodeString = "Open file"
Indices = ";;;;;(2:1)191"
Fill = "SlateGray"
OriginX = "400"
OriginY = "150"
/>
</Canvas>
Ver também
.NET Desktop feedback