Introducción al objeto GlyphRun y al elemento Glyphs
Actualización: noviembre 2007
En este tema se describen el objeto GlyphRun y el elemento Glyphs.
Este tema contiene las secciones siguientes.
- Introducción a GlyphRun
- Objeto GlyphRun
- Elemento Glyphs
- Métricas de glifos
- Marcado de glifos
- Temas relacionados
Introducción a GlyphRun
Windows Presentation Foundation (WPF) proporciona compatibilidad con texto avanzado que incluye marcado de nivel de glifos con acceso directo a Glyphs para los clientes que desean interceptar y conservar el texto después de darle formato. Estas características proporcionan compatibilidad vital para los distintos requisitos de representación de texto de cada uno de los escenarios siguientes.
Presentación en pantalla de documentos de formato fijo.
Escenarios de impresión.
Lenguaje de marcado de aplicaciones extensible (XAML) como lenguaje de dispositivos de impresión.
Escritor de documentos XPS de Microsoft.
Controladores de impresora anteriores, salida de aplicaciones de Win32 en formato fijo.
Formato de colas de impresión.
Representación de documentos de formato fijo, incluidos clientes de versiones anteriores de Windows y otros dispositivos informáticos.
Nota
Glyphs y GlyphRun se han diseñado para la presentación de documentos de formato fijo y escenarios de impresión. Windows Presentation Foundation (WPF) proporciona varios elementos para escenarios generales de diseño e interfaz de usuario (UI), como Label y TextBlock. Para obtener más información sobre los escenarios de diseño e interfaz de usuario, vea Tipografía en Windows Presentation Foundation.
Objeto GlyphRun
El objeto GlyphRun representa una secuencia de glifos de un solo tipo de letra de una única fuente en un solo tamaño y con un único estilo de representación.
El objeto GlyphRun incluye detalles de la fuente, como la propiedad Indices del glifo y las posiciones de glifo individuales. Además, incluye los puntos de código originales de Unicode a partir de los que se generó la ejecución, información de asignación de desplazamiento de búfer de carácter a glifo, y marcadores por glifo y por carácter.
GlyphRun tiene un objeto FrameworkElement correspondiente de alto nivel, Glyphs. Glyphs se puede utilizar en el árbol de elementos y en marcado XAML para representar la salida de GlyphRun.
Elemento Glyphs
El elemento Glyphs representa la salida de GlyphRun en XAML. La sintaxis de marcado siguiente se utiliza para describir el elemento Glyphs.
<!-- The example shows how to use a Glyphs object. -->
<Page
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://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>
Las definiciones de propiedad siguientes corresponden a los primeros cuatro atributos del marcado del ejemplo.
Propiedad |
Descripción |
---|---|
Especifica un identificador de recursos: el nombre de archivo, identificador de recursos uniforme (URI) de web o referencia de recurso en el archivo .exe o contenedor de la aplicación. |
|
Especifica el tamaño de fuente en unidades de la superficie de dibujo (el valor predeterminado es 0,96 pulgadas). |
|
Especifica los marcadores para los estilos de negrita y cursiva. |
|
Especifica el nivel del diseño bidireccional. Los números pares y el cero significan que el diseño es de izquierda a derecha; los valores impares representan un diseño de derecha a izquierda. |
Propiedad Indices
La propiedad Indices es una cadena de especificaciones del glifo. En aquellos casos en que una secuencia de glifos forma un clúster único, la especificación del primer glifo del clúster va precedida por un a especificación del número de glifos y puntos de código se combinan para constituir el clúster. La propiedad Indices recopila en una cadena las propiedades siguientes.
Índices de glifo
Anchos de avance del glifo
Combinación de vectores de asociación de glifos
Asignación del clúster de los puntos de código a los glifos
Marcadores de glifo
Cada especificación del glifo tiene la forma siguiente.
[GlyphIndex][,[Advance][,[uOffset][,[vOffset][,[Flags]]]]]
Métricas de glifos
Cada glifo define métricas que especifican cómo se alinea con otros Glyphs. En el gráfico siguiente se definen las distintas calidades tipográficas de dos caracteres de glifo diferentes.
Marcado de glifos
En el ejemplo de código siguiente se muestra cómo se utilizan diversas propiedades del elemento Glyphs en XAML.
<!-- The example shows how to use different property settings of Glyphs objects. -->
<Canvas
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://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>
Vea también
Conceptos
Tipografía en Windows Presentation Foundation