다음을 통해 공유


SCRIPT_ANALYSIS 구조체(usp10.h)

유니코드 문자열, 즉 "item"의 일부를 포함합니다.

구문

typedef struct tag_SCRIPT_ANALYSIS {
  WORD         eScript : 10;
  WORD         fRTL : 1;
  WORD         fLayoutRTL : 1;
  WORD         fLinkBefore : 1;
  WORD         fLinkAfter : 1;
  WORD         fLogicalOrder : 1;
  WORD         fNoGlyphIndex : 1;
  SCRIPT_STATE s;
} SCRIPT_ANALYSIS;

멤버

eScript

항목에 대한 ScriptShape, ScriptPlaceScriptTextOut 함수를 호출할 때 Uniscribe에서 사용하는 엔진을 식별하는 불투명 값입니다. 이 멤버의 값은 정의되지 않으며 애플리케이션은 해당 값이 한 릴리스에서 다음 릴리스로 동일하지 않아야 합니다. 애플리케이션은 ScriptGetProperties를 호출하여 eScript의 특성을 가져올 수 있습니다.

셰이핑을 사용하지 않도록 설정하려면 애플리케이션에서 이 멤버를 SCRIPT_UNDEFINED 설정해야 합니다.

fRTL

렌더링 방향을 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 이 멤버는 왼쪽에서 오른쪽 실행의 숫자에 대해 TRUE 로 설정됩니다. 숫자가 항상 왼쪽에서 오른쪽으로 표시되고 오른쪽에서 왼쪽 실행의 숫자에 대해서는 FALSE 가 표시되기 때문입니다. 이 멤버의 값은 일반적으로 유니코드 포함 수준의 패리티와 동일하지만 GetCharacterPlacement 레거시 지원에 의해 재정의되는 경우 다를 수 있습니다.

의미
TRUE
오른쪽에서 왼쪽 렌더링 방향을 사용합니다.
FALSE
왼쪽에서 오른쪽 렌더링 방향을 사용합니다.

fLayoutRTL

숫자의 레이아웃 방향을 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 이 멤버는 일반적으로 오른쪽에서 왼쪽 실행의 숫자에 대해 fRTL 에 할당된 값과 동일합니다.

의미
TRUE
오른쪽에서 왼쪽 시퀀스의 일부로 읽기 때문에 오른쪽에서 왼쪽 실행으로 숫자를 배치합니다.
FALSE
왼쪽에서 오른쪽 시퀀스의 일부로 읽기 때문에 왼쪽에서 오른쪽 실행으로 숫자를 배치합니다.

fLinkBefore

셰이핑 엔진이 항목의 첫 번째 문자를 이전 문자와 조인하는 것처럼 셰이핑하는지 여부를 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 이 멤버는 ScriptItemize에 의해 설정됩니다. 애플리케이션은 ScriptShape를 호출하기 전에 값을 재정의할 수 있습니다.

의미
TRUE
이전 문자와 연결하여 첫 번째 문자를 셰이프합니다.
FALSE
이전 문자와 연결하여 첫 번째 문자를 셰이프하지 마세요.

fLinkAfter

셰이핑 엔진이 항목의 마지막 문자를 후속 문자와 조인하는 것처럼 셰이핑하는지 여부를 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 이 멤버는 ScriptItemize에 의해 설정됩니다. 애플리케이션은 ScriptItemize를 호출하기 전에 값을 재정의할 수 있습니다.

의미
TRUE
후속 문자와 연결하여 마지막 문자를 셰이프합니다.
FALSE
후속 문자와 연결하여 마지막 문자를 셰이프하지 마세요.

fLogicalOrder

셰이핑 엔진이 모든 문자 모양 관련 배열을 논리적 순서로 생성하는지 여부를 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 이 멤버는 ScriptItemize에 의해 FALSE로 설정됩니다. 애플리케이션은 ScriptShape를 호출하기 전에 값을 재정의할 수 있습니다.

의미
TRUE
모든 문자 모양 관련 배열을 논리적 순서로 생성합니다.
FALSE
맨 왼쪽 문자 모양에 해당하는 첫 번째 배열 항목을 사용하여 모든 문자 모양 관련 배열을 시각적 순서로 생성합니다. 이 값은 기본값입니다.

fNoGlyphIndex

항목에 문자 모양 사용을 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 애플리케이션은 ScriptShape 입력 시 이 멤버를 TRUE로 설정하여 항목에 문자 모양을 사용하지 않도록 설정할 수 있습니다. 또한 ScriptShape 는 기호화, 인식할 수 없음 및 디바이스 글꼴이 포함된 하드웨어 컨텍스트에 대해 TRUE 로 설정합니다.

문자 모양 사용을 사용하지 않도록 설정하면 복잡한 스크립트 셰이핑도 비활성화됩니다. 이 멤버를 TRUE 로 설정하면 GetTextExtentExPoint 및 ExtTextOut 호출을 통해 직접 셰이핑 및 배치가 구현 됩니다.

의미
TRUE
항목에 대한 문자 모양 사용을 사용하지 않도록 설정합니다. 이 값은 비트맵, 벡터 및 디바이스 글꼴에 사용됩니다.
FALSE
항목에 문자 모양을 사용하도록 설정합니다. 이 값은 기본값입니다.

s

유니코드 알고리즘 상태의 복사본을 포함하는 SCRIPT_STATE 구조체입니다.

설명

이 구조체는 각각 유니코드 문자열을 개별적으로 셰이핑 가능한 항목으로 분할하는 ScriptItemize 또는 ScriptItemizeOpenType으로 채워집니다. 두 함수 모두 SCRIPT_ANALYSIS 구조체에 직접 액세스하지 않습니다. 각 함수는 SCRIPT_ITEM 구조체의 배열을 처리하며, 각 구조체에는 SCRIPT_ANALYSIS 구조를 정의하는 멤버가 있습니다.

ScriptItemize 대신 ScriptItemizeOpenType을 사용하는 애플리케이션은 ScriptShapeScriptPlace 대신 ScriptShapeOpenTypeScriptPlaceOpenType도 사용해야 합니다. 자세한 내용은 Uniscribe를 사용하여 텍스트 표시를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 usp10.h
재배포 가능 파일 인터넷 Explorer 5 이상에서Windows Me/98/95

추가 정보

SCRIPT_ITEM

SCRIPT_STATE

ScriptGetProperties

ScriptItemize

ScriptItemizeOpenType

ScriptPlace

ScriptPlaceOpenType

ScriptShape

ScriptShapeOpenType

ScriptTextOut

Uniscribe

유니스크립스 구조체