TextFormatter TextFormatter TextFormatter TextFormatter Class

定義

カスタム テキスト レイアウト クライアントを使用して、テキストの書式設定およびテキスト行の改行のサービスを提供します。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
継承
TextFormatterTextFormatterTextFormatterTextFormatter
実装

次の例は、オブジェクトを使用TextFormatterして、描画オブジェクトとして表示できるテキストの書式設定された行を生成する方法を示しています。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

注釈

TextFormatterは、 WPFWPFテキストの書式設定やテキスト行の分割を行うためのサービスを提供するテキストエンジンです。TextFormatter is the WPFWPF text engine that provides services for formatting text and breaking text lines. TextFormatterでは、さまざまなテキスト文字形式と段落スタイルを処理でき、国際対応のテキストレイアウトもサポートされています。TextFormatter can handle different text character formats and paragraph styles, and includes support for international text layout.

従来のテキストAPIAPIとは異なりTextFormatter 、は、一連のコールバックメソッドを使用してテキストレイアウトクライアントと対話します。Unlike a traditional text APIAPI, the TextFormatter interacts with a text layout client through a set of callback methods. クライアントは、 TextSourceクラスの実装でこれらのメソッドを提供する必要があります。It requires the client to provide these methods in an implementation of the TextSource class. 次の図は、テキストフォーマッタクライアントとテキストレイアウトクライアントの相互作用を示しています。The following diagram illustrates the interaction of the text formatter client and the text layout client.

テキストレイアウトクライアントと TextFormatter のダイアグラムDiagram of text layout client and TextFormatter
テキストレイアウトクライアントと TextFormatter オブジェクトの間の相互作用Interaction between the text layout client and the TextFormatter object

テキストの書式設定サービスText Formatting Services

TextFormatterでは、OpenType タイポグラフィなどのテキスト機能に加え、テキストラン、行、および段落レベルの機能がサポートされています。TextFormatter provides support for text features, such as OpenType typography, as well as support for text run, line, and paragraph level features.

次の表に、テキスト機能でサポートTextFormatterされる主要なサービスの一覧を示します。The following table is a list of the key TextFormatter supported services for text features.

機能Feature 説明Description
背景ブラシBackground brush 背景色に使用される。BrushThe Brush that is used for the background color. BackgroundBrush プロパティを参照してください。See the BackgroundBrush property.
ベースラインの配置Baseline alignment 線のベースラインの距離を決定します。Determines the baseline distance of the line. BaselineAlignment プロパティを参照してください。See the BaselineAlignment property.
フォントのリンクFont linking 複合フォントを使用したフォントのリンクを提供します。Provides font linking through the use of composite fonts.
前景ブラシForeground brush 前景色に使用される。BrushThe Brush that is used for the foreground color. ForegroundBrush プロパティを参照してください。See the ForegroundBrush property.
OpenTypeOpenType 高度な OpenType 表記機能 (文脈に依存しない、標準合字など)。Advanced OpenType typographic features, such contextual alternates and standard ligatures. クラスのTextRunTypographyPropertiesプロパティを参照してください。See the TextRunTypographyProperties class properties.
伴うTypeface タイプフェイス、太さ、スタイル、および伸縮を決定します。Determines the typeface, as well as, weight, style, and stretch. Typeface プロパティを参照してください。See the Typeface property.
文字の装飾Text decoration 下線や取り消しTextDecoration線などのオブジェクトのサポートを提供します。Provides support for TextDecoration objects, such as underline or strikethrough. TextDecorations プロパティを参照してください。See the TextDecorations property.
テキスト効果Text effects オブジェクトのサポートTextEffectを提供します。Provides support for TextEffect objects. TextEffects プロパティを参照してください。See the TextEffects property.

次の表は、段落レベルの機能TextFormatterでサポートされる主要なサービスの一覧です。The following table is a list of the key TextFormatter supported services for paragraph-level features.

