Share via


ScriptGetFontAlternateGlyphs 함수(usp10.h)

지정된 OpenType 기능을 통해 액세스할 수 있는 지정된 문자에 대한 대체 문자 모양 목록을 검색합니다.

구문

HRESULT ScriptGetFontAlternateGlyphs(
  [in, optional] HDC             hdc,
  [in, out]      SCRIPT_CACHE    *psc,
  [in, optional] SCRIPT_ANALYSIS *psa,
  [in]           OPENTYPE_TAG    tagScript,
  [in]           OPENTYPE_TAG    tagLangSys,
  [in]           OPENTYPE_TAG    tagFeature,
  [in]           WORD            wGlyphId,
  [in]           int             cMaxAlternates,
  [out]          WORD            *pAlternateGlyphs,
  [out]          int             *pcAlternates
);

매개 변수

[in, optional] hdc

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

[in, out] psc

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

[in, optional] psa

ScriptItemizeOpenType에 대한 이전 호출에서 가져온 SCRIPT_ANALYSIS 구조체에 대한 포인터입니다. 이 매개 변수는 올바른 scope 사용하여 대체 문자 모양 배열을 만들 수 있도록 셰이핑 엔진을 식별합니다.

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

[in] tagScript

대체 문자 모양과 연결된 스크립트 태그를 정의하는 OPENTYPE_TAG 구조체입니다.

[in] tagLangSys

대체 문자 모양과 연결된 언어 태그를 정의하는 OPENTYPE_TAG 구조체입니다.

[in] tagFeature

대체 문자 모양과 연결된 기능 태그를 정의하는 OPENTYPE_TAG 구조체입니다.

[in] wGlyphId

문자 맵 테이블에서 매핑된 원래 문자 모양의 식별자입니다.

[in] cMaxAlternates

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

[out] pAlternateGlyphs

이 함수가 문자 모양 식별자 배열을 검색하는 버퍼에 대한 포인터입니다. 배열에는 원래 문자 모양과 대체 문자 모양이 포함됩니다. 첫 번째 요소는 항상 원래 문자 모양입니다. 대체 양식은 배열의 인덱스로 식별됩니다. 인덱스는 1보다 크고 pcAlternates 값보다 작은 값입니다.

사용자가 사용자 인터페이스에서 대체 양식을 선택하면 대체 문자 모양이 해당 문자에 적용되고 렌더링의 서식이 다시 지정됩니다.

[out] pcAlternates

pAlternateGlyphs로 지정된 배열의 요소 수에 대한 포인터입니다.

반환 값

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

대체 문자 모양 수가 cMaxAlternates 값을 초과하면 함수는 E_OUTOFMEMORY 함께 실패합니다. 애플리케이션은 더 큰 버퍼를 사용하여 다시 호출을 시도할 수 있습니다.

설명

대체 문자 모양을 사용하는 경우 애플리케이션은 먼저 기능 태그를 적용하지 않고 원래 문자 모양을 변경한 다음 대체 문자 모양을 선택합니다. 원래 문자 모양은 기본 문자 모양으로 설정됩니다. 다른 대체 항목이 필요한 경우 원래 문자 모양은 해당 대체 목록과 일치하는 정보를 제공합니다.

대체 문자 모양이 기본 문자 모양으로 사용되는 경우 일치하는 출력 목록을 찾을 수 없습니다. 사용자 인터페이스는 다른 대체 항목을 선택할 수 있는 기능을 제공하지 않고 선택한 최종 양식을 사용합니다.

ScriptGetFontAlternateGlyphs의 작업은 ScriptSubstituteSingleGlyph를 통해 에뮬레이트할 수 있습니다. 애플리케이션은 문자 모양이 대체되는 동안 매개 변수를 하나씩 시도해야 합니다.

Uniscribe를 사용하여 글꼴을 셰이핑하는 경우 ScriptShapeOpenType 이 이전 ScriptShape 함수보다 선호됩니다.

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

요구 사항

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

추가 정보

캐싱

OPENTYPE_TAG

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptItemizeOpenType

ScriptShapeOpenType

ScriptSubstituteSingleGlyph

Uniscribe

Uniscribe 함수