2012-11-02 7 views
1

제목에서 알 수 있듯이 .ttf 및 .otf 파일을 읽고 사용자가 커닝, 문자 너비 및 문자 간격을 조정할 수있는 소프트웨어를 만들고 싶습니다. . 프로젝트 프리 타입에 대해 알고 있지만 C로 작성되었으며 C# 및 Python으로만 코딩 할 수 있습니다. .otf 및 .ttf 논리를 코딩하는 것이 얼마나 어렵습니까?활자체의 커닝 및 간격 조정을위한 소프트웨어 빌드

감사 모프

+0

정말 행운을 빈다. 정말 어렵습니다. 정교하게하기 위해 .otf/.ttf의 메타 데이터를 정확하게 읽으려고 노력하십시오. 방법을 찾으면 알려 주시기 바랍니다. – rantanplan

+0

@rantanplan 그건 분명히 내 영혼을 꺾었지만 어쨌든 덕분에 – Morpheus

+0

정말 미안하지만, 나는 단지 당신에게 소중한 시간을 절약하고 싶어 :) 거기에 있고 그것은 지옥 같은 짓이야. 하지만 ttf/ps/otf 표준에 대한 스펙을 읽고 직접 읽어 볼 수도 있습니다. – rantanplan

답변

3

당신은 커닝, 문자 폭 및 문자 간격 테이블에 조정을 허용 트루 (.TTF)과 오픈 타입 (.OTF) 파일을 읽을 수 있도록 소프트웨어를 작성하는 것이 얼마나 어려운 물었다. 글쎄, 내가 너에게 말할거야. 어렵네.

Microsoft Typography의 The OpenType Font File은 TrueType 및 OpenType 글꼴 파일의 고급 구조를 잘 설명합니다. 내부 구조는 일부 글로벌 인덱싱 및 체크섬 필드로 구성되며 각 테이블에는 고유 한 내부 구조가있는 여러 개의 테이블이 있습니다. 이 전역 구조의 압축을 풀고 변경하려는 테이블을 구문 분석 및 수정 한 다음 전역 구조를 다시 작성하고 체크섬을 다시 계산하는 코드를 작성해야합니다.

는 사용자가 커닝, 문자 폭과 문자 간격을 수정하도록하려면, 당신은 아마 적어도 kern, hmtxgpos 테이블을 수정해야합니다. 이 테이블을 변경하면 다른 테이블의 값이 영향을받을 수 있습니다.

또한 텍스트 엔진 및 응용 프로그램 소프트웨어는 OpenType 또는 TrueType 글꼴의 내용에 대해 고유 한 기대치를 가지고 있습니다. 이러한 상호 작용은 복잡하고 항상 잘 문서화되지는 않습니다. 까다로운 텍스트 레이아웃 소프트웨어와 함께 작동하는 유능하고 신뢰할 수있는 모든 글꼴에는 풍부한 노하우와 고통스러운 경험을 반영한 내용에 대한 세부 정보가 포함되어 있습니다.

기존의 프리 형식 코드를 사용하기 위해 C 언어를 배우는 것이 어렵다고 생각하는 경우 도구로 수정 한 글꼴이 텍스트 레이아웃 소프트웨어에서 작동하지 않는 이유를 디버깅 할 때까지 기다려주십시오.

글꼴에 어떤 수정을 가하고 싶지는 않습니다. 왜 자신의 소프트웨어를 만드는 대신 기존 소프트웨어를 구입하지 않습니까? FontLab's TypeTool과 같은 응용 프로그램 소프트웨어가있어 커닝, 글자 너비 및 필요한 문자 간격을 모두 편집 할 수 있습니다. 물론, 비용은 들지만, 얼마만큼의 시간을 할애 할 수 있는지, 필요에 따라 코드를 충분히 잘 작동시키는 데 얼마나 많은 시간이 걸릴지 고려하십시오.

자신의 코드를 직접 작성하려면 Adobe Font Development Kit for Opentype (AFDKO)이 유용 할 수 있습니다. 행운을 빕니다.