유니코드 문자열의 일부, 즉 "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, ScriptPlace 및 ScriptTextOut 함수를 호출할 때 Uniscribe에서 사용하는 엔진을 식별하는 불투명 값입니다. 이 멤버의 값은 정의되지 않으며 애플리케이션은 해당 값이 한 릴리스에서 다음 릴리스로 동일하지 않아야 합니다. 애플리케이션은 ScriptGetProperties를 호출하여 eScript의 특성을 가져올 수 있습니다.
셰이핑을 사용하지 않도록 설정하려면 애플리케이션에서 이 멤버를 SCRIPT_UNDEFINED 설정해야 합니다.
fRTL
렌더링 방향을 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 이 멤버는 왼쪽에서 오른쪽 실행의 숫자에 대해 TRUE 로 설정됩니다. 숫자가 항상 왼쪽에서 오른쪽으로 표시되고 오른쪽에서 왼쪽 실행의 숫자의 경우 FALSE 이기 때문입니다. 이 멤버의 값은 일반적으로 유니코드 포함 수준의 패리티와 동일하지만 GetCharacterPlacement 레거시 지원에 의해 재정의되는 경우 다를 수 있습니다.
| 가치 | Meaning |
|---|---|
|
오른쪽에서 왼쪽으로 렌더링 방향을 사용합니다. |
|
왼쪽에서 오른쪽 렌더링 방향을 사용합니다. |
fLayoutRTL
숫자의 레이아웃 방향을 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 이 멤버는 일반적으로 오른쪽에서 왼쪽 실행의 숫자에 대해 fRTL 에 할당된 값과 같습니다.
| 가치 | Meaning |
|---|---|
|
오른쪽에서 왼쪽 시퀀스의 일부로 읽기 때문에 오른쪽에서 왼쪽으로 실행하여 숫자를 배치합니다. |
|
왼쪽에서 오른쪽 시퀀스의 일부로 읽기 때문에 숫자를 왼쪽에서 오른쪽으로 실행하여 배치합니다. |
fLinkBefore
셰이핑 엔진이 항목의 첫 번째 문자를 이전 문자와 조인하는 것처럼 셰이핑하는지 여부를 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 이 멤버는 ScriptItemize에 의해 설정됩니다. 애플리케이션은 ScriptShape를 호출하기 전에 값을 재정의할 수 있습니다.
| 가치 | Meaning |
|---|---|
|
이전 문자와 연결하여 첫 번째 문자를 셰이프합니다. |
|
이전 문자와 연결하여 첫 번째 문자를 셰이프하지 마세요. |
fLinkAfter
셰이핑 엔진이 항목의 마지막 문자를 후속 문자와 조인하는 것처럼 셰이핑 엔진이 셰이핑하는지 여부를 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 이 멤버는 ScriptItemize에 의해 설정됩니다. 애플리케이션은 ScriptItemize를 호출하기 전에 값을 재정의할 수 있습니다.
| 가치 | Meaning |
|---|---|
|
후속 문자와 연결하여 마지막 문자를 셰이프합니다. |
|
후속 문자와 연결하여 마지막 문자를 셰이프하지 마세요. |
fLogicalOrder
셰이핑 엔진이 모든 문자 모양 관련 배열을 논리적 순서로 생성하는지 여부를 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 이 멤버는 ScriptItemize에 의해 FALSE로 설정됩니다. 애플리케이션은 ScriptShape를 호출하기 전에 값을 재정의할 수 있습니다.
| 가치 | Meaning |
|---|---|
|
모든 문자 모양 관련 배열을 논리적 순서로 생성합니다. |
|
맨 왼쪽 문자 모양에 해당하는 첫 번째 배열 항목을 사용하여 모든 문자 모양 관련 배열을 시각적 순서대로 생성합니다. 이 값은 기본값입니다. |
fNoGlyphIndex
항목에 대한 문자 모양 사용을 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 애플리케이션은 ScriptShape 입력 시 이 멤버를 TRUE로 설정하여 항목에 대한 문자 모양을 사용하지 않도록 설정할 수 있습니다. 또한 ScriptShape 는 기호화되고 인식할 수 없는 디바이스 글꼴이 포함된 하드웨어 컨텍스트에 대해 TRUE 로 설정합니다.
문자 모양 사용을 사용하지 않도록 설정하면 복잡한 스크립트 셰이핑도 사용하지 않도록 설정됩니다. 이 멤버를 TRUE 로 설정하면 GetTextExtentExPoint 및 ExtTextOut 호출을 통해 직접 셰이핑 및 배치가 구현됩니다.
| 가치 | Meaning |
|---|---|
|
항목에 대한 문자 모양 사용을 사용하지 않도록 설정합니다. 이 값은 비트맵, 벡터 및 디바이스 글꼴에 사용됩니다. |
|
항목에 문자 모양을 사용하도록 설정합니다. 이 값은 기본값입니다. |
s
유니코드 알고리즘 상태의 복사본을 포함하는 SCRIPT_STATE 구조체입니다.
비고
이 구조체는 ScriptItemize 또는 ScriptItemizeOpenType으로 채워지며, 각 구조체는 유니코드 문자열을 개별적으로 셰이핑 가능한 항목으로 나눕니다. 두 함수 모두 SCRIPT_ANALYSIS 구조체에 직접 액세스하지 않습니다. 각 함수는 SCRIPT_ITEM 구조체의 배열을 처리하며, 각 구조체에는 SCRIPT_ANALYSIS 구조를 정의하는 멤버가 있습니다.
ScriptItemize 대신 ScriptItemizeOpenType을 사용하는 애플리케이션은 ScriptShape 및 ScriptPlace 대신 ScriptShapeOpenType 및 ScriptPlaceOpenType도 사용해야 합니다. 자세한 내용은 Uniscribe를 사용하여 텍스트 표시를 참조하세요.
요구 사항
| 요구 사항 | 가치 |
|---|---|
| 지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱만 해당] |
| 지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
| Header | usp10.h |
| 재배포 가능 파일 | Internet Explorer 5 이상 onWindows Me/98/95 |