UILabel에 올바르게 표시되지 않는 사용자 정의 설치 글꼴 에서 유사한 문제가 논의되었습니다 . 주어진 해결책이 없습니다.
다음은 UILabel, UIButton 등에서 동일한 문제가 발생한 사용자 지정 글꼴에 대해 작동했던 솔루션입니다. 글꼴의 문제는 ascender 속성이 시스템 글꼴의 값에 비해 너무 작다는 사실로 밝혀졌습니다. Ascender는 글꼴 문자 위의 세로 공백입니다. 글꼴을 수정하려면 Apple Font Tool Suite 명령 줄 유틸리티 를 다운로드해야합니다 . 그런 다음 글꼴을 가져 와서 다음을 수행하십시오.
~$ ftxdumperfuser -t hhea -A d Bold.ttf
이렇게하면 Bold.hhea.xml
. 텍스트 편집기로 열고 ascender
속성 값을 늘리십시오 . 자신에게 가장 적합한 정확한 값을 찾기 위해 약간의 실험을해야합니다. 제 경우에는 750에서 1200으로 변경했습니다. 그런 다음 다음 명령 줄을 사용하여 유틸리티를 다시 실행하여 변경 사항을 다시 ttf 파일에 병합합니다.
~$ ftxdumperfuser -t hhea -A f Bold.ttf
그런 다음 앱에서 결과 ttf 글꼴을 사용하십시오.
OS X El Capitan
Apple Font Tool Suite Installer는 바이너리 파일을 보호 된 디렉토리에 설치하려고하기 때문에 SIP로 인해 OSX El Capitan에서 더 이상 작동하지 않습니다 . 수동으로 추출해야합니다 ftxdumperfuser
. 첫 번째 이후의 포장을 풀고 로컬 디렉토리에 데미지에서 PKG 복사 OS X Font Tools.pkg
와
~$ xar -xf OS\ X\ Font\ Tools.pkg
이제 폴더 fontTools.pkg
로 이동하십시오.
~$ cd fontTools.pkg/
페이로드 추출
~$ cat Payload | gunzip -dc | cpio -i
이제 ftxdumperfuser
바이너리가 현재 폴더에 있습니다. /usr/local/bin/
다음과 같이 터미널 응용 프로그램 내부의 모든 폴더에서 사용할 수 있도록 이동할 수 있습니다.
~$ mv ftxdumperfuser /usr/local/bin/