다음을 통해 공유


복잡한 스크립트 처리

다음은 세밀한 입력 체계 효과 또는 복잡한 스크립트를 지원하기 위한 텍스트 표시 및 관련 처리 옵션입니다.

  • 텍스트 함수
  • 컨트롤 편집
  • 서식 있는 편집 컨트롤
  • Uniscribe

선택하는 옵션은 다음 요인에 따라 달라집니다.

  • 텍스트 또는 스크립트의 형식입니다.
  • 구현 모델(예: 애플리케이션에 의한 줄 바꿈의 텍스트 레이아웃 및 처리).
  • 기존 애플리케이션의 업데이트와 새 애플리케이션 만들기를 비교합니다.

일반적으로 비교적 간단한 스크립트 처리를 수행하는 애플리케이션은 복잡한 스크립트를 처리하기 위한 옵션을 선택할 수 있습니다. 그러나 복잡한 스크립트 처리를 가장 완전히 제어하려면 Uniscribe를 사용하는 것이 좋습니다.

텍스트 함수를 사용하여 복잡한 스크립트 처리

일반적으로 일반 텍스트, 즉 동일한 서체, 두께, 색 등을 사용하는 텍스트는 일반적으로 TextOut, ExtTextOut, TabbedTextOut, DrawTextGetTextExtentExPoint와 같은 표준 텍스트 함수를 사용하여 텍스트 및 측정된 줄 길이를 작성했습니다. 이러한 함수는 복잡한 스크립트 및 미세 입력 체계 효과에 대한 처리를 지원합니다. 자세한 내용은 글꼴 및 텍스트를 참조하세요.

일반적으로 표준 텍스트 지원은 복잡한 스크립트를 처리하는 애플리케이션에 투명합니다. 그러나 미세 입력 체계를 지원하고 복잡한 스크립트를 처리하는 애플리케이션을 작성할 때 따라야 할 몇 가지 특정 규칙을 알고 있어야 합니다.

  • 애플리케이션은 버퍼에 문자를 저장하고 사용자가 입력할 때 각 문자에 대해 ExtTextOut 을 호출하는 대신 한 번에 전체 텍스트 줄을 표시해야 합니다. 이 메커니즘을 사용하면 고급 텍스트 셰이핑 모듈이 컨텍스트를 사용하여 문자 모양을 올바르게 다시 정렬하고 생성할 수 있습니다 .
  • 문자 모양 너비는 컨텍스트에 따라 달라질 수 있으므로 애플리케이션은 캐시된 문자 너비에서 줄 길이를 계산하는 대신 GetTextExtentExPoint 를 사용하여 줄 길이를 결정해야 합니다.
  • 애플리케이션은 필요에 따라 오른쪽에서 왼쪽 읽기 순서 및 오른쪽 맞춤에 대한 지원을 추가해야 합니다.
  • 복잡한 스크립트 또는 미세 입력 체계에 필요한 순서 변경 및 상황별 처리를 위해서는 간단한 스크립트에 대한 기본 텍스트 표시에 대한 처리가 크게 증가해야 합니다. 따라서 성능 문제를 방지하기 위해 애플리케이션은 결과를 표시하고 사용자에게 컨트롤을 반환하기 전에 많은 양의 텍스트를 처리해서는 안 됩니다.

편집 컨트롤을 사용하여 복잡한 스크립트 처리

표준 Windows 편집 컨트롤은 다국어 텍스트 및 복잡한 스크립트를 지원하도록 확장되었습니다. 확장 지원에는 입력 및 표시뿐만 아니라 문자 클러스터에 대한 올바른 커서 이동(예: 태국어 및 Devanagari 스크립트)이 포함됩니다. 자세한 내용은 컨트롤 편집을 참조하세요.

서식 있는 편집 컨트롤을 사용하여 복잡한 스크립트 처리

리치 편집 3.0은 Uniscribe를 활용하여 텍스트 레이아웃 애플리케이션을 특정 스크립트의 복잡성으로부터 격리하는 더 높은 수준의 인터페이스 컬렉션입니다. 서식 있는 편집은 애플리케이션이 기본 목적이 반드시 텍스트 레이아웃이 아니더라도 복잡한 스크립트를 표시하는 가장 간단한 방법입니다. 서식 있는 편집은 풍부한 유니코드 다국어 텍스트와 간단한 일반 텍스트를 빠르고 다양하게 편집할 수 있습니다. 여기에는 광범위한 메시지 및 COM 인터페이스, 텍스트 편집, 서식 지정, 줄 바꿈, 간단한 표 레이아웃, 세로 텍스트 레이아웃, 양방향 텍스트 레이아웃, Indic 및 Thai 지원, Microsoft Word 같은 편집 사용자 인터페이스 및 텍스트 개체 모델 인터페이스가 포함됩니다.

리치 편집 인터페이스와 함께 애플리케이션은 Rich Edit TextOut 함수를 사용하여 자동으로 구문 분석, 도형, 위치 및 중단선을 사용할 수 있습니다. 자세한 내용은 Rich Edit 컨트롤을 참조하세요.

Uniscribe를 사용하여 복잡한 스크립트 처리

Uniscribe 는 미세한 입력 체계 효과 및 복잡한 스크립트와 관련된 텍스트 처리를 가장 광범위하게 지원합니다. 아랍어, 데바나가리 및 태국어와 같은 스크립트에 있는 복잡한 규칙을 지원합니다. 아랍어 및 히브리어와 같이 오른쪽에서 왼쪽으로 작성된 스크립트를 처리하고 스크립트 혼합을 지원합니다. Uniscribe는 애플리케이션에서 미세 입력 체계 효과를 제어하는 데 사용할 수 있는 OpenType 글꼴 기능도 노출합니다. 자세한 내용은 복잡한 스크립트 처리를 참조하세요.

유니스크립스 정보

복잡한 스크립트 처리