Apple 고급 타이포그래피

Apple Advanced Typography
Apple 고급 타이포그래피
파일 이름 확장자
.ttf, .tc
유형코드0100, "tcf"
개발자사과
포맷의 종류글꼴 파일
확장원TrueType, PostScript 글꼴
웹 사이트https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6AATIntro.html

AAT(Apple Advanced Typography)는 고급 글꼴 렌더링, 국제화타이포그래피의 복잡한 기능을 지원하는 Apple Inc.의 컴퓨터 기술로서, 1990년대 중반 거의 사용되지 않았던 Apple QuickDraw GX 글꼴 기술을 계승한 것입니다.TrueType 아웃라인 글꼴 표준에 대한 확장 버전이며 Adobe 및 Microsoft에서 개발한 OpenType 글꼴 형식과 유사한 스마트 글꼴 기능과 Graphite에 대한 확장 버전입니다.또한 Adobe의 "multiple master" 글꼴 형식의 개념을 통합하여 특성 축을 정의하고 각 축을 따라 독립적으로 글리프를 모핑할 수 있습니다.AAT 글꼴 기능은 기본 입력 텍스트를 변경하지 않고 글리프 변환 시 문자 표현에만 영향을 줍니다.

특징들

Zapfino 서체로 사용할 수 있는 추가 문자와 연결의 예

