다음을 통해 공유


IDWriteTextAnalyzer::GetGlyphs 메서드(dwrite.h)

입력 텍스트 문자열을 구문 분석하고 글꼴 및 쓰기 시스템의 렌더링 규칙에 따라 문자 모양 및 연결된 문자 모양 데이터 집합에 매핑합니다.

구문

HRESULT GetGlyphs(
  [in]           WCHAR const                       *textString,
                 UINT32                            textLength,
                 IDWriteFontFace                   *fontFace,
                 BOOL                              isSideways,
                 BOOL                              isRightToLeft,
  [in]           DWRITE_SCRIPT_ANALYSIS const      *scriptAnalysis,
  [in, optional] WCHAR const                       *localeName,
  [optional]     IDWriteNumberSubstitution         *numberSubstitution,
  [in, optional] DWRITE_TYPOGRAPHIC_FEATURES const **features,
  [in, optional] UINT32 const                      *featureRangeLengths,
                 UINT32                            featureRanges,
                 UINT32                            maxGlyphCount,
  [out]          UINT16                            *clusterMap,
  [out]          DWRITE_SHAPING_TEXT_PROPERTIES    *textProps,
  [out]          UINT16                            *glyphIndices,
  [out]          DWRITE_SHAPING_GLYPH_PROPERTIES   *glyphProps,
  [out]          UINT32                            *actualGlyphCount
);

매개 변수

[in] textString

형식: const WCHAR*

문자 모양으로 변환할 문자 배열입니다.

textLength

형식: UINT32

textString의 길이입니다.

fontFace

형식: IDWriteFontFace*

출력 문자 모양 원본인 글꼴 면입니다.

isSideways

형식: BOOL

텍스트를 세로로 그리려는 경우 부울 플래그가 TRUE 로 설정됩니다.

isRightToLeft

형식: BOOL

오른쪽에서 왼쪽 텍스트에 대해 TRUE 로 설정된 부울 플래그입니다.

[in] scriptAnalysis

형식: const DWRITE_SCRIPT_ANALYSIS*

AnalyzeScript 호출의 스크립트 분석 결과에 대한 포인터입니다.

[in, optional] localeName

형식: const WCHAR*

문자 모양을 선택할 때 사용할 로캘입니다. 예를 들어 동일한 문자가 ja-jp와 zh-chs의 다른 문자 모양에 매핑할 수 있습니다. NULL인 경우 스크립트를 기반으로 하는 기본 매핑이 사용됩니다.

[optional] numberSubstitution

형식: IDWriteNumberSubstitution*

AnalyzeNumberSubstitution에서 얻은 결과에 따라 숫자 및 관련 숫자 문자에 대한 적절한 문자 모양을 선택하는 선택적 숫자 대체에 대한 포인터입니다. NULL을 전달하면 대체가 필요하지 않으며 숫자가 명목 문자 모양을 받아야 했음을 나타냅니다.

[in, optional] features

형식: const DWRITE_TYPOGRAPHIC_FEATURES**

각 기능 범위에서 사용할 입력 기능 집합에 대한 포인터 배열입니다.

[in, optional] featureRangeLengths

형식: const UINT32*

각 기능 범위의 길이(문자)입니다.
모든 길이의 합계는 textLength와 같아야 합니다.

featureRanges

형식: UINT32

기능 범위의 수입니다.

maxGlyphCount

형식: UINT32

반환할 수 있는 최대 문자 모양 수입니다.

[out] clusterMap

형식: UINT16*

이 메서드가 반환되면 문자 범위에서 문자 모양 범위로의 매핑이 포함됩니다.

[out] textProps

형식: DWRITE_SHAPING_TEXT_PROPERTIES*

이 메서드가 반환되면 각 문자에 대한 셰이핑 속성이 포함된 구조체 배열에 대한 포인터가 포함됩니다.

[out] glyphIndices

형식: UINT16*

출력 문자 모양 인덱스입니다.

[out] glyphProps

형식: DWRITE_SHAPING_GLYPH_PROPERTIES*

이 메서드가 반환되면 각 출력 문자 모양에 대한 셰이핑 속성이 포함된 구조체 배열에 대한 포인터가 포함됩니다.

[out] actualGlyphCount

형식: UINT32*

이 메서드가 반환되면 호출이 성공하면 반환되는 실제 문자 모양 수가 포함됩니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

문자에서 문자 모양으로의 매핑은 일반적으로 다 대 다입니다. 문자 모양별 출력 버퍼에 권장되는 예상값은 (3 * textLength / 2 + 16)입니다. 이것으로는 충분하지 않습니다.

actualGlyphCount 매개 변수의 값은 호출이 성공한 경우에만 유효합니다. maxGlyphCount가 충분히 크지 않은 경우 HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)가 반환됩니다. 애플리케이션은 더 큰 버퍼를 할당하고 다시 시도해야 합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 7, Windows Vista SP2 및 Windows Vista용 플랫폼 업데이트가 포함된 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2, Windows Server 2008 SP2 및 Windows Server 2008용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 dwrite.h
라이브러리 Dwrite.lib
DLL Dwrite.dll

참고 항목

IDWriteTextAnalyzer