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.

従来のテキストとは異なりAPIAPITextFormatter一連のコールバック メソッドを介してテキスト レイアウト クライアントと対話します。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 Brush背景色に使用されます。The 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 Brush前景の色に使用されます。The 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 タイプフェイスだけでなく、太さ、スタイル、および stretch を決定します。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文字などのプロパティをヒットGetNextCaretCharacterHitGetPreviousCaretCharacterHitします。See 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)

適用対象

こちらもご覧ください