복잡한 텍스트 레이아웃
Complex text layout![]() |

복합 텍스트 레이아웃(CTL) 또는 복합 텍스트 렌더링(complex text rendering)은 문자 시스템의 조판이며, 이 조판에서는 다른 문자와의 관계에 따라 글자의 모양 또는 위치가 달라집니다.이 용어는 소프트웨어 국제화 분야에서 사용되며, 여기서 각 그래프는 문자입니다.
적절한 표시를 위해 CTL이 필요한 스크립트는 복잡한 스크립트라고 불립니다.예를 들어 아랍 문자와 데바나가리, 크메르 문자, 태국 문자 등 브라흐미족의 문자 등이 있다.대부분의 스크립트는 CTL을 필요로 하지 않습니다.예를 들어, 각 문자를 직선 행이나 열에 하나씩 표시하기만 하면 라틴 문자나 한자를 조판할 수 있습니다.다만, 이러한 스크립트에도, CTL 가 컴퓨터로 작성하기 위해서 필요한 대체 형식이나 옵션 기능(초서체 쓰기 등)이 있습니다.
CTL이 필요한 특성
CTL 복잡성의 주요 특징은 다음과 같습니다.
- 양방향 텍스트. 여기서 문자를 오른쪽에서 왼쪽으로 또는 왼쪽에서 오른쪽으로 쓸 수 있습니다.
- 문맥 의존 쉐이핑 및 연결.문자의 위치 및/또는 주변 문자에 따라 문자가 모양을 변경할 수 있습니다.예를 들어 아랍어 스크립트의 문자는 상황에 따라 최대 4개의 다른 모양 형식을 가질 수 있습니다.
- 순서: 표시되는 문자의 순서가 논리 순서와 다릅니다.예를 들어 왼쪽에서 오른쪽으로 쓰는 데바나가리에서는 '짧은 i'의 글자가 뒤에 오는 자음의 왼쪽에 나타나는데, '키'에서는 '-i'를, '키'에서는 'k-'를, 활은 'k-'를 넘어 오른쪽으로 뻗는다.
이러한 특성이 모두 CTL을 필요로 하는 것은 아닙니다.예를 들어, 그리스어 알파벳은 문자 시그마의 문맥에 맞는 모양을 하고 있는데, 문자 시그마는 단어 끝에 at로 표시되고 다른 곳에는 elsewhere로 표시됩니다.단, 이 두 형식은 보통 다른 문자로 저장됩니다.예를 들어 Unicode에는 U+03C2 greek GREIS SHOLL LETTER FINAL SIGMA u U+03C3 greek GREISS SOLL LETTER SIGMA greek 、 GREISE SIGMA greek greek greek them them them them them them them them them them them them them them them them them them them them them them them them them them them them them them them them them them03C03C03CH대조와 비교를 위해 소프트웨어는 문자열 """를 """"[1]에 상당하는 것으로 간주해야 합니다만, 조판 목적에서는 구별되어 있기 때문에 CTL이 올바른 형식을 선택할 필요는 없습니다.
실장
CTL을 지원하는 대부분의 텍스트렌더링 소프트웨어에는 특정 스크립트에 대한 정보가 포함되어 있기 때문에 문자 배치 방법을 설명하는 글꼴파일 없이도 올바르게 렌더링할 수 있습니다.이러한 소프트웨어는 보통 라이브러리에서 제공됩니다.예를 들어 다음과 같습니다.
- macOS용 핵심 텍스트
- Uniscribe (Universal Shaping Engine) 및 DirectWrite for Microsoft Windows
- HarfBuzz, 크로스 플랫폼 라이브러리
- 오늘날 HarfBuzz를 통합한 크로스 플랫폼 라이브러리인 Pango
단, 이러한 소프트웨어는 명령이 없는 스크립트를 적절하게 렌더링할 수 없습니다.이러한 스크립트에는 마이너리티 스크립트가 다수 포함될 수 있습니다.다른 방법은 글꼴 파일 자체에 렌더링 명령을 포함시키는 것입니다.렌더링 소프트웨어는 여전히 지침을 읽고 따를 수 있어야 하지만, 이것은 비교적 간단합니다.
후자의 접근방식의 예로는 Apple Advanced Typography(AAT)와 Graphite가 있습니다.AAT는 Apple 운영체제에 포함되어 있는 반면 Graphite는 Microsoft Windows 및 Linux 기반 시스템에서 사용할 수 있습니다.
OpenType 포맷은 주로 첫 번째 접근법(글꼴이 아닌 렌더러에서의 레이아웃 지식)을 사용하는 시스템을 대상으로 하지만 컨텍스트 연결 등 CTL을 지원하는 몇 가지 기능을 갖추고 있습니다.AAT 및 Graphite 명령은 OpenType 글꼴 파일에 포함될 수 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "FAQ - Greek Language & Script". Unicode Consortium. 2012-12-03. Retrieved 2013-09-13.
It is easier to simply equate the two sigma codes for operations which are concerned with word content, for example.
외부 링크
- 복잡한 렌더링의 예: SIL International의 전 세계 복잡한 쓰기 시스템 예
- 복잡한 텍스트 레이아웃 - 오픈 그룹의 데스크톱 테크놀로지
- Mozilla에서의 Indicator 스크립트 지원 - 기타 CTL 스크립트도 지원
- 프로젝트 SILA - 그래파이트와 Mozilla 통합 프로젝트
- Solaris에서의 CTL 아키텍처 - Solaris 글로벌화 화이트페이퍼
- 복잡한 스크립트 - Microsoft 글로벌 개발 및 컴퓨팅 포털
- Theppitak의 홈페이지 - 태국어 처리에 관한 정보
- HarfBuzz's 페이지(Freedesktop.org)
- D-Type Unicode 텍스트 모듈 - 복잡한 텍스트용 휴대용 소프트웨어 라이브러리
- BidiRenderer - FriBidi, FreeType 및 HarfBuzz를 사용하여 양방향 단락에서 복잡한 텍스트의 쉐이핑과 레이아웃을 보여주는 응용 프로그램
- Tehreer-Android - 양방향 알고리즘, 오픈 타입 쉐이핑, 텍스트 조판, 텍스트 렌더링 등 텍스트 관련 기술을 완전히 제어할 수 있는 라이브러리
- Tehreer-Cocoa - iOS용 스탠드아론 글꼴/텍스트 엔진