Masalah serupa telah dibahas di Font yang dipasang khusus tidak ditampilkan dengan benar di UILabel . Tidak ada solusi yang diberikan.
Inilah solusi yang berfungsi untuk font khusus saya yang memiliki masalah yang sama di UILabel, UIButton dan semacamnya. Masalah dengan font ternyata fakta bahwa properti ascender terlalu kecil dibandingkan dengan nilai font sistem. Ascender adalah spasi vertikal di atas karakter font. Untuk memperbaiki font Anda, Anda harus mengunduh utilitas baris perintah Apple Font Tool Suite . Kemudian ambil font Anda dan lakukan hal berikut:
~$ ftxdumperfuser -t hhea -A d Bold.ttf
Ini akan membuat Bold.hhea.xml
. Buka dengan editor teks dan tingkatkan nilai ascender
atribut. Anda harus sedikit bereksperimen untuk mengetahui nilai pasti yang paling sesuai untuk Anda. Dalam kasus saya, saya mengubahnya dari 750 menjadi 1200. Kemudian jalankan utilitas lagi dengan baris perintah berikut untuk menggabungkan perubahan Anda kembali ke file ttf:
~$ ftxdumperfuser -t hhea -A f Bold.ttf
Kemudian gunakan saja font ttf yang dihasilkan di aplikasi Anda.
OS X El Capitan
Penginstal Apple Font Tool Suite tidak berfungsi lagi di OSX El Capitan karena SIP karena mencoba menginstal file biner ke direktori yang dilindungi. Anda harus mengekstrak secara manual ftxdumperfuser
. Pertama salin pkg dari dmg ke direktori lokal setelah itu ekstrak OS X Font Tools.pkg
with
~$ xar -xf OS\ X\ Font\ Tools.pkg
Sekarang arahkan ke folder fontTools.pkg
dengan
~$ cd fontTools.pkg/
Ekstrak muatan dengan
~$ cat Payload | gunzip -dc | cpio -i
Sekarang ftxdumperfuser
biner ada di folder Anda saat ini. Anda dapat memindahkannya ke /usr/local/bin/
sehingga Anda dapat menggunakannya di setiap folder di dalam aplikasi terminal dengan yang berikut ini.
~$ mv ftxdumperfuser /usr/local/bin/