Halfkern은 본질적으로 Kerning Audit Tool으로 가장 한 글꼴 자동 커닝 도구입니다.
도구가 작동하는 방식은 고려되는 모든 문자 쌍에 대해 렌더링과 공간을 흐리게하여 흐릿한 이미지가 일정량과 겹치도록 공간을 흐리게한다는 것입니다. 이 일정량은 먼저 "ll", "nn"및 "oo"쌍을 사용하여 먼저 교정하여 발견됩니다.
이 도구는 현재 유물에 자동화 결과를 저장 하지 않습니다 .
$ python3 kern_pair.py FontFile.ttf --dict dictionary.txt
$ python3 kern_pair.py FontFile.ttf PairString
$ python3 kern_pair.py Roboto-Regular.ttf --dict /usr/share/dict/words -l
fi 0 -4
yt 4 0
Te -9 -5
To -9 -5
TA -8 -4
DT -5 -1
첫 번째 가치는 Kern에게 보낸 편지입니다. 두 번째 값은 EM 단위에서 제안 된 커닝 값이며 마지막 값은 현재 글꼴에있는 커닝입니다. 두 커닝 값이 공차량에 따라 다른 쌍 만 표시됩니다. 이 허용 오차는 -t 또는 --tolerance 사용하여 설정할 수 있습니다. 기본 공차는 3.3%입니다.
-l 또는 --letters-only 도구가 두 글자 사이에서 Kerning 만 고려합니다 (예 : 구두점 없음). 이 도구는 또한 숫자를 무시합니다. 일반적으로 고정 너비가 있고 디자인별로 커닝이 없기 때문입니다.
kerned.pdf 파일은 항상 생성되며 각 페이지가 하나 쌍을 보여줍니다. 도구는 조정이 필요하다고 생각합니다 : Kerned.pdf
보고 된 쌍을 검사하기 위해 kern_pair.py 도구를 다시 사용할 수 있습니다.
$ python3 kern_pair.py Roboto-Regular.ttf To
To autokern: -9 (-184 units) existing kern: -5 (-99 units)
Saving kern.png
이 경우이 도구는 로봇에서 "대"가 충분히 커지지 않는다고 생각합니다. 분명히 그것은 맛에 달려 있습니다. 그러나 다음은 kern.png 와 kerned.pdf 파일이 있습니다.

kern.png 이미지에서 첫 번째 줄은 커닝이 없습니다. 두 번째 줄은 도구의 제안이며 세 번째 줄은 기존 글꼴 커닝입니다. kerned.pdf , 쌍은 문자와 상단 사이에 전시되어 있습니다. 마찬가지로 세 행은 No-Kerning, 도구의 제안 및 기존 Kern을 보여줍니다.
이 도구에는 각 글리프 주위에 봉투를 형성하는 두 가지 방법이 있습니다. --envelope sdf (기본값) 또는 --envelope gaussian 사용하여 설정할 수 있습니다.
또한 두 개의 글리프 봉투의 겹침을 요약하는 두 가지 방법이 있습니다. --reduce sum (기본값) 또는 --reduce max 사용하여 설정할 수 있습니다.
이것은 도구를 실행하기 위해 4 가지 다른 모드 조합을 제공합니다. 프로젝트에 가장 적합한 것은 주관적이며 실험해야합니다. 제 생각에 기본값은 최상의 결과를 생성합니다
이 도구와 함께 사용될 언어 별 사전을 생산하려면 ASP-TEST-TEXTS 리포지토리 또는 LibreOffice Sp인트카 사전 또는 Harfbuzz-Wikipedia-Testing을 사용할 수 있습니다.
TODO : 사용 방법을 확장하십시오.
Linux 및 Mac 플랫폼의 간단한 영어 단어 목록의 경우 /usr/share/dict/words 사용할 수 있습니다.
한 캐릭터의 봉투를 보려면 다음을 사용하십시오.
$ python3 kern_pair.py fontfile.ttf X
X 의 봉투 이미지를 생성하고 envelope.png 에 저장합니다.