aspose.info
KO

CFF2 - 컴팩트 글꼴 파일 형식 버전 2

업데이트

.CFF2 파일이란?

CFF2 파일 형식은 CFF 파일 형식의 버전 2.0이며 CFF 파일 형식과 유사한 글리프 아웃라인 및 메타데이터를 효율적으로 저장할 수 있습니다. CFF2는 OpenType 글꼴의 컨텍스트에서 CFF2 태그가 있는 ‘sfnt’ 테이블로 사용된다는 점에서 CFF와 다릅니다. 독립 실행형 프로그램으로 사용할 수 없으며 다른 OpenType 테이블의 데이터에 종속됩니다.

CFF2 파일 형식

CFF2 파일 형식 사양에는 내부 데이터 레이아웃, 데이터 유형, 테이블 및 파일 형식에 대한 기타 내부 정보에 대한 세부 정보가 포함되어 있습니다. 개발자 참조용으로 참조할 수 있습니다. 이들에 대한 세부사항 중 일부는 다음과 같습니다.

데이터 레이아웃

CFF2 파일 형식의 이진 데이터는 여러 개의 개별 데이터 구조로 논리적으로 구성됩니다. 바이너리 데이터 내의 레이아웃은 다음 표와 같습니다.

엔트리댓글
헤더고정 위치
상위 DICT고정 위치
글로벌 하위 인덱스고정 위치
바리에이션스토어
FDSelect글꼴 DICT INDEX에 둘 이상의 글꼴 DICT가 있는 경우에만 표시됩니다.
글꼴 DICT 색인
글꼴 DICT 배열글꼴 DICT INDEX에 포함되어 있습니다.
개인 DICT글꼴 DICT당 하나.

처음 세 개의 구조만 고정된 위치를 기반으로 합니다. 나머지는 오프셋을 통해 도달하며 순서를 변경할 수 있습니다.

데이터 유형

CFF2 파일 형식은 다음 데이터 유형을 사용합니다.

이름범위설명
uint80 ~ 2558비트 부호 없는 숫자
uint160 ~ 6553516비트 부호 없는 숫자
uint320 ~ 429496729532비트 부호 없는 숫자
오프셋변함1, 2, 3 또는 4바이트 오프셋(인덱스 테이블의 OffSize 필드로 지정)
오프사이즈1 ~ 41바이트 부호 없는 숫자는 오프셋 필드의 크기를 지정합니다.

모든 멀티바이트 숫자 데이터와 오프셋 필드를 빅엔디안 바이트 순서로 저장합니다. CFF2 형식은 정렬 제한을 따르지 않으므로 패딩 바이트가 없습니다.

DICT 데이터

CFF2 파일에는 컴팩트 토큰 형식의 키-값 쌍으로 글꼴 사전 데이터가 포함되어 있습니다. 사전 키는 1 또는 2바이트 연산자로 인코딩되고 사전 값은 가변 크기 숫자 피연산자로 인코딩됩니다. DICT 데이터 형식을 사용하는 구조는 Top DICT, Font DICT 및 Private DICT의 세 가지입니다. 다양한 크기의 정수 피연산자 유형이 정의되고 다음 표와 같이 인코딩됩니다(피연산자의 첫 번째 바이트는 b0, 두 번째 바이트는 b1 등).

크기b0 범위값 범위값 계산
132 ~ 246-107 ~ +107b0 - 139
2247 ~ 250+108 ~ +1131(b0 - 247) * 256 + b1 + 108
2251 ~ 254-1131 ~ -108-(b0 - 251) * 256 - b1 - 108
328-32768 ~ +32767b1 « 8
529-(2^31) ~ +(2^31 - 1)b1 « 24 | b2 « 16 | b3 « 8 | b4

헤더

바이너리 데이터는 아래 표와 같은 형식의 헤더로 시작합니다.

유형이름설명
uint8메이저버전메이저 버전을 포맷하십시오. 2로 설정합니다.
uint8마이너 버전부 버전을 포맷하십시오. 0으로 설정합니다.
uint8헤더크기헤더 크기(바이트).
uint16topDict길이최상위 DICT 구조의 길이(바이트).

참고문헌

함께 보기