2012-09-25 1 views
1

Javascript에서 트루 타입 글꼴 구문 분석/렌더링 엔진을 만들고 있습니다. 출처는 here입니다.ttf에서 제로 폭 글리프를 렌더링하는 방법은 무엇입니까?

내 문제는 space 그래프는 거의 항상 내가 loca 오프셋의 글리프를 볼 때, 나는하여 exclam 그리 오프셋을 얻을 것을 의미합니다 제로 폭으로 loca 테이블에 색인이 있다는 점이다. spec for the loca table는 다음과 같이 말합니다 :

글꼴에 누락 된 문자의 윤곽선이 포함되어 있지 않으면 첫 번째와 두 번째 오프셋의 값이 같아야합니다. 이것은 공백 문자와 같은 외곽선이없는 다른 문자에도 적용됩니다. Glyph에는 윤곽이없는 경우, 그 길이는 0이됩니다.

그래서 공백 문자에는 윤곽선이없는 것처럼 보입니다. 그러나 나는 .notdef 글리프를 그리지 않습니다. 글리프 윤곽 세트가없는 경우 어떻게 그리는 지 (또는 적어도 수평으로 오프셋) 어떻게 결정합니까?

답변

1

이 문자의 너비는 hmtx 테이블에 설정되며 윤곽선이 정의되어 있는지 여부에 관계없이 그 너비로 그려야합니다.

1

글리프의 너비가 0이 아니며 0 바이트로 정의됩니다. 당신은 그걸 위해 아무 것도 그리지 않습니다. 전진 폭은 다른 테이블, 일반적으로 hmtx에서 정의됩니다. 진보 된 타이포그래피 컨트롤은, 다른 글리프와 같이,이 어드밴스 폭을 변경할 수 있습니다.