TextFormatter TextFormatter TextFormatter TextFormatter Class

Definición

Proporciona los servicios para dar formato al texto e interrumpir líneas de texto mediante un cliente de diseño de texto personalizado.Provides services for formatting text and breaking text lines using a custom text layout client.

public ref class TextFormatter abstract : IDisposable
public abstract class TextFormatter : IDisposable
type TextFormatter = class
    interface IDisposable
Public MustInherit Class TextFormatter
Implements IDisposable
Herencia
TextFormatterTextFormatterTextFormatterTextFormatter
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra cómo utilizar TextFormatter un objeto para generar líneas de texto con formato que se pueden mostrar como objetos de dibujo.The following example shows how to use a TextFormatter object to generate formatted lines of text that can be displayed as drawing objects.

// Create a TextFormatter object.
TextFormatter formatter = TextFormatter.Create();

// Create common paragraph property settings.
CustomTextParagraphProperties customTextParagraphProperties
    = new CustomTextParagraphProperties();

// Format each line of text from the text store and draw it.
while (textStorePosition < customTextSource.Text.Length)
{
    // Create a textline from the text store using the TextFormatter object.
    using (TextLine myTextLine = formatter.FormatLine(
        customTextSource,
        textStorePosition,
        96 * 6,
        customTextParagraphProperties,
        null))
    {
        // Draw the formatted text into the drawing context.
        myTextLine.Draw(drawingContext, linePosition, InvertAxes.None);

        // Update the index position in the text store.
        textStorePosition += myTextLine.Length;

        // Update the line position coordinate for the displayed line.
        linePosition.Y += myTextLine.Height;
    }
}
' Create a TextFormatter object.
Dim formatter As TextFormatter = TextFormatter.Create()

' Create common paragraph property settings.
Dim customTextParagraphProperties As New CustomTextParagraphProperties()

' Format each line of text from the text store and draw it.
Do While textStorePosition < customTextSource.Text.Length
	' Create a textline from the text store using the TextFormatter object.
	Using myTextLine As TextLine = formatter.FormatLine(customTextSource, textStorePosition, 96 * 6, customTextParagraphProperties, Nothing)
		' Draw the formatted text into the drawing context.
		myTextLine.Draw(drawingContext, linePosition, InvertAxes.None)

		' Update the index position in the text store.
		textStorePosition += myTextLine.Length

		' Update the line position coordinate for the displayed line.
		linePosition.Y += myTextLine.Height
	End Using
Loop

Comentarios

TextFormatteres el WPFWPF motor de texto que proporciona servicios para dar formato al texto y dividir las líneas de texto.TextFormatter is the WPFWPF text engine that provides services for formatting text and breaking text lines. TextFormatterpuede administrar diferentes formatos de caracteres de texto y estilos de párrafo, e incluye compatibilidad con el diseño de texto internacional.TextFormatter can handle different text character formats and paragraph styles, and includes support for international text layout.

A diferencia de un texto APIAPItradicional TextFormatter , interactúa con un cliente de diseño de texto a través de un conjunto de métodos de devolución de llamada.Unlike a traditional text APIAPI, the TextFormatter interacts with a text layout client through a set of callback methods. Requiere que el cliente proporcione estos métodos en una implementación de la TextSource clase.It requires the client to provide these methods in an implementation of the TextSource class. En el diagrama siguiente se muestra la interacción entre el cliente del formateador de texto y el cliente de diseño de texto.The following diagram illustrates the interaction of the text formatter client and the text layout client.

Diagrama del cliente de diseño de texto y TextFormatterDiagram of text layout client and TextFormatter
Interacción entre el cliente de diseño de texto y el objeto TextFormatterInteraction between the text layout client and the TextFormatter object

Servicios de formato de textoText Formatting Services

TextFormatterproporciona compatibilidad para las características de texto, como la tipografía OpenType, así como la compatibilidad con las características de ejecución de texto, línea y nivel de párrafo.TextFormatter provides support for text features, such as OpenType typography, as well as support for text run, line, and paragraph level features.

En la tabla siguiente se muestra una lista de TextFormatter los servicios principales admitidos para las características de texto.The following table is a list of the key TextFormatter supported services for text features.

CaracterísticaFeature DescripciónDescription
Pincel de fondoBackground brush Brush Que se usa para el color de fondo.The Brush that is used for the background color. Vea la propiedad BackgroundBrush.See the BackgroundBrush property.
Alineación de línea baseBaseline alignment Determina la distancia de línea base de la línea.Determines the baseline distance of the line. Vea la propiedad BaselineAlignment.See the BaselineAlignment property.
Vinculación de fuentesFont linking Proporciona la vinculación de fuentes mediante el uso de fuentes compuestas.Provides font linking through the use of composite fonts.
Pincel de primer planoForeground brush Brush Que se usa para el color de primer plano.The Brush that is used for the foreground color. Vea la propiedad ForegroundBrush.See the ForegroundBrush property.
OpenTypeOpenType Características tipográficas OpenType avanzadas, tales alternativas contextuales y ligaduras estándar.Advanced OpenType typographic features, such contextual alternates and standard ligatures. Vea las TextRunTypographyProperties propiedades de la clase.See the TextRunTypographyProperties class properties.
TipográficoTypeface Determina el tipo de letra, así como, peso, estilo y ajuste.Determines the typeface, as well as, weight, style, and stretch. Vea la propiedad Typeface.See the Typeface property.
Decoración de textoText decoration Proporciona compatibilidad TextDecoration con objetos, como subrayado o tachado.Provides support for TextDecoration objects, such as underline or strikethrough. Vea la propiedad TextDecorations.See the TextDecorations property.
Efectos de textoText effects Proporciona compatibilidad para TextEffect los objetos.Provides support for TextEffect objects. Vea la propiedad TextEffects.See the TextEffects property.

En la tabla siguiente se muestra una lista de TextFormatter los servicios principales admitidos para las características de nivel de párrafo.The following table is a list of the key TextFormatter supported services for paragraph-level features.

CaracterísticaFeature DescripciónDescription
Dirección del flujoFlow direction Dirección de flujo del párrafo (de izquierda a derecha o de derecha a izquierda).Flow direction of the paragraph - left-to-right, or right-to-left. Vea la propiedad FlowDirection.See the FlowDirection property.
Sangría de líneaLine indentation Sangría para cada línea del párrafo.Indentation for each line in the paragraph. Vea la propiedad Indent.See the Indent property.
MarcadorMarker Características de marcador de la primera línea del párrafo.Marker characteristics of the first line in the paragraph. Vea la propiedad TextMarkerProperties.See the TextMarkerProperties property.
Sangría de párrafoParagraph indentation Sangría de la primera línea del párrafo.Indentation for the first line in the paragraph. Vea la propiedad ParagraphIndent.See the ParagraphIndent property.
TabulacionesTabs Incluye compatibilidad para la alineación de tabulación y el carácter de tabulación.Includes support for tab alignment and tab leader.
AnchoWidth Determine el ancho de párrafo mínimo y máximo.Determine minimum and maximum paragraph width. Vea los FormatMinMaxParagraphWidth métodos.See the FormatMinMaxParagraphWidth methods.
Ajuste de líneaWord wrap Determine cómo se ajusta el texto cuando alcanza el borde del flujo.Determine how text wraps when it reaches the flow edge. Vea la propiedad TextWrapping.See the TextWrapping property.

En la tabla siguiente se muestra una lista de TextFormatter los servicios clave admitidos para las características de nivel de línea.The following table is a list of the key TextFormatter supported services for line-level features.

CaracterísticaFeature DescripciónDescription
AlineaciónAlignment Alineación de texto: izquierda, derecha, centrada o justificada.Text alignment - left, right, centered, or justified. Vea la propiedad TextAlignment.See the TextAlignment property.
Alto de líneaLine height Alto de la línea.Height of the line. Vea la propiedad Height.See the Height property.
Contraer líneaLine collapsing Compatibilidad con la contracción de línea.Line collapsing support. Vea el Collapse método.See the Collapse method.
Medida de cuadro negroBlack box measurement Representa las métricas utilizadas para colocar un carácter en la fuente de un dispositivo.Represents the metrics used to lay out a character in a device font. Vea la descripción de la clase CharacterMetrics.See the CharacterMetrics class.
Compatibilidad con el símbolo de intercalaciónCaret support Compatibilidad con la navegación y la edición del símbolo de intercalación.Caret navigation and editing support. Vea las TextLine propiedades de los caracteres de posicionamiento GetNextCaretCharacterHit , GetPreviousCaretCharacterHitcomo y.See the TextLine character hit properties, such as GetNextCaretCharacterHit and GetPreviousCaretCharacterHit.

En la tabla siguiente se muestra una lista de TextFormatter los servicios principales admitidos para las características de nivel de ejecución de texto.The following table is a list of the key TextFormatter supported services for text run-level features.

CaracterísticaFeature DescripciónDescription
Ejecución ocultaHidden run Intervalo de caracteres que no están visibles.Range of characters that are not visible. Vea el TextHidden objeto.See the TextHidden object.
ProblemáticoBreaking Salto de línea y de párrafo.Line and paragraph breaking.

Constructores

TextFormatter() TextFormatter() TextFormatter() TextFormatter()

Inicializa una nueva instancia de la clase TextFormatter.Initializes a new instance of the TextFormatter class.

Métodos

Create() Create() Create() Create()

Crea una nueva instancia de la clase TextFormatter.Creates a new instance of the TextFormatter class. Se trata de un método estático.This is a static method.

Create(TextFormattingMode) Create(TextFormattingMode) Create(TextFormattingMode) Create(TextFormattingMode)

Crea una nueva instancia de la clase TextFormatter con el modo de formato especificado.Creates a new instance of the TextFormatter class with the specified formatting mode. Se trata de un método estático.This is a static method.

Dispose() Dispose() Dispose() Dispose()

Libera todos los recursos administrados y no administrados que usa el objeto TextFormatter.Releases all managed and unmanaged resources used by the TextFormatter object.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak) FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak) FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak) FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak)

Crea un objeto TextLine que se usa para dar formato y mostrar el contenido de un documento.Creates a TextLine that is used for formatting and displaying document content.

FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak, TextRunCache) FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak, TextRunCache) FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak, TextRunCache) FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak, TextRunCache)

Crea un objeto TextLine que se usa para dar formato y mostrar el contenido de un documento.Creates a TextLine that is used for formatting and displaying document content.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties) FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties) FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties) FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties)

Devuelve un valor que representa el ancho de párrafo menor y mayor posible que puede incluir totalmente el contenido de texto especificado.Returns a value that represents the smallest and largest possible paragraph width that can fully contain the specified text content.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties, TextRunCache) FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties, TextRunCache) FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties, TextRunCache) FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties, TextRunCache)

Devuelve un valor que representa el ancho de párrafo menor y mayor posible que puede incluir totalmente el contenido de texto especificado.Returns a value that represents the smallest and largest possible paragraph width that can fully contain the specified text content.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Se aplica a

Consulte también: