Share via


ScriptPositionSingleGlyph 함수(usp10.h)

OpenType 처리를 위해 글꼴에 제공된 지정된 기능을 사용하여 단일 조정으로 단일 문자 모양을 배치합니다. 대부분의 경우 애플리케이션은 이 함수를 사용하여 선의 시작 또는 끝에 문자 모양을 광학적으로 정렬합니다.

구문

HRESULT ScriptPositionSingleGlyph(
  [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]           LONG            lParameter,
  [in]           WORD            wGlyphId,
  [in]           int             iAdvance,
  [in]           GOFFSET         GOffset,
  [out]          int             *piOutAdvance,
  [out]          GOFFSET         *pOutGoffset
);

매개 변수

[in, optional] hdc

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

[in, out] psc

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

[in, optional] psa

ScriptItemizeOpenType에 대한 이전 호출에서 가져온 SCRIPT_ANALYSIS 구조체에 대한 포인터입니다. 이 구조체는 선진 너비를 검색할 수 있도록 셰이핑 엔진을 식별합니다.

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

[in] tagScript

셰이핑을 위한 스크립트 태그를 정의하는 OPENTYPE_TAG 구조체입니다.

[in] tagLangSys

셰이핑을 위한 언어 태그를 정의하는 OPENTYPE_TAG 구조체입니다.

[in] tagFeature

대체 문자 모양을 지정하는 데 사용할 기능 태그를 정의하는 OPENTYPE_TAG 구조체입니다.

[in] lParameter

wGlyphId에 지정된 식별자에 단일 대체를 적용해야 하는지를 지정하는 플래그입니다. 애플리케이션은 이 매개 변수를 1로 설정하여 단일 대체 기능을 식별자에 적용합니다. 함수가 기능을 적용하지 않아야 하는 경우 애플리케이션은 매개 변수를 0으로 설정합니다.

[in] wGlyphId

셰이프의 원래 문자 모양 식별자입니다.

[in] iAdvance

원래 문자 모양 사전 너비입니다.

[in] GOffset

원래 문자 모양 오프셋입니다. 일반적으로 이 값은 ScriptPlaceOpenType 또는 ScriptPlace의 출력입니다.

[out] piOutAdvance

이 함수가 대체 문자 모양에 맞게 조정된 새 고급 너비를 검색하는 위치에 대한 포인터입니다.

[out] pOutGoffset

이 함수가 대체 문자 모양에 맞게 조정된 새 문자 모양 오프셋을 검색하는 위치에 대한 포인터입니다.

반환 값

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

설명

이 함수는 지정된 문자 모양의 앞 너비 및/또는 오프셋을 조정하여 개별 문자 모양을 배치합니다. 함수는 글꼴에 하나의 조정만 필요하다고 가정합니다.

이 함수의 일반적인 사용은 특정 문자의 시각적 인상을 고려하기 위해 여백을 약간 조정하는 것입니다. 예를 들어 라틴어 스크립트에서 선의 시작 부분에서 문자 모양 왼쪽에 세로줄이 없는 초기 대문자(예: "T" 또는 "O")에 대해 왼쪽을 약간 조정하는 것이 일반적입니다. 이렇게 하면 엄격한 선형 여백이 끊어지지만 눈은 여백을 더 균등하게 인식합니다.

다음 예제에서는 이 효과를 보여 줍니다. 첫 번째 예제에서는 엄격한 맞춤을 보여 하며, 다음 두 예제에서는 초기 "T"를 왼쪽으로 조정하는 방법을 보여 줍니다. 조정은 각각 1픽셀과 2픽셀입니다. 오른쪽의 확대된 이미지는 "T"가 각 연속 사례에서 왼쪽 여백으로 약간 더 멀리 푸시하는 방법을 보여 줍니다.

동일한 텍스트 블록을 세 번 보여 주는 일러스트레이션. 각 텍스트의 확대는 약간 다른 맞춤을 표시합니다.
중요 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

Uniscribe

Uniscribe 함수