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

설명

TextFormatterWPFWPF 텍스트 서식 지정 및 텍스트 줄 바꿈을 위한 서비스를 제공 하는 텍스트 엔진.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 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. 참조 된 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)

적용 대상

추가 정보