ScriptXtoCP 함수(usp10.h)

실행의 x 오프셋에서 논리 문자 클러스터의 선행 또는 후행 가장자리를 생성합니다.

구문

HRESULT ScriptXtoCP(
  [in]  int                   iX,
  [in]  int                   cChars,
  [in]  int                   cGlyphs,
  [in]  const WORD            *pwLogClust,
  [in]  const SCRIPT_VISATTR  *psva,
  [in]  const int             *piAdvance,
  [in]  const SCRIPT_ANALYSIS *psa,
  [out] int                   *piCP,
  [out] int                   *piTrailing
);

매개 변수

[in] iX

psa 매개 변수로 표시된 SCRIPT_ANALYSIS 구조체의 fLogicalOrder 멤버가 지정한 실행의 끝에서 논리 단위로 오프셋합니다.

[in] cChars

실행의 논리 코드 포인트 수입니다.

[in] cGlyphs

실행 중인 문자 모양 수입니다.

[in] pwLogClust

논리 클러스터 배열에 대한 포인터입니다.

[in] psva

문자 모양에 대한 시각적 특성을 포함하는 SCRIPT_VISATTR 구조체의 배열에 대한 포인터입니다.

[in] piAdvance

선진 너비 배열에 대한 포인터입니다.

[in] psa

SCRIPT_ANALYSIS 구조체에 대한 포인터입니다. fLogicalOrder 멤버는 실행의 선행 가장자리를 사용하는 TRUE를 나타내고, 후행 에지를 사용하려면 FALSE를 나타냅니다.

[out] piCP

이 함수가 x 좌표에 해당하는 문자 위치를 검색하는 버퍼에 대한 포인터입니다.

[out] piTrailing

이 함수가 논리 문자의 선행 가장자리에서 iX 위치까지의 거리를 코드 포인트에서 검색하는 버퍼에 대한 포인터입니다. 이 값이 0이면 iX 위치가 논리 문자의 선행 가장자리에 있습니다. 자세한 내용은 주의 섹션을 참조하세요.

반환 값

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

설명

이 함수에 전달되는 값은 일반적으로 다른 Uniscribe 함수에 대한 이전 호출의 결과입니다. 자세한 내용은 Caret 배치 및 적중 테스트 관리를 참조하세요.

논리 문자의 선행 및 후행 가장자리는 실행의 텍스트 방향(왼쪽에서 오른쪽 또는 오른쪽에서 왼쪽)에 따라 결정됩니다. 왼쪽에서 오른쪽 방향의 경우 선행 가장자리는 왼쪽 가장자리와 동일합니다. 오른쪽에서 왼쪽 방향의 경우 선행 가장자리는 오른쪽 가장자리입니다.

캐럿이 일반적으로 클러스터의 중간에 배치되는 스크립트(예: 아랍어 및 히브리어)의 경우 검색된 문자 위치는 줄의 모든 코드 포인트에 대한 위치일 수 있습니다. 이 경우 piTrailing 매개 변수는 0 또는 1로 설정됩니다.

일반적으로 캐리트가 클러스터의 경계에 맞춰지는 스크립트의 경우 검색된 문자 위치는 항상 클러스터에서 첫 번째 코드 포인트의 위치입니다(논리적으로 간주됨). piTrailing 매개 변수는 0 또는 클러스터의 코드 포인트 수로 설정됩니다.

마우스 적중에 적합한 캐리트 위치는 항상 검색된 문자 위치와 piTrailing으로 표시된 거리입니다.

iX가 실행 외부의 위치를 나타내는 경우 ScriptXtoCP는 실행의 각 끝을 넘어 무한히 큰 문자가 있는 것처럼 작동합니다. 그러면 다음 표에 표시된 동작이 발생합니다.

iX 위치(실행 외부) 결과
실행하기 전에 즉, 실행이 왼쪽에서 오른쪽인 경우 iX< 0, 실행이 오른쪽에서 왼쪽으로인 경우 iX>= 고급 합계입니다. piCP 값은 -1이고 piTrailing 값은 0입니다.
실행 후 즉, iX>= run이 왼쪽에서 오른쪽인 경우 어드밴스 합계, 실행이 오른쪽에서 왼쪽으로인 경우 iX< 0입니다. piCP의 값은 cChars이고 piTrailing 값은 1입니다.
 
중요 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_ANALYSIS

SCRIPT_VISATTR

Uniscribe

Uniscribe 함수