TextFormatter TextFormatter TextFormatter TextFormatter Class

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
TextFormatterTextFormatterTextFormatterTextFormatter
Implementiert

Beispiele

Das folgende Beispiel zeigt, wie Sie mit einem TextFormatter Objekt, um formatierte Textzeilen zu generieren, die angezeigt werden können, wie das Zeichnen von Objekten.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 Umbrechen von Textzeilen enthält.TextFormatter is the WPFWPF text engine that provides services for formatting text and breaking text lines. TextFormatter kann unterschiedliche Textzeichenformate und Absatzformatvorlagen verarbeiten, und bietet Unterstützung für internationales TextLayout.TextFormatter can handle different text character formats and paragraph styles, and includes support for international text layout.

Im Gegensatz zu einer herkömmlichen Text- APIAPI, TextFormatter interagiert mit einem Textlayoutclient durch eine Reihe von Rückrufmethoden.Unlike a traditional text APIAPI, the TextFormatter interacts with a text layout client through a set of callback methods. Der Client muss diese Methoden in einer Implementierung der Bereitstellen der TextSource Klasse.It requires the client to provide these methods in an implementation of the TextSource class. Das folgende Diagramm veranschaulicht die Interaktion des Clients das Formatierungsprogramm und das Textlayout-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 der Textlayout-Clients und TextFormatter-ObjektInteraction between the text layout client and the TextFormatter object

Formatieren von Text-DiensteText Formatting Services

TextFormatter bietet Unterstützung für Text-Funktionen, z. B. OpenType-Typografie sowie Unterstützung für die textausführung, Linien- und Absatz-Funktionen auf Websiteebene.TextFormatter provides support for text features, such as OpenType typography, as well as support for text run, line, and paragraph level features.

Die folgende Tabelle enthält eine Liste mit den Schlüssel TextFormatter Dienste für Features unterstützt.The following table is a list of the key TextFormatter supported services for text features.

FeatureFeature Beschreibung Description
HintergrundpinselBackground brush Die Brush , die 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 Legt den Abstand der Baseline der Linie.Determines the baseline distance of the line. Siehe BaselineAlignment-Eigenschaft.See the BaselineAlignment property.
Verknüpfung von SchriftartFont linking Bietet durch die Verwendung von zusammengesetzten Schriftarten Verknüpfung von Schriftart an.Provides font linking through the use of composite fonts.
VordergrundpinselForeground brush Die Brush , die für die Vordergrundfarbe verwendet wird.The Brush that is used for the foreground color. Siehe ForegroundBrush-Eigenschaft.See the ForegroundBrush property.
OpenTypeOpenType Erweiterte typografische OpenType-Funktionen, solche kontextbedingten und Standardligaturen.Advanced OpenType typographic features, such contextual alternates and standard ligatures. Finden Sie unter den TextRunTypographyProperties Eigenschaften der Klasse.See the TextRunTypographyProperties class properties.
SchriftartTypeface Bestimmt die Schriftart, ebenso wie der Gewichtung, Stil und Stretch.Determines the typeface, as well as, weight, style, and stretch. Siehe Typeface-Eigenschaft.See the Typeface property.
Text-decorationText decoration Bietet Unterstützung für TextDecoration Objekte, z. B. unterstrichen oder durchgestrichen.Provides support for TextDecoration objects, such as underline or strikethrough. Siehe TextDecorations-Eigenschaft.See the TextDecorations property.
TexteffekteText effects Bietet Unterstützung für TextEffect Objekte.Provides support for TextEffect objects. Siehe TextEffects-Eigenschaft.See the TextEffects property.

Die folgende Tabelle enthält eine Liste mit den Schlüssel TextFormatter unterstützten Dienste für den Absatz-Level-Funktionen.The following table is a list of the key TextFormatter supported services for paragraph-level features.

FeatureFeature Beschreibung Description
FlussrichtungFlow direction Die flussrichtung des Absatzes - links-nach-rechts oder rechts-nach-links.Flow direction of the paragraph - left-to-right, or right-to-left. Siehe FlowDirection-Eigenschaft.See the FlowDirection property.
ZeileneinzugLine indentation Einzug für jede Zeile im Absatz.Indentation for each line in the paragraph. Siehe Indent-Eigenschaft.See the Indent property.
MarkerMarker Der Markierungsmerkmale der ersten Zeile im Absatz.Marker characteristics of the first line in the paragraph. Siehe TextMarkerProperties-Eigenschaft.See the TextMarkerProperties property.
AbsatzeinzugsParagraph indentation Der Einzug der ersten Zeile im Absatz.Indentation for the first line in the paragraph. Siehe ParagraphIndent-Eigenschaft.See the ParagraphIndent property.
RegisterkartenTabs Bietet Unterstützung für Registerkarte Ausrichtung und die Tabstoppführungslinie.Includes support for tab alignment and tab leader.
BreiteWidth Bestimmen Sie die minimalen und maximalen Absatzbreite.Determine minimum and maximum paragraph width. Finden Sie unter den FormatMinMaxParagraphWidth Methoden.See the FormatMinMaxParagraphWidth methods.
ZeilenumbruchWord wrap Bestimmen Sie, wie Text umbrochen wird, wenn er den Textflussrand erreicht.Determine how text wraps when it reaches the flow edge. Siehe TextWrapping-Eigenschaft.See the TextWrapping property.

Die folgende Tabelle enthält eine Liste mit den Schlüssel TextFormatter unterstützten Dienste für Line-Level-Funktionen.The following table is a list of the key TextFormatter supported services for line-level features.

FeatureFeature Beschreibung Description
AusrichtungAlignment Textausrichtung - links, rechts, zentriert oder im Blocksatz ausgerichtet.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.
Zeile reduzierenLine collapsing Zeile, die Unterstützung zu reduzieren.Line collapsing support. Finden Sie unter den Collapse Methode.See the Collapse method.
Black Box-MessungBlack 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ügemarke-UnterstützungCaret support Navigation mit der Einfügemarke und Support zu bearbeiten.Caret navigation and editing support. Finden Sie unter den TextLine -Eigenschaften für ermittelte Zeichen, z. B. GetNextCaretCharacterHit und GetPreviousCaretCharacterHit.See the TextLine character hit properties, such as GetNextCaretCharacterHit and GetPreviousCaretCharacterHit.

Die folgende Tabelle enthält eine Liste mit den Schlüssel TextFormatter unterstützten Dienste für Text-ausführen-Level-Funktionen.The following table is a list of the key TextFormatter supported services for text run-level features.

FeatureFeature Beschreibung Description
Ausgeblendete ausführenHidden run Bereich von Zeichen, die nicht sichtbar sind.Range of characters that are not visible. Finden Sie unter den TextHidden Objekt.See the TextHidden object.
BreakingBreaking Linie und Absatzwechsel.Line and paragraph breaking.

Konstruktoren

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

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

Methoden

Create() Create() Create() 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) Create(TextFormattingMode) Create(TextFormattingMode) 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() Dispose() Dispose() 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) Equals(Object) Equals(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.

(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)

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) FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak, TextRunCache) FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak, TextRunCache) 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) FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties) FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties) 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) FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties, TextRunCache) FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties, TextRunCache) 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() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

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

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

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

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

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

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

(Inherited from Object)

Gilt für:

Siehe auch