TextFormatter 클래스

정의

Provides services for formatting text and breaking text lines using a custom text layout client.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. 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. GetNextCaretCharacterHitGetPreviousCaretCharacterHit와 같은 TextLine 문자 적중 속성을 참조 하세요.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()

Initializes a new instance of the TextFormatter class.Initializes a new instance of the TextFormatter class.

메서드

Create()

Creates a new instance of the TextFormatter class.Creates a new instance of the TextFormatter class. This is a static method.This is a static method.

Create(TextFormattingMode)

Creates a new instance of the TextFormatter class with the specified formatting mode.Creates a new instance of the TextFormatter class with the specified formatting mode. This is a static method.This is a static method.

Dispose()

Releases all managed and unmanaged resources used by the TextFormatter object.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)

Creates a TextLine that is used for formatting and displaying document content.Creates a TextLine that is used for formatting and displaying document content.

FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak, TextRunCache)

Creates a TextLine that is used for formatting and displaying document content.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.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.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)

적용 대상

추가 정보