UILabelで正しくインストールされないカスタムインストールフォントで同様の問題が議論されました。解決策はありませんでした。
UILabelやUIButtonなどで同じ問題があった私のカスタムフォントで機能するソリューションを次に示します。フォントの問題は、そのアセンダープロパティがシステムフォントの値と比較して小さすぎるという事実であることが判明しました。アセンダーは、フォントの文字の上にある垂直方向の空白です。フォントを修正するには、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インストーラーは、保護されたディレクトリにバイナリファイルをインストールしようとするため、SIPが原因でOSX El Capitanで動作しなくなりました。手動で抽出する必要がありftxdumperfuser
ます。まずその後アンパックローカルディレクトリにDMGから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/