クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
.NET 開発
.NET Framework 3.5
.NET Framework 3.5
TextFormatter クラス
すべて縮小/すべて展開 すべて縮小
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2008/.NET Framework 3.5

その他のバージョンについては、以下の情報を参照してください。
.NET Framework クラス ライブラリ
TextFormatter クラス

更新 : 2007 年 11 月

カスタム テキスト レイアウト クライアントを使用して、テキストの書式設定およびテキスト行の改行のサービスを提供します。

名前空間 :  System.Windows.Media.TextFormatting
アセンブリ :  PresentationCore (PresentationCore.dll 内)

Visual Basic (宣言)
Public MustInherit Class TextFormatter _
    Implements IDisposable
Visual Basic (使用法)
Dim instance As TextFormatter
C#
public abstract class TextFormatter : IDisposable
Visual C++
public ref class TextFormatter abstract : IDisposable
J#
public abstract class TextFormatter implements IDisposable
JScript
public abstract class TextFormatter implements IDisposable
XAML
このクラスは抽象クラスです。XAML で使用できる派生した非抽象クラスについては、継承階層 を参照してください。

TextFormatter は、テキストを書式設定したりテキスト行を改行したりするためのサービスを提供する WPF テキスト エンジンです。TextFormatter は、さまざまなテキスト文字形式や段落スタイルを処理したり、各国対応のテキスト レイアウトをサポートしたりできます。

従来のテキスト API とは異なり、TextFormatter は一連のコールバック メソッドを使用して、テキスト レイアウト クライアントと対話します。このテキスト フォーマッタを使用するには、クライアントが TextSource クラスの実装にこれらのメソッドを提供している必要があります。テキスト フォーマッタ クライアントとテキスト レイアウト クライアントの対話を次の図に示します。

テキスト レイアウト クライアントと TextFormatter オブジェクトの対話

テキスト レイアウト クライアントと TextFormatter のダイアグラム

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

TextFormatter は、OpenType タイポグラフィなどのテキスト機能や、テキスト ラン、行、および段落レベルの機能をサポートします。

TextFormatter によってサポートされる、テキスト機能用の主なサービスの一覧を次の表に示します。

機能

説明

背景ブラシ

背景色に使用される Brush。詳細については、BackgroundBrush プロパティのトピックを参照してください。

ベースライン配置

行のベースライン距離を決定します。詳細については、BaselineAlignment プロパティのトピックを参照してください。

フォント リンク

複合フォントを使用してフォント リンクを提供します。

前景ブラシ

前景色に使用される Brush。詳細については、ForegroundBrush プロパティのトピックを参照してください。

OpenType

コンテキスト代替や標準合字などの高度な OpenType タイポグラフィ機能。TextRunTypographyProperties クラスのプロパティを参照してください。

タイプフェイス

タイプフェイス、フォントの太さ、スタイル、および伸縮を決定します。詳細については、Typeface プロパティのトピックを参照してください。

テキストの装飾

下線や取り消し線などの TextDecoration オブジェクトをサポートします。詳細については、TextDecorations プロパティのトピックを参照してください。

テキスト効果

TextEffect オブジェクトをサポートします。詳細については、TextEffects プロパティのトピックを参照してください。

TextFormatter によってサポートされる、段落レベルの機能用の主なサービスの一覧を次の表に示します。

機能

説明

フロー方向

段落のフロー方向 (左から右または右から左)。詳細については、FlowDirection プロパティのトピックを参照してください。

行のインデント

段落の各行のインデント。詳細については、Indent プロパティのトピックを参照してください。

マーカー

段落の 1 行目のマーカー特性詳細については、TextMarkerProperties プロパティのトピックを参照してください。

段落のインデント

段落の最初の行のインデント。詳細については、ParagraphIndent プロパティのトピックを参照してください。

[タブ]

タブ配置とタブ リーダーをサポートします。

段落の最小幅と最大幅を決定します。FormatMinMaxParagraphWidth メソッドを参照してください。

[右端で折り返す]

テキストがフローの端に達したときの折り返し方法を決定します。詳細については、TextWrapping プロパティのトピックを参照してください。

TextFormatter によってサポートされる、行レベルの機能用の主なサービスの一覧を次の表に示します。

機能

説明

配置

テキストの配置 (左揃え、右揃え、中央揃え、または両端揃え)。詳細については、TextAlignment プロパティのトピックを参照してください。

行の高さ

行の高さ。詳細については、Height プロパティのトピックを参照してください。

行の縮小

行の縮小のサポート。Collapse メソッドを参照してください。

黒いボックスの測定

デバイス フォントで文字をレイアウトするために使用されるメトリックを表します。詳細については、CharacterMetrics クラスのトピックを参照してください。

キャレット サポート

キャレットの移動および編集のサポート。GetNextCaretCharacterHitGetPreviousCaretCharacterHit など TextLine の文字ヒット プロパティを参照してください。

TextFormatter によってサポートされる、テキスト ランレベルの機能用の主なサービスの一覧を次の表に示します。

機能

説明

隠し実行

表示されない文字の範囲。TextHidden オブジェクトを参照してください。

あり

行および段落の改行。

TextFormatter オブジェクトを使用して、描画オブジェクトとして表示可能な書式設定されたテキスト行を生成する方法を次の例に示します。

C#
// 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;
    }
}
System..::.Object
  System.Windows.Media.TextFormatting..::.TextFormatter
この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

Windows Vista

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

.NET Framework

サポート対象 : 3.5、3.0
コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker