2017-02-28 7 views
1

PDF 글꼴 임베딩을 위해 필자는 크기를 줄이기 위해 CFF OpenType 파일에서 사용하지 않은 글리프에 대한 글리프 개요 데이터를 제거해야했습니다.서브 루틴을 취소 할 수있는 CFF (Compact Font Format) 라이브러리?

문제는 TTF와는 달리 CFF는 서브 루틴의 윤곽선 데이터를 "압축"하여 글리프 사이의 종속성을 생성하므로 문자와 그 일치하는 문자를 cmap 및 윤곽선 데이터에서 제거 할 수 없습니다.

CFF 파일을 서브 루틴화할 수있는 otfcc와 같은 몇 가지 오픈 소스 CFF 라이브러리가 있기 때문에 반대 작업을 수행하고 서브 루틴을 취소 할 수있는 라이브러리가 있는지 궁금합니다.

업데이트 : 사용중인 라이브러리는 otfcc 및 sfntly입니다. Sfntly에는 CFF 파서가 없기 때문에 하나를 확장하고 있지만, otfcc에는 하나가 있지만 서브셋 옵션이없는 것으로 보입니다. 소스는 더 유망 해 보입니다. Freetype도 살펴 보았지만 CFF 로더를 가지고 있지만 서브셋이없는 것 같습니다.

현재 아파치에서 sfntly로 pdfbox 용 글꼴 상자를 포팅하는 중입니다. 파서는 작동하지만 서브셋은 여전히 ​​불완전합니다.

+0

'C++'태그를 제거하십시오. –

+0

이 작업은 이상한 일입니다. 도구 체인이 이미이를 수행 할 수 있어야하므로 [XY 문제] (https://meta.stackexchange.com/a/66378)를 실행하지 않기 위해 다음을 수행 할 수 있습니다. "소스"에서 "최종 pdf"로 이동하는 데 이미 사용중인 도구에 대한 자세한 내용을 제공합니까? 해당 체인에 사용되는 도구에 따라 이미 유틸리티 나 런타임 플래그가있어 거의 확실합니다. –

+0

@ Mike'Pomax'Kamermans 우리의 응용 프로그램은 아직 CFF 지원이 없지만, fontbox Apache를 사내에서 개발 한 것으로 보이는 TTF 서브 세트 만 있습니다. 예) CFF를 전혀 지원하지 않습니다. CFF OTF에서만 할 수있는 일은 하위 집합을 지정하지 않고 pdf에 임베드하는 것입니다. – legokangpalla

답변

0

결국 AFDKO를 사용하여 끝났습니다. 오픈 소스라는 것을 깨닫지 못했습니다! CFF 하위 집합에서부터 otf 글꼴 만들기에 이르기까지 모든 것을 갖추고 있습니다.