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 |