다음을 통해 공유


ScriptGetFontScriptTags 함수(usp10.h)

OpenType 처리를 위해 글꼴에서 사용할 수 있는 스크립트 목록을 검색합니다. 목록을 구성하는 스크립트는 제공된 디바이스 컨텍스트에 있는 글꼴 또는 현재 실행의 글꼴을 처리하는 스크립트 셰이핑 엔진에서 검색됩니다.

구문

HRESULT ScriptGetFontScriptTags(
  [in, optional] HDC             hdc,
  [in, out]      SCRIPT_CACHE    *psc,
  [in, optional] SCRIPT_ANALYSIS *psa,
  [in]           int             cMaxTags,
  [out]          OPENTYPE_TAG    *pScriptTags,
  [out]          int             *pcTags
);

매개 변수

[in, optional] hdc

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

[in, out] psc

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

[in, optional] psa

ScriptItemizeOpenType에 대한 이전 호출에서 가져온 SCRIPT_ANALYSIS 구조체에 대한 포인터입니다. 이 매개 변수는 적절한 글꼴 스크립트 태그를 검색할 수 있도록 셰이핑 엔진을 식별합니다. 애플리케이션은 현재 실행에 적합한 스크립트 태그를 검색하기 위해 이 매개 변수에 NULL 이 아닌 값을 제공합니다.

또는 애플리케이션에서 이 매개 변수를 NULL 로 설정하여 필터링되지 않은 결과를 검색할 수 있습니다.

[in] cMaxTags

pScriptTags로 지정된 배열의 길이입니다.

[out] pScriptTags

이 함수가 디바이스 컨텍스트 또는 현재 실행과 연결된 스크립팅 엔진에서 스크립트 태그를 정의하는 OPENTYPE_TAG 구조 배열을 검색하는 버퍼에 대한 포인터입니다. psa 매개 변수에 제공된 SCRIPT_ANALYSIS 구조체의 eScript 멤버 값에 연결된 명확한 스크립트 태그가 있고 태그가 글꼴에 있는 경우 pScriptTags에는 이 태그만 포함됩니다.

[out] pcTags

pScriptTags로 표시된 스크립트 태그 배열의 요소 수에 대한 포인터입니다.

반환 값

정상적으로 실행되는 경우 0을 반환합니다. 함수는 성공하지 못하면 0이 아닌 HRESULT 값을 반환합니다. 애플리케이션은 SUCCEEDED 및 FAILED 매크로를 사용하여 반환 값을 테스트 수 있습니다.

일치하는 태그 수가 cMaxTags 값을 초과하면 함수는 E_OUTOFMEMORY 실패합니다. 애플리케이션은 더 큰 버퍼를 사용하여 다시 호출을 시도할 수 있습니다.

설명

공식적으로 ULONG 형식으로 선언되는 동안 OPENTYPE_TAG 공백, A-Z 또는 a-z의 8비트 ASCII 값 4개를 포함하는 4바이트 배열을 정의합니다. 예를 들어 라틴어 및 아랍어 스크립트에 대한 스크립트 태그는 각각 "latn" 및 "arab"입니다.

이 함수는 다음과 같은 경우 글꼴에서 단일 태그를 검색합니다.

  • psa 값은 단일 복합 스크립트의 텍스트와 연결됩니다.
  • psa 매개 변수는 NULL을 나타내고 글꼴은 단일 스크립트를 지원합니다.
ScriptGetFontScriptTags가 글꼴에서 모든 태그를 검색하는 경우 태그는 일반적으로 숫자와 같은 중립 항목에 대한 것입니다. 중립 항목의 일부 텍스트 실행은 스크립트별로 적용되지 않으므로 둘 이상의 태그가 적용될 수 있습니다.

특정 스크립트에 해당하는 태그가 있는 경우 엔진에 특정 언어 시스템 또는 특정 기능과 같은 필요한 항목이 없기 때문에 셰이핑 엔진이 글꼴을 사용하여 지정된 항목을 셰이핑하지 못할 수 있습니다.

중요 Windows 8 시작: Windows 7에서 실행되는 기능을 유지하려면 Uniscribe를 사용하는 모듈에서 라이브러리 목록에서 gdi32.lib 전에 Usp10.lib를 지정해야 합니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 usp10.h
라이브러리 Usp10.lib
DLL Usp10.dll
재배포 가능 파일 Windows XP에서 버전 1.600 이상 Usp10.dll

추가 정보

캐싱

OPENTYPE_TAG

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptItemizeOpenType

Uniscribe

Uniscribe 함수