현재 AAT의 주요 기능은 다음과 같습니다.

  • 가지 수준의 결합 제어
  • 카시다 정당화 및 결합자
  • 크로스 스트림 키닝(예를 들어 Nasta'liq Urdu에 필요)
  • 지시 모음 배열
  • 독립적으로 제어 가능한 대체 기능:
  • 글리프 변동 축

AAT 글꼴 기능은 Mac OS 8.5 이상 및 모든 버전의 MacOS에서 지원됩니다.크로스 플랫폼 ICU 라이브러리는 왼쪽에서 오른쪽으로 [1]스크립트에 대한 기본적인 AAT 지원을 제공했습니다.HarfBuzz 버전2는 AAT 쉐이핑 지원을 추가하였습니다.AAT 쉐이핑은 Chrome/Chromium이 버전 72로, LibreOffice가 버전 6.3으로 macOS AAT 글꼴을 크로스 플랫폼 방식으로 렌더링하기 위해 CoreText 대신 사용하는 오픈[2] 소스 구현입니다.

OS X YosemiteiOS 8에서 AAT는 언어 고유의 쉐이핑을 지원합니다.즉, 글리프가 표현되는 인간의 언어에 따라 글리프가 처리되는 방식을 변경합니다.이 지원은 핵심 [3]텍스트 언어 태그를 사용하여 사용할 수 있습니다.'kerx' [4]및 'ankr' 표를 통해 앵커 포인트를 통해 두 개의 글리프의 상대적 위치를 위한 조항이 동시에 추가되었다.

MacOS에서의 AAT 및 OpenType

Mac OS X 10.5 Leopard에서는 OpenType을 부분적으로 지원합니다.2011년 현재 지원은 서부 및 아랍어 스크립트로 제한됩니다.글꼴에 AAT 테이블이 있으면 타이포그래피에 사용됩니다.글꼴에 AAT 테이블이 없지만 OpenType 테이블이 있는 경우 시스템이 지원하는 범위 내에서 사용됩니다.

즉, Mac OS X 10.5에서는 수정 없이 Western 또는 Middle East 스크립트용 OpenType 글꼴을 사용할 수 있지만 태국어 및 Devanagari같은 남아시아 스크립트에서는 사용할 수 없습니다.적절한 레이아웃을 위해서는 AAT 테이블이 필요합니다.

AAT 레이아웃

AAT는 텍스트 레이아웃이 발생하기 전에 텍스트 전체를 글리프로 변환해야 합니다.텍스트에 대한 작업은 모두 글리프 레이어 내에서 수행됩니다.

AAT 레이아웃 프로세스에서 사용되는 핵심 테이블은 "morx" 테이블입니다.이 테이블은 일련의 체인으로 분할되며, 각 체인은 하위 테이블로 더욱 분할됩니다.체인 및 서브테이블은 순서대로 처리됩니다.각 서브테이블이 발견되면 레이아웃엔진은 서브테이블의 플래그를 컨트롤 플래그와 비교합니다.일반적으로 사용자 설정에서 도출됩니다.이것은 서브테이블의 처리 여부를 결정합니다.

글꼴에서 사용 가능한 기능 세트는 사용자가 "feat" 테이블을 통해 액세스할 수 있습니다.다음 표에서는 최종 사용자에게 기능을 설명하는 데 사용할 수 있는 현지화 가능한 문자열 및 해당 기능이 선택되었을 경우 텍스트엔진으로 전송하는 적절한 플래그를 나타냅니다."feat" 테이블에 엔트리를 포함하지 않는 간단한 방법으로 기능을 사용자에게 보이지 않게 할 수 있습니다.예를 들어 Apple은 이 방법을 사용하여 필요한 연결을 지원합니다.

서브테이블은 비문맥적 글리프 치환, 문맥적 글리프 치환, 글리프 재배열, 글리프 삽입 및 결합 [5]형성을 수행할 수 있다.상황별 동작은 주변 텍스트에 민감합니다.예를 들어, s를 단어의 끝을 제외한 모든 위치에서 중간으로 자동 변환하는 데 사용할 수 있습니다.

비문맥적 글리프 치환을 위한 "morx" 하위 테이블은 치환된 글리프와 치환된 글리프 사이의 간단한 매핑 테이블이다.다른 것들은 모두 유한 상태 기계를 사용하는 것과 관련이 있다.

유한상태기계를 처리할 목적으로 글리프는 클래스로 편성된다.하나의 클래스는 하나의 글리프만을 포함하는 작은 것일 수도 있고, 수십 개의 글리프 또는 그 이상을 포함할 수도 있다.명시적 클래스에 포함되지 않은 모든 문자에 대해 특수 클래스가 자동으로 정의됩니다.또한 글리프 스트림과 글리프 스트림에서 삭제된 글리프를 위한 특별 클래스도 이용할 수 있습니다.

레이아웃 엔진은 텍스트 시작 상태에서 시작하여 텍스트를 글리프별로 구문 분석합니다.현재 상태 및 발견된 문자의 클래스에 따라 새로운 상태로 전환되며 적절한 작업을 수행할 수 있습니다.이 과정은 글리프 스트림이 고갈될 때까지 계속된다.

유한 상태 머신을 사용하면 "morx" 테이블을 비교적 작고 비교적 빠르게 처리할 수 있습니다.또한 상당한 유연성을 제공합니다.그러나 Apple의 글꼴 도구는 원시 상태 테이블 정보를 통해 "morx" 테이블을 생성해야 하므로 생성 및 디버깅이 어려울 수 있습니다.또한 글꼴 디자이너는 원하는 효과를 위해 "morx" 하위 테이블의 순서가 올바른지 확인해야 합니다.

AAT는 문자가 아닌 글리프로만 작동하기 때문에 적절한 디스플레이를 만드는 데 필요한 모든 레이아웃 정보는 글꼴 자체 내에 있습니다.이것에 의해, OS 의 특별한 서포트를 필요로 하지 않고, 새로운 스크립트에 폰트를 추가할 수 있습니다.서드파티는 애플이 공식적으로 지원하지 않는 스크립트의 글꼴을 만들 수 있으며, macOS와 연동됩니다.한편, 이것은 또한 특정 스크립트의 모든 글꼴이 자체 "morx" 테이블에 있는 스크립트의 쉐이핑 정보의 복사본을 필요로 한다는 것을 의미합니다.

기타 AAT 테이블(또는 표준 TrueType 테이블에 대한 AAT 고유 확장)에서는 컨텍스트 의존형 키닝, 맞춤 및 연결 분할이 가능합니다.AAT는 사용자가 제공한 축척 값에 따라 글꼴 모양이 달라질 수 있는 변형 [6]글꼴도 지원합니다.변형 글꼴은 끝점이 정의되고 중간 값이 유효한 Adobe의 사용되지 않는 다중 마스터 글꼴과 유사합니다.이것에 의해, 유저는 유저 인터페이스내에서 슬라이더를 드래그 해 글리프를 높이거나 짧게 하거나, 보다 뚱뚱하거나 가늘게 하거나, 세리프 사이즈의 증감등을 서로 독립적으로 실시할 수 있다.문자는 기본적인 모양이 근본적으로 [7]바뀌었을 수도 있다.2016년 9월 OpenType이 Font Variation을 도입하기 전에는 OpenType에 이와 같은 것이 없습니다.

다른 AAT 테이블도 점 크기에 따라 영향을 [6]미칠 수 있습니다. 예를 들어, 12개의 점에서는 수평 및 수직 스트로크가 비슷한 너비를 가질 수 있지만 300개의 점에서는 스트로크 폭 변동이 매우 클 수 있습니다.

실제로 "morx" 표를 통해 제공되는 기능 외에 이 기술의 기능을 사용하는 AAT 글꼴은 거의 없습니다.Zapfino, Hoefler Text 및 Skia는 AAT의 다양한 기능을 보여주는 macOS와 함께 제공되는 글꼴입니다.

Indicator 스크립트용 AAT

Indicator 스크립트의 경우 필요한 기능은 글리프의 순서 변경과 치환뿐입니다.AAT는 이 두 가지를 모두 지원합니다.위에서 설명한 바와 같이, Indicator 스크립트용 OpenType 글꼴은 MacOS에서 제대로 작동하기 전에 AAT 테이블을 추가해야 합니다.단, 이는 OpenType의 시스템 지원에 의존하는 소프트웨어에만 적용됩니다.자체 OpenType 구현을 제공하는 프로그램은 OpenType 글꼴로 Indicator를 올바르게 렌더링합니다(단, AAT 테이블로 Indicator 글꼴을 올바르게 렌더링하지 못할 수도 있습니다).

Mac OS X 10.5는 Devanagari, Gurmukhi, Gujarati, 태국어, 티베트어 및 타밀어 글꼴과 함께 제공됩니다.다른 Indicator 스크립트의 글꼴은 MacOS 및 iOS의 최신 버전에 포함되었으며 서드파티에서 사용할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Layout Engine - ICU User Guide".
  2. ^ "HarfBuzz 2.0 Released for Advancing Open-Source Text Shaping". Phoronix. 19 October 2018.
  3. ^ "Language Tag Table". Apple Inc.
  4. ^ "Anchor Point Table". Apple Inc.
  5. ^ "About Apple Advanced Typography Fonts". Apple Inc.
  6. ^ a b "TrueType Reference Manual - The 'fvar' table". Apple Inc. Archived from the original on 4 June 2014.
  7. ^ "TrueType Reference Manual - The 'gvar' table". Apple Inc. Archived from the original on 4 June 2014.

외부 링크