機能Feature 説明Description
フロー方向Flow direction 段落のフロー方向 (左から右、または右から左)。Flow direction of the paragraph - left-to-right, or right-to-left. FlowDirection プロパティを参照してください。See the FlowDirection property.
行のインデントLine indentation 段落内の各行のインデント。Indentation for each line in the paragraph. Indent プロパティを参照してください。See the Indent property.
マーカーMarker 段落の最初の行のマーカー特性。Marker characteristics of the first line in the paragraph. TextMarkerProperties プロパティを参照してください。See the TextMarkerProperties property.
段落インデントParagraph indentation 段落の最初の行のインデント。Indentation for the first line in the paragraph. ParagraphIndent プロパティを参照してください。See the ParagraphIndent property.
タブTabs タブの配置とタブリーダーのサポートが含まれます。Includes support for tab alignment and tab leader.
Width 段落の幅の最小値と最大値を決定します。Determine minimum and maximum paragraph width. メソッドをFormatMinMaxParagraphWidth参照してください。See the FormatMinMaxParagraphWidth methods.
右端で折り返すWord wrap フローエッジに達したときにテキストを折り返す方法を決定します。Determine how text wraps when it reaches the flow edge. TextWrapping プロパティを参照してください。See the TextWrapping property.

次の表は、行レベルの機能TextFormatterでサポートされる主要なサービスの一覧です。The following table is a list of the key TextFormatter supported services for line-level features.

機能Feature 説明Description
アラインメントAlignment 左揃え、右揃え、中央揃え、または両端揃え。Text alignment - left, right, centered, or justified. TextAlignment プロパティを参照してください。See the TextAlignment property.
[行間]Line height 線の高さ。Height of the line. Height プロパティを参照してください。See the Height property.
行の折りたたみLine collapsing 行の折りたたみサポート。Line collapsing support. メソッドをCollapse参照してください。See the Collapse method.
ブラックボックスの測定Black box measurement デバイス フォントで文字をレイアウトするために使用されるメトリックを表します。Represents the metrics used to lay out a character in a device font. 詳細については、CharacterMetrics クラスのトピックを参照してください。See the CharacterMetrics class.
キャレットのサポートCaret support キャレットのナビゲーションと編集のサポート。Caret navigation and editing support. やなどのTextLine文字ヒットプロパティを参照してくださいGetPreviousCaretCharacterHitGetNextCaretCharacterHitSee the TextLine character hit properties, such as GetNextCaretCharacterHit and GetPreviousCaretCharacterHit.

次の表は、テキストランレベル機能TextFormatterでサポートされる主要なサービスの一覧です。The following table is a list of the key TextFormatter supported services for text run-level features.

機能Feature 説明Description
非表示の実行Hidden run 表示されない文字の範囲。Range of characters that are not visible. オブジェクトをTextHidden参照してください。See the TextHidden object.
ありBreaking 行と段落の区切り。Line and paragraph breaking.

コンストラクター

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

TextFormatter クラスの新しいインスタンスを初期化します。Initializes a new instance of the TextFormatter class.

メソッド

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

TextFormatter クラスの新しいインスタンスを作成します。Creates a new instance of the TextFormatter class. これは静的メソッドです。This is a static method.

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

指定した書式設定モードを使用して、TextFormatter クラスの新しいインスタンスを作成します。Creates a new instance of the TextFormatter class with the specified formatting mode. これは静的メソッドです。This is a static method.

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

TextFormatter オブジェクトによって使用されているマネージド リソースおよびアンマネージド リソースをすべて解放します。Releases all managed and unmanaged resources used by the TextFormatter object.

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

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。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)

ドキュメント コンテンツの書式設定および表示に使用される TextLine を作成します。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)

ドキュメント コンテンツの書式設定および表示に使用される TextLine を作成します。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)

指定したテキスト コンテンツをすべて格納できる最小および最大の段落幅を表す値を返します。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)

指定したテキスト コンテンツをすべて格納できる最小および最大の段落幅を表す値を返します。Returns a value that represents the smallest and largest possible paragraph width that can fully contain the specified text content.

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

既定のハッシュ関数として機能します。Serves as the default hash function.

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

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

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

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

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

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象

こちらもご覧ください