다음을 통해 공유


ScriptGetCMap 함수(usp10.h)

TrueType cmap 테이블 또는 이전 스타일 글꼴에 대해 구현된 표준 cmap 테이블에 따라 문자열에서 유니코드 문자의 문자 모양 인덱스를 검색합니다.

구문

HRESULT ScriptGetCMap(
  [in]      HDC          hdc,
  [in, out] SCRIPT_CACHE *psc,
  [in]      const WCHAR  *pwcInChars,
  [in]      int          cChars,
  [in]      DWORD        dwFlags,
  [out]     WORD         *pwOutGlyphs
);

매개 변수

[in] hdc

선택 사항입니다. 디바이스 컨텍스트에 대한 핸들입니다. 자세한 내용은 캐싱합니다.

[in, out] psc

스크립트 캐시를 식별하는 SCRIPT_CACHE 구조체에 대한 포인터입니다.

[in] pwcInChars

유니코드 문자 문자열에 대한 포인터입니다.

[in] cChars

pwcInChars로 표시된 문자열의 유니코드 문자 수입니다.

[in] dwFlags

문자 모양에 대한 특수 처리를 지정하는 플래그입니다. 기본적으로 문자 모양은 특별한 처리 없이 논리적 순서로 제공됩니다. 이 매개 변수는 다음 값을 가질 수 있습니다.

의미
SGCM_RTL
pwOutGlyphs로 표시된 문자 모양 배열에는 미러된 해당 문자 모양에 대한 미러된 문자 모양이 포함되어야 합니다.

[out] pwOutGlyphs

함수가 문자 모양 인덱스 배열을 검색하는 버퍼에 대한 포인터입니다. 이 버퍼의 길이는 pwcInChars로 표시된 입력 버퍼와 같아야 합니다. 각 코드 포인트는 단일 문자 모양에 매핑됩니다.

반환 값

모든 유니코드 코드 포인트가 글꼴에 있으면 S_OK 반환합니다. 함수는 성공하지 못하면 아래에 나열된 0이 아닌 HRESULT 값 중 하나를 반환합니다.

반환 값 의미
E_HANDLE 글꼴 또는 운영 체제는 문자 모양 인덱스를 지원하지 않습니다.
S_FALSE 일부 유니코드 코드 포인트는 기본 문자 모양에 매핑되었습니다.

설명

이 함수가 일반적으로 호출되는 컨텍스트에 대한 설명은 유니스크립을 사용하여 텍스트 표시 를 참조하세요.

이 함수는 선택한 글꼴에서 지원되는 실행의 문자를 확인하는 데 사용할 수 있습니다. 애플리케이션은 검색된 문자 모양 버퍼를 검사하여 기본 문자 모양을 찾아 사용할 수 없는 문자를 확인할 수 있습니다. 애플리케이션은 ScriptGetFontProperties를 호출하여 선택한 글꼴의 기본 문자 모양 인덱스 를 결정해야 합니다.

이 함수의 반환 값은 누락된 문자 모양이 있음을 나타냅니다.

참고 함수는 입력 배열과 출력 배열의 요소 간에 1:1 관계를 가정합니다. 그러나 함수는 UTF-16 서로게이트 쌍에 대해 이 관계를 지원하지 않습니다. 서로게이트 쌍의 경우 함수는 보조 평면 문자에 대한 문자 모양 인덱스가 검색되지 않습니다. 마찬가지로 함수는 VS(유니코드 Variation-Selector) 시퀀스를 지원하지 않으며, 각 시퀀스는 유니코드 그래픽 문자와 해당 그래픽 문자에 대한 특정 문자 표현을 선택하는 VARIATION SELECTOR 문자 집합 중 하나로 구성됩니다. VS 시퀀스의 경우 함수는 VS 시퀀스의 특정 문자 모양에 대한 문자 모양 인덱스 대신 두 문자에 대해 cmap에 의해 매핑된 기본 문자 모양에 대한 문자 모양 인덱스를 검색합니다.
 
일부 코드 포인트는 문자 모양 조합뿐만 아니라 단일 문자 모양(예: 00C9)으로 렌더링할 수 있습니다. 라틴어 대문자 E와 급성. 이 경우 글꼴이 대문자 E 문자 모양과 급성 문자 모양을 지원하지만 00C9에 대한 단일 문자 모양이 아닌 경우 ScriptGetCMap은 00C9 가 지원되지 않음을 보여 줍니다. 이러한 종류의 코드 포인트가 포함된 문자열에 대한 글꼴 지원을 확인하기 위해 애플리케이션은 ScriptShape를 호출할 수 있습니다. 함수가 S_OK 반환하는 경우 애플리케이션은 누락된 문자 모양에 대한 출력을 검사 합니다.
중요 Windows 8 시작: Windows 7에서 실행하는 기능을 유지하려면 Uniscribe를 사용하는 모듈이 라이브러리 목록에서 gdi32.lib 전에 Usp10.lib를 지정해야 합니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 usp10.h
라이브러리 Usp10.lib
DLL Usp10.dll
재배포 가능 파일 Windows Me/98/95의 인터넷 Explorer 5 이상

추가 정보

유니스크립팅을 사용하여 텍스트 표시

SCRIPT_CACHE

ScriptGetFontProperties

ScriptShape

Uniscribe

Uniscribe 함수