TextFormatter クラス

定義

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

次の例は、オブジェクトを使用し 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.

従来のテキスト API とは異なり、TextFormatter では、一連のコールバック メソッドにより、テキスト レイアウト クライアントとの対話が行われます。Unlike a traditional text API, 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. クラスのプロパティを参照してください TextRunTypographyPropertiesSee 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. メソッドを参照してください FormatMinMaxParagraphWidthSee 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
AlignmentAlignment 左揃え、右揃え、中央揃え、または両端揃え。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. メソッドを参照してください CollapseSee 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 文字ヒットプロパティを参照してください GetNextCaretCharacterHit GetPreviousCaretCharacterHitSee 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. オブジェクトを参照してください TextHiddenSee the TextHidden object.
ありBreaking 行と段落の区切り。Line and paragraph breaking.

コンストラクター

TextFormatter()

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

メソッド

Create()

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

Create(TextFormattingMode)

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

Dispose()

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

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
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)

ドキュメント コンテンツの書式設定および表示に使用される TextLine を作成します。Creates a TextLine that is used for formatting and displaying document content.

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)

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

GetHashCode()

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

(継承元 Object)
GetType()

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

(継承元 Object)
MemberwiseClone()

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

(継承元 Object)
ToString()

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

(継承元 Object)

適用対象

こちらもご覧ください