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 코드에 의해 다시 설정됩니다.

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

fInhibitSymSwap

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

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

fCharShape

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

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

fDigitSubstitute

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

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

fInhibitLigate

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

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

fDisplayZWG

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

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

fArabicNumContext

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

의미
TRUE
규칙 P0을 위해 이전의 강력한 문자를 아랍어로 간주합니다.
FALSE
이전의 강력한 문자는 규칙 P0을 위해 아랍어로 간주하지 마세요.

fGcpClusters

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

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

fReserved

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

fEngineReserved

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

설명

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

요구 사항

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

추가 정보

ScriptItemize

ScriptShape

Uniscribe

유니스크립스 구조체