이것이 귀하의 공식적인 질문에 직접 대답하지는 않지만 문제가 다소 해결되기를 바랍니다. 다음 기술은 글꼴을 수동으로 자르는 작업을 줄이는 데 도움이되었습니다 (블랙 레터, 표준 자간 쌍은 적용되지 않음).
가장 중요한 것 : 커닝 수업을 사용하십시오. 글꼴에 많은 글리프가있을 수 있지만 한 방향으로 자르는 것과 관련하여 많은 글꼴이 동일합니다. 예를 들어, m 과 n 의 오른쪽 자간은 모든 또는 거의 모든 서체에서 동일해야합니다. 커닝을 시작하기 전에 모든 글리프를 합리적인 커닝 클래스로 그룹화하고 작업을 크게 줄이십시오. 합리적인 글꼴 편집기는 커닝 클래스를 지원해야합니다.
서체에 따라 상황에 따라 다른 커닝 클래스를 사용하여 커닝 클래스의 효율성을 높일 수 있습니다. 예를 들어, a 와 a 는 대부분의 소문자와 관련하여 동일한 왼쪽 커닝을 갖지만 일부 대문자와 f는 그렇지 않습니다 . 내 글꼴의 경우 다음과 같은 경우 커닝 클래스가 다른 커닝 테이블이 다릅니다.
없이 소문자 F, S, L, I, ... - 소문자;
f, ſ, ľ, ï,… – 소문자;
대문자 소문자;
대문자 – 대문자;
소문자 – 소문자.
베어링을 조정하는 데 노력하십시오 . 즉, 글리프의 기본 거리 (오른쪽)를 좌우로 조정하십시오. 글리프의 방위가 잘못 선택되면이 글리프가 포함 된 거의 각 쌍을 커닝해야합니다. 다른 한편으로, 베어링이 양호하면 많이 굳을 필요가 없으며 굳이 어디에 있어야 하는지를 직접 볼 수 있습니다.
베어링과 커닝을 조정하는 트릭 은 다음과 같은 것을 보는 것입니다 .
uuuuuuuuuuuuuuuuuuuuuuuxuuuuuuuuuuuuuuuuuuuuuuu
uıuunımnuınuınınuımunxuınuımuınuınuımuınuınmu
만약 xu 가 커닝을 필요로 한다면 이것을 보시면 알 것입니다.
조정 된 수평 메트릭을 사용하여 글리프 풀을 체계적이고 철저하게 확장하십시오. i, m, n 및 u 와 같은 "간단한 글자"의 수평 메트릭 (베어링 및 커닝)을 조정하는 것으로 시작하십시오 . 위에서 언급 한 문자 사이에 커닝을 사용하지 않고 최소, 알루미늄 또는 면역 과 같은 단어가 이상적으로 보이 도록하십시오 . 그런 다음 수영장에 다른 소문자를 추가하고 필요한 경우 베어링과 커닝이 좋은지 확인하십시오. 풀에 소문자가 모두 포함되어 있으면 대문자를 추가하고 올바른 방향에만주의하십시오. 등등 …
해당 풀이 있으면 글꼴에서 많은 텍스트 를 읽고 놓친 쌍을 찾으십시오. 텍스트를 거꾸로 보는 것도 도움이됩니다.
마지막으로 가능한 모든 문자 쌍을 포함하는 텍스트를 생성하여 확인할 수 있습니다. 예를 들어 다음 Python 3 스크립트는 소문자를 처리합니다.
from random import shuffle
s = "abcdefghijklmnopqrstuvwxyzßþðə"
pairs = [(c,d) for c in s for d in s]
shuffle(pairs)
for i, pair in enumerate(pairs):
print("".join(pair), end=("" if i%3 else " "))
(이것은 파일을 파일에 저장 kerningtest.py
한 다음 python3 kerningtest.py
해당 폴더의 터미널에서 호출 하여 Unixoid 시스템 (주로 Windows 이외의 모든 것)에서 쉽게 실행할 수 있습니다 .)
실제로 가장 먼저 사용되는 것에 대해 걱정하십시오. 가장 중요한 커닝은 소문자 – 소문자 및 대문자 – 소문자입니다. 대문자 – 대문자 및 소문자 – 대문자는 예외적 인 용도로만 사용됩니다. 서체에 따라서는 전혀 중요하지 않을 수 있습니다. 예를 들어, 모든 대문자는 붓글씨 스크립트에서 아주 나쁜 생각이기 때문입니다. 바라건대 키릴 문자, 로마 숫자 숫자, 통화 기호 커닝 쌍이 필요하지 않기를 바랍니다.
그러나 이러한 모든 트릭에도 불구하고 좋은 수동 커닝을 수행하는 것은 길고 지루한 작업입니다.