TextFormatter Klasse

Definition

Stellt Dienste zum Formatieren von Text und Umbrechen von Textzeilen mit einem benutzerdefinierten Textlayoutclient bereit.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
Vererbung
TextFormatter
Implementiert

Beispiele

Im folgenden Beispiel wird gezeigt, wie ein TextFormatter-Objekt verwendet wird, um formatierte Textzeilen zu generieren, die als Zeichnungsobjekte angezeigt werden können.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

Hinweise

TextFormatter ist die WPFWPF Text-Engine, die Dienste zum Formatieren von Text und zum Abbrechen von Textzeilen bereitstellt.TextFormatter is the WPFWPF text engine that provides services for formatting text and breaking text lines. TextFormatter können verschiedene Textzeichen Formate und Absatz Stile verarbeiten und Unterstützung für das internationale Text Layout enthalten.TextFormatter can handle different text character formats and paragraph styles, and includes support for international text layout.

Im Gegensatz zu einer herkömmlichen Text-API interagiert der TextFormatter mithilfe eines Satzes von Rückruf Methoden mit einem Textlayoutclient.Unlike a traditional text API, the TextFormatter interacts with a text layout client through a set of callback methods. Der Client muss diese Methoden in einer Implementierung der TextSource-Klasse bereitstellen.It requires the client to provide these methods in an implementation of the TextSource class. Das folgende Diagramm veranschaulicht die Interaktion des Text Formatierer-Clients und des Text Layout-Clients.The following diagram illustrates the interaction of the text formatter client and the text layout client.

Diagramm des Textlayout-Clients und TextFormatterDiagram of text layout client and TextFormatter
Interaktion zwischen dem Textlayoutclient und dem TextFormatter-ObjektInteraction between the text layout client and the TextFormatter object

Text Formatierungs DiensteText Formatting Services

TextFormatter bietet Unterstützung für Text Features, wie z. b. OpenType-Typografiefunktionen, sowie Unterstützung für Funktionen für die Text-, Zeilen-und Absatz Ebene.TextFormatter provides support for text features, such as OpenType typography, as well as support for text run, line, and paragraph level features.

In der folgenden Tabelle finden Sie eine Liste der Schlüssel TextFormatter unterstützten Dienste für Text Features.The following table is a list of the key TextFormatter supported services for text features.

FeatureFeature BeschreibungDescription
Hintergrund PinselBackground brush Der Brush, der für die Hintergrundfarbe verwendet wird.The Brush that is used for the background color. Siehe BackgroundBrush-Eigenschaft.See the BackgroundBrush property.
Baseline-AusrichtungBaseline alignment Bestimmt den Baseline-Abstand der Linie.Determines the baseline distance of the line. Siehe BaselineAlignment-Eigenschaft.See the BaselineAlignment property.
Schriftart VerknüpfungFont linking Stellt Schriftart Verknüpfungen durch die Verwendung von zusammengesetzten Schriftarten bereit.Provides font linking through the use of composite fonts.
Vordergrund PinselForeground brush Der Brush, der für die Vordergrundfarbe verwendet wird.The Brush that is used for the foreground color. Siehe ForegroundBrush-Eigenschaft.See the ForegroundBrush property.
OpenTypeOpenType Erweiterte OpenType-Typografiefunktionen, z. b. kontextabhängige Alternativen und Standard Ligaturen.Advanced OpenType typographic features, such contextual alternates and standard ligatures. Weitere Informationen finden Sie unter TextRunTypographyProperties-Klasseneigenschaften.See the TextRunTypographyProperties class properties.
GotikTypeface Bestimmt die Schriftart sowie Gewichtung, Stil und Streckung.Determines the typeface, as well as, weight, style, and stretch. Siehe Typeface-Eigenschaft.See the Typeface property.
Text DekorationText decoration Bietet Unterstützung für TextDecoration-Objekte, z. b. Unterstreichung oder durchgestrichen.Provides support for TextDecoration objects, such as underline or strikethrough. Siehe TextDecorations-Eigenschaft.See the TextDecorations property.
Text EffekteText effects Bietet Unterstützung für TextEffect-Objekte.Provides support for TextEffect objects. Siehe TextEffects-Eigenschaft.See the TextEffects property.

In der folgenden Tabelle finden Sie eine Liste der Schlüssel TextFormatter unterstützten Dienste für Features auf Absatz Ebene.The following table is a list of the key TextFormatter supported services for paragraph-level features.

