Asumsi Anda benar. iOS mengharuskan Anda mengidentifikasi font berdasarkan nama Postscript (atau Nama Lengkap), yang tidak selalu sama dengan Nama File font yang sebenarnya .
Anda bisa mendapatkan nama PostScript menggunakan FontBook (seperti yang ditunjukkan pada jawaban yang diterima di sini), tetapi ada cara lain.
Dari langsung di dalam XCode, Anda dapat mengekstrak Nama PostScript dari font yang diinstal proyek melalui UIFont
. Cukup jalankan ini untuk mencetak nama PostScript dari font proyek yang diinstal:
Dalam Objective-C ( sumber ):
for (NSString *fontFamilyName in [UIFont familyNames]) {
for (NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName]) {
NSLog(@"Family: %@ Font: %@", fontFamilyName, fontName);
}
}
Atau Swift 3.0 ( sumber )
for familyName in UIFont.familyNames {
for fontName in UIFont.fontNames(forFamilyName: familyName ) {
print("\(familyName) : \(fontName)")
}
}
Atau dari terminal , dari dalam direktori di mana Anda memiliki file font, Anda dapat menjalankan skrip ini untuk mencetak semua nama PostScript dari font di dalam direktori saat ini (menggunakan fc-scan
utilitas dari fontconfig yang kemungkinan sudah diinstal) ( sumber ):
for file in "$arg"*.{ttf,otf}; do fc-scan --format "%{postscriptname}\n" $file; done
Ini adalah screenshot dari perintah di atas yang berjalan di ~/Library/Fonts
direktori saya :
Script di atas akan berjalan melalui semua .ttf
dan .otf
file dalam direktori saat ini, kemudian mencetak Nama PostScript untuk setiap font yang dapat Anda gunakan untuk referensi file font dalam XCode atau di tempat lain.
Jika Anda ingin mendapatkan informasi tambahan (PostScriptName, Filename) dan beberapa kode warna, Anda dapat menjalankan skrip alternatif ini:
for file in "$arg"*.{ttf,otf}; do
postscriptname=$(fc-scan --format "%{postscriptname}\n" $file);
printf "\033[36m PostScript Name:\033[0m %s \e[90m(%s)\033[0m\n" "$postscriptname" "$file";
done
Ini sedikit lebih cepat daripada menyalin kode paste di dalam file AppDelegate.m Anda untuk mencetak nama setiap kali Anda ingin menambahkan file font baru, yang merupakan metode yang populer, dan juga lebih cepat daripada membuka Font di FontBook untuk periksa Nama PostScript.
TIP BERMANFAAT: Jika Anda alias skrip di atas di terminal Anda sehingga semua yang perlu Anda lakukan adalah mengetik satu perintah untuk mendapatkan semua nama font PostScript untuk semua file di direktori saat ini, maka Anda akan menghemat waktu dalam alur kerja pengembangan Anda dan siapkan skrip praktis ini untuk digunakan saat Anda membutuhkannya.
Semoga ini membantu!