다음을 통해 공유


SCRIPT_STATE 구조체(usp10.h)

스크립트 상태 정보를 포함합니다.

문법

typedef struct tag_SCRIPT_STATE {
  WORD uBidiLevel : 5;
  WORD fOverrideDirection : 1;
  WORD fInhibitSymSwap : 1;
  WORD fCharShape : 1;
  WORD fDigitSubstitute : 1;
  WORD fInhibitLigate : 1;
  WORD fDisplayZWG : 1;
  WORD fArabicNumContext : 1;
  WORD fGcpClusters : 1;
  WORD fReserved : 1;
  WORD fEngineReserved : 2;
} SCRIPT_STATE;

구성원

uBidiLevel

유니코드 양방향 알고리즘에 따라 연결된 실행의 모든 문자와 연결된 포함 수준입니다. 애플리케이션이 이 구조를 ScriptItemize에 전달하는 경우 이 멤버는 왼쪽에서 오른쪽 기본 포함 수준의 경우 0으로, 오른쪽에서 왼쪽으로 기본 포함 수준의 경우 1로 초기화되어야 합니다.

fOverrideDirection

스크립트가 재정의 수준(문자열의 LRO 또는 RLO 코드)을 사용하는지 여부를 나타내는 초기 재정의 방향 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 재정의 수준의 경우 문자는 왼쪽에서 오른쪽 또는 오른쪽에서 왼쪽으로 한 방향으로만 배치됩니다. 반대 방향의 숫자 또는 강력한 문자의 순서를 다시 지정하지 않습니다. 이 값은 문자열의 LRE, RLE, LRO 또는 RLO 코드에 의해 다시 설정됩니다.

가치 Meaning
TRUE
포함 수준을 반영하는 재정의 수준을 사용합니다.
FALSE
포함 수준을 반영하는 재정의 수준을 사용하지 마세요.

fInhibitSymSwap

셰이핑 엔진이 유니코드 미러된 문자 모양(예: 대괄호)의 미러링을 바이패스하는지 여부를 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 이 멤버는 유니코드 문자 ISS에 의해 설정되고 ASS에서 지워집니다.

가치 Meaning
TRUE
유니코드 미러된 문자 모양의 미러링을 무시합니다.
FALSE
유니코드 미러된 문자 모양의 미러링을 무시하지 마세요.

fCharShape

구현되지 않았습니다. 유니코드의 아랍어 Presentation Forms 영역의 문자 코드를 셰이핑해야 하는지 여부를 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다.

가치 Meaning
TRUE
유니코드의 아랍어 Presentation Forms 영역의 셰이프 문자 코드입니다.
FALSE
유니코드의 아랍어 Presentation Forms 영역에서 문자 코드를 셰이프하지 마세요.

fDigitSubstitute

이 멤버는 현재 사용되지 않는 유니코드 문자 U+206E NATIONAL DIGIT SHAPES("NADS") 및 U+206F NOMINAL DIGIT SHAPES("NODS")를 사용하여 레거시 구현에서 얻은 숫자 대체 동작에 대해 동일한 제어를 제공합니다. 가능한 값은 다음 표에 정의되어 있습니다.

가치 Meaning
TRUE
U+0030~U+0039 문자 코드는 국가 숫자로 대체됩니다.
FALSE
U+0030~U+0039 문자 코드는 국가 숫자로 대체되지 않습니다.

fInhibitLigate

합자가 아랍어 또는 히브리어 문자의 셰이핑에 사용되는지 여부를 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다.

가치 Meaning
TRUE
아랍어 또는 히브리어 문자의 셰이핑에는 합자를 사용하지 마세요.
FALSE
아랍어 또는 히브리어 문자의 셰이핑에 합자를 사용합니다.

fDisplayZWG

단어 내의 문자 위치에 따라 변경 또는 다른 문자 모양이 필요한 언어의 표현 문자 모양으로 표시할 수 없는 컨트롤 문자의 모양을 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 일반적으로 문자는 표시되지 않습니다. 빈 문자 모양으로 지정되고 너비가 0으로 지정됩니다.

가치 Meaning
TRUE
셰이프 컨트롤 문자를 표현 문자 모양으로 지정합니다.
FALSE
셰이프 컨트롤 문자를 표현 문자 모양으로 지정하지 마세요.

fArabicNumContext

유니코드 표준 버전 2.0에서 설명한 대로 P0 규칙의 목적을 위해 이전의 강력한 문자가 아랍어인지 여부를 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 이 멤버는 일반적으로 아랍어로 오른쪽에서 왼쪽 단락을 항목화하기 전에 TRUE 로 설정하고, 그렇지 않으면 FALSE 로 설정해야 합니다.

가치 Meaning
TRUE
P0 규칙의 목적을 위해 이전의 강력한 문자를 아랍어로 간주합니다.
FALSE
규칙 P0의 목적을 위해 이전의 강력한 문자를 아랍어로 간주하지 마십시오.

fGcpClusters

GetCharacterPlacement의 경우 레거시만 지원합니다. ScriptShape에서 pwLogClust로 표시된 배열을 생성하는 방법을 나타내는 값입니다. 가능한 값은 다음 표에 정의되어 있습니다. 이 멤버는 아랍어 및 히브리어 항목에만 영향을 줍니다.

가치 Meaning
TRUE
GetCharacterPlacement와 동일한 방식으로 배열을 생성합니다.
FALSE
GetCharacterPlacement와 동일한 방식으로 배열을 생성하지 마세요.

fReserved

예약; 항상 0으로 초기화합니다.

fEngineReserved

예약; 항상 0으로 초기화합니다.

비고

이 구조체는 ScriptItemize에 대한 입력으로 유니코드 알고리즘 상태를 초기화하는 데 사용됩니다. 또한 ScriptItemize에서 검색한 분석의 구성 요소로도 사용됩니다.

요구 사항

요구 사항 가치
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱만 해당]
Header usp10.h
재배포 가능 파일 Internet Explorer 5 이상 onWindows Me/98/95

참고하십시오

ScriptItemize

ScriptShape

Uniscribe

유니스크립브 구조체