FeatureFeature BeschreibungDescription
Fluss RichtungFlow direction Fluss Richtung des Absatzes von links nach rechts oder von rechts nach links.Flow direction of the paragraph - left-to-right, or right-to-left. Siehe FlowDirection-Eigenschaft.See the FlowDirection property.
Zeilen EinzugLine indentation Einzug für jede Zeile im Absatz.Indentation for each line in the paragraph. Siehe Indent-Eigenschaft.See the Indent property.
MarkerMarker Markermerkmale der ersten Zeile im Absatz.Marker characteristics of the first line in the paragraph. Siehe TextMarkerProperties-Eigenschaft.See the TextMarkerProperties property.
Absatz EinzugParagraph indentation Einzug für die erste Zeile im Absatz.Indentation for the first line in the paragraph. Siehe ParagraphIndent-Eigenschaft.See the ParagraphIndent property.
RegisterkartenTabs Enthält Unterstützung für die Registerkarten Ausrichtung und die Tab-Taste.Includes support for tab alignment and tab leader.
BreiteWidth Legen Sie die minimale und maximale Absatz Breite fest.Determine minimum and maximum paragraph width. Weitere Informationen finden Sie unter FormatMinMaxParagraphWidth Methoden.See the FormatMinMaxParagraphWidth methods.
ZeilenumbruchWord wrap Bestimmen Sie, wie Text beim Erreichen des flowedge umschlossen wird.Determine how text wraps when it reaches the flow edge. Siehe TextWrapping-Eigenschaft.See the TextWrapping property.

In der folgenden Tabelle finden Sie eine Liste der Schlüssel TextFormatter unterstützten Dienste für Funktionen auf Zeilenebene.The following table is a list of the key TextFormatter supported services for line-level features.

FeatureFeature BeschreibungDescription
AusrichtungAlignment Text Ausrichtung-Links, rechts, zentriert oder bündig.Text alignment - left, right, centered, or justified. Siehe TextAlignment-Eigenschaft.See the TextAlignment property.
ZeilenhöheLine height Die Höhe der Zeile.Height of the line. Siehe Height-Eigenschaft.See the Height property.
Zeilen reduzierendeLine collapsing Unterstützung für Zeilen Reduzierungs.Line collapsing support. Weitere Informationen finden Sie unter Collapse Methode.See the Collapse method.
Schwarze FeldmessungBlack box measurement Stellt die Metriken dar, mit denen das Layout eines Zeichens in einer Geräteschriftart erstellt wird.Represents the metrics used to lay out a character in a device font. Weitere Informationen finden Sie unter der CharacterMetrics-Klasse.See the CharacterMetrics class.
EinfügeunterstützungCaret support Navigation und Bearbeitung von Caretzeichen.Caret navigation and editing support. Weitere Informationen finden Sie unter TextLine Character Hit Properties, z. b. GetNextCaretCharacterHit und GetPreviousCaretCharacterHit.See the TextLine character hit properties, such as GetNextCaretCharacterHit and GetPreviousCaretCharacterHit.

In der folgenden Tabelle finden Sie eine Liste der Schlüssel TextFormatter unterstützten Dienste für Funktionen auf Text-Run-Ebene.The following table is a list of the key TextFormatter supported services for text run-level features.

FeatureFeature BeschreibungDescription
Versteckte TestlaufHidden run Bereich von Zeichen, die nicht sichtbar sind.Range of characters that are not visible. Weitere Informationen finden Sie unter TextHidden Objekt.See the TextHidden object.
BreakingBreaking Zeilen-und Absatz Umbruch.Line and paragraph breaking.

Konstruktoren

TextFormatter()

Initialisiert eine neue Instanz der TextFormatter-Klasse.Initializes a new instance of the TextFormatter class.

Methoden

Create()

Erstellt eine neue Instanz der TextFormatter-Klasse.Creates a new instance of the TextFormatter class. Dies ist eine statische Methode.This is a static method.

Create(TextFormattingMode)

Erstellt eine neue Instanz der TextFormatter-Klasse mit dem angegebenen Formatierungsmodus.Creates a new instance of the TextFormatter class with the specified formatting mode. Dies ist eine statische Methode.This is a static method.

Dispose()

Gibt alle verwalteten und nicht verwalteten Ressourcen frei, die vom TextFormatter-Objekt verwendet werden.Releases all managed and unmanaged resources used by the TextFormatter object.

Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak)

Erstellt eine TextLine, die zum Formatieren und Anzeigen von Dokumentinhalt verwendet wird.Creates a TextLine that is used for formatting and displaying document content.

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

Erstellt eine TextLine, die zum Formatieren und Anzeigen von Dokumentinhalt verwendet wird.Creates a TextLine that is used for formatting and displaying document content.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties)

Gibt einen Wert zurück, der die kleinstmögliche und größtmögliche Absatzbreite darstellt, die den angegebenen Textinhalt vollständig enthalten kann.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)

Gibt einen Wert zurück, der die kleinstmögliche und größtmögliche Absatzbreite darstellt, die den angegebenen Textinhalt vollständig enthalten kann.Returns a value that represents the smallest and largest possible paragraph width that can fully contain the specified text content.

GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Gilt für:

Siehe auch