ScriptJustify 함수(usp10.h)

ScriptTextOut 함수에 전달할 때 텍스트 근거를 허용하는 고급 너비 테이블을 만듭니다.

구문

HRESULT ScriptJustify(
  [in]  const SCRIPT_VISATTR *psva,
  [in]  const int            *piAdvance,
  [in]  int                  cGlyphs,
  [in]  int                  iDx,
  [in]  int                  iMinKashida,
  [out] int                  *piJustify
);

매개 변수

[in] psva

SCRIPT_VISATTR 구조체를 포함하는 cGlyphs로 표시된 길이의 배열에 대한 포인터입니다. 각 구조체에는 처리할 줄의 문자 모양에 대한 시각적 특성이 포함되어 있습니다.

[in] piAdvance

ScriptPlace에 대한 이전 호출에서 가져온 cGlyphs로 표시된 길이의 사전 너비 배열에 대한 포인터입니다.

[in] cGlyphs

psvapiAdvance로 표시된 배열의 문자 모양 수입니다. 또한 이 매개 변수는 출력 매개 변수 piJustify에 대한 문자 모양 수를 나타냅니다.

[in] iDx

원하는 변경 내용의 너비(픽셀 단위)가 감소합니다.

[in] iMinKashida

생성할 kashida 문자 모양의 최소 너비입니다.

[out] piJustify

이 함수가 정렬된 사전 너비를 포함하는 cGlyphs로 표시된 길이의 배열을 검색하는 버퍼에 대한 포인터입니다. 정당화된 너비를 "셀 너비"라고도 하여 부당한 사전 너비와 구분합니다.

반환 값

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

설명

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

이 함수는 다국어 근거의 간단한 구현을 제공합니다. 줄의 각 문자 모양 위치에서 조정할 양을 설정합니다. ScriptShape 호출에 의해 생성된 SCRIPT_VISATTR 배열을 해석하여 kashida에 우선 순위를 부여합니다. 가시다 지점을 사용할 수 없는 경우 함수는 단어 간 간격을 사용합니다. 단어 간 지점을 사용할 수 없는 경우 문자 간 간격을 사용합니다.

참고 정교한 텍스트 포맷터는 포맷터별 기능과 SCRIPT_VISATTR 배열의 ScriptShape에서 검색한 정보를 결합하여 자체 델타 dx 배열을 생성할 수 있습니다.
 
애플리케이션은 PiJustify 매개 변수에서 ScriptJustify에서 생성된 양쪽의 고급 너비를 ScriptTextOut에 전달해야 합니다.

ScriptJustify 는 각 문자 모양에 대해 업데이트된 사전 너비를 포함하는 양쪽 배열을 만듭니다. 문자 모양에 대한 사전 너비를 늘리면 추가 너비가 문자 모양 오른쪽에 공백 또는 아랍어 텍스트의 경우 kashida로 렌더링됩니다.

참고 가시다 삽입은 시각적으로 정당화하기 위해 문자 모양 오른쪽에 발생합니다. Microsoft Word 및 Microsoft PowerPoint는 이 개념을 사용합니다. kashida 배치 알고리즘의 변경 내용은 특정 스크립트에 대한 해당 ScriptTextOut 처리기(예: 아랍어 TextOut 근거 처리기)의 변경 내용과 함께 제공되어야 합니다.
 
경우에 따라 애플리케이션은 정당화할 수 없는 문자 모양을 처리하려고 시도합니다. 이 경우 SCRIPT_VISATTR uJustification 멤버가 SCRIPT_JUSTIFY_NONE 설정됩니다. 이 경우 ScriptJustifypiAdvance 로 표시된 입력 배열을 piJustify 로 표시된 출력 배열에 복사하고 애플리케이션에 S_FALSE 반환합니다.
중요 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 이상

추가 정보

Uniscribe를 사용하여 텍스트 표시

SCRIPT_VISATTR

ScriptPlace

ScriptShape

ScriptTextOut

Uniscribe

Uniscribe 함수