TextFormatter Classe

Definição

Fornece serviços para formatação de texto e quebra de linhas de texto usando um cliente de layout 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
Herança
TextFormatter
Implementações

Exemplos

O exemplo a seguir mostra como usar um objeto TextFormatter para gerar linhas de texto formatadas que podem ser exibidas como objetos de desenho.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

Comentários

TextFormatter é o mecanismo de texto WPFWPF que fornece serviços para formatação de texto e quebra de linha de texto.TextFormatter is the WPFWPF text engine that provides services for formatting text and breaking text lines. TextFormatter pode manipular diferentes formatos de caractere de texto e estilos de parágrafo e inclui suporte para layout de texto internacional.TextFormatter can handle different text character formats and paragraph styles, and includes support for international text layout.

Ao contrário de uma API de texto tradicional, a TextFormatter interage com um cliente de layout de texto por meio de um conjunto de métodos de retorno de chamada.Unlike a traditional text API, the TextFormatter interacts with a text layout client through a set of callback methods. Ele requer que o cliente forneça esses métodos em uma implementação da classe TextSource.It requires the client to provide these methods in an implementation of the TextSource class. O diagrama a seguir ilustra a interação entre o cliente formatador de texto e o cliente de layout de texto.The following diagram illustrates the interaction of the text formatter client and the text layout client.

Diagrama de cliente de layout de texto e TextFormatterDiagram of text layout client and TextFormatter
Interação entre o cliente de layout de texto e o objeto TextFormatterInteraction between the text layout client and the TextFormatter object

Serviços de formatação de textoText Formatting Services

TextFormatter fornece suporte para recursos de texto, como tipografia OpenType, bem como suporte para recursos de execução de texto, linha e parágrafo.TextFormatter provides support for text features, such as OpenType typography, as well as support for text run, line, and paragraph level features.

A tabela a seguir é uma lista da chave TextFormatter serviços com suporte para recursos de texto.The following table is a list of the key TextFormatter supported services for text features.

RecursoFeature DESCRIÇÃODescription
Pincel de plano de fundoBackground brush O Brush usado para a cor do plano de fundo.The Brush that is used for the background color. Consulte a propriedade BackgroundBrush.See the BackgroundBrush property.
Alinhamento da linha de baseBaseline alignment Determina a distância de linha de base da linha.Determines the baseline distance of the line. Consulte a propriedade BaselineAlignment.See the BaselineAlignment property.
Vinculação de fontesFont linking Fornece vinculação de fontes por meio do uso de fontes compostas.Provides font linking through the use of composite fonts.
Pincel de primeiro planoForeground brush O Brush usado para a cor de primeiro plano.The Brush that is used for the foreground color. Consulte a propriedade ForegroundBrush.See the ForegroundBrush property.
OpenTypeOpenType Recursos tipográficos OpenType avançados, tais como alternativas contextuais e ligaduras padrão.Advanced OpenType typographic features, such contextual alternates and standard ligatures. Consulte as propriedades da classe TextRunTypographyProperties.See the TextRunTypographyProperties class properties.
FaceTypeface Determina o tipo de fonte, bem como, peso, estilo e ampliação.Determines the typeface, as well as, weight, style, and stretch. Consulte a propriedade Typeface.See the Typeface property.
Decoração de textoText decoration Fornece suporte para objetos TextDecoration, como sublinhado ou tachado.Provides support for TextDecoration objects, such as underline or strikethrough. Consulte a propriedade TextDecorations.See the TextDecorations property.
Efeitos de textoText effects Fornece suporte para objetos de TextEffect.Provides support for TextEffect objects. Consulte a propriedade TextEffects.See the TextEffects property.

A tabela a seguir é uma lista da chave TextFormatter serviços com suporte para recursos de nível de parágrafo.The following table is a list of the key TextFormatter supported services for paragraph-level features.

RecursoFeature DESCRIÇÃODescription
Direção do fluxoFlow direction Direção do fluxo do parágrafo-da esquerda para a direita ou da direita para a esquerda.Flow direction of the paragraph - left-to-right, or right-to-left. Consulte a propriedade FlowDirection.See the FlowDirection property.
Recuo de linhaLine indentation Recuo para cada linha no parágrafo.Indentation for each line in the paragraph. Consulte a propriedade Indent.See the Indent property.
MarcadorMarker Características do marcador da primeira linha do parágrafo.Marker characteristics of the first line in the paragraph. Consulte a propriedade TextMarkerProperties.See the TextMarkerProperties property.
Recuo de parágrafoParagraph indentation Recuo da primeira linha do parágrafo.Indentation for the first line in the paragraph. Consulte a propriedade ParagraphIndent.See the ParagraphIndent property.
TabulaçõesTabs Inclui suporte para alinhamento de tabulação e preenchimento de tabulação.Includes support for tab alignment and tab leader.
LarguraWidth Determinar a largura mínima e máxima do parágrafo.Determine minimum and maximum paragraph width. Consulte os métodos de FormatMinMaxParagraphWidth.See the FormatMinMaxParagraphWidth methods.
Quebra automática de linhaWord wrap Determine como o texto é quebrado quando atinge a borda do fluxo.Determine how text wraps when it reaches the flow edge. Consulte a propriedade TextWrapping.See the TextWrapping property.

A tabela a seguir é uma lista da chave TextFormatter serviços com suporte para recursos de nível de linha.The following table is a list of the key TextFormatter supported services for line-level features.

RecursoFeature DESCRIÇÃODescription
AlinhamentoAlignment Alinhamento de texto-esquerda, direita, centralizado ou justificado.Text alignment - left, right, centered, or justified. Consulte a propriedade TextAlignment.See the TextAlignment property.
Altura da linhaLine height Altura da linha.Height of the line. Consulte a propriedade Height.See the Height property.
Recolhimento de linhaLine collapsing Suporte de recolhimento de linha.Line collapsing support. Consulte o método Collapse.See the Collapse method.
Medida de caixa pretaBlack box measurement Representa a métrica usada para criar o layout de um caractere em uma fonte do dispositivo.Represents the metrics used to lay out a character in a device font. Consulte a classe CharacterMetrics.See the CharacterMetrics class.
Suporte a cursorCaret support Suporte à navegação e à edição de cursor.Caret navigation and editing support. Consulte as TextLine Propriedades de acesso ao caractere, como GetNextCaretCharacterHit e GetPreviousCaretCharacterHit.See the TextLine character hit properties, such as GetNextCaretCharacterHit and GetPreviousCaretCharacterHit.

A tabela a seguir é uma lista da chave TextFormatter serviços com suporte para recursos de nível de execução de texto.The following table is a list of the key TextFormatter supported services for text run-level features.

RecursoFeature DESCRIÇÃODescription
Execução ocultaHidden run Intervalo de caracteres que não são visíveis.Range of characters that are not visible. Consulte o objeto TextHidden.See the TextHidden object.
Em interrupçãoBreaking Quebra de linha e parágrafo.Line and paragraph breaking.

Construtores

TextFormatter()

Inicia uma nova instância da classe TextFormatter.Initializes a new instance of the TextFormatter class.

Métodos

Create()

Cria uma nova instância da classe TextFormatter.Creates a new instance of the TextFormatter class. Esse é um método estático.This is a static method.

Create(TextFormattingMode)

Cria uma nova instância da classe TextFormatter com o modo de formatação especificado.Creates a new instance of the TextFormatter class with the specified formatting mode. Esse é um método estático.This is a static method.

Dispose()

Libera todos os recursos gerenciados e não gerenciados usados pelo objeto TextFormatter.Releases all managed and unmanaged resources used by the TextFormatter object.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak)

Cria um TextLine que é usado para formatar e exibir o conteúdo do documento.Creates a TextLine that is used for formatting and displaying document content.

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

Cria um TextLine que é usado para formatar e exibir o conteúdo do documento.Creates a TextLine that is used for formatting and displaying document content.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties)

Retorna um valor que representa a menor e a maior largura de parágrafo possível que contém totalmente o conteúdo 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)

Retorna um valor que representa a menor e a maior largura de parágrafo possível que contém totalmente o conteúdo de texto especificado.Returns a value that represents the smallest and largest possible paragraph width that can fully contain the specified text content.

GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Aplica-se a

Veja também