Giả định của bạn là chính xác. iOS yêu cầu bạn xác định một phông chữ dựa trên tên Postcript (hoặc Tên đầy đủ), không phải lúc nào cũng giống với Tên tệp thực tế của phông chữ .
Bạn có thể lấy tên PostScript bằng FontBook (như thể hiện trong câu trả lời được chấp nhận ở đây), nhưng có nhiều cách khác.
Từ trực tiếp bên trong XCode, bạn có thể trích xuất Tên PostScript từ các phông chữ được cài đặt của dự án thông qua UIFont
. Chỉ cần chạy cái này để in tên PostScript của phông chữ dự án đã cài đặt của bạn:
Trong Mục tiêu-C ( nguồn ):
for (NSString *fontFamilyName in [UIFont familyNames]) {
for (NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName]) {
NSLog(@"Family: %@ Font: %@", fontFamilyName, fontName);
}
}
Hoặc Swift 3.0 ( nguồn )
for familyName in UIFont.familyNames {
for fontName in UIFont.fontNames(forFamilyName: familyName ) {
print("\(familyName) : \(fontName)")
}
}
Hoặc từ thiết bị đầu cuối , từ bên trong thư mục nơi bạn có tệp phông chữ của mình, bạn có thể chạy tập lệnh này để in tất cả các tên PostScript của phông chữ trong thư mục hiện tại (sử dụng fc-scan
tiện ích từ fontconfig đã được cài đặt) ( nguồn ):
for file in "$arg"*.{ttf,otf}; do fc-scan --format "%{postscriptname}\n" $file; done
Đây là một ảnh chụp màn hình của lệnh trên đang chạy trên ~/Library/Fonts
thư mục của tôi :
Tập lệnh ở trên sẽ chạy qua tất cả các tệp .ttf
và .otf
tệp trong thư mục hiện tại, sau đó in ra Tên PostScript cho mỗi phông chữ mà bạn có thể sử dụng để tham chiếu tệp phông chữ trong XCode hoặc ở nơi khác.
Nếu bạn muốn làm quen với một số thông tin bổ sung (PostScriptName, Tên tệp) và một số mã màu, bạn có thể chạy tập lệnh thay thế này:
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
Tốc độ này nhanh hơn một chút so với mã dán sao chép bên trong tệp AppDelegate.m của bạn để in tên mỗi khi bạn muốn thêm tệp phông mới, là phương pháp phổ biến và cũng nhanh hơn mở Phông chữ trong FontBook kiểm tra tên PostScript.
TIP HỮU ÍCH: Nếu bạn đặt bí danh cho tập lệnh trên trong thiết bị đầu cuối của mình để tất cả những gì bạn cần làm là nhập một lệnh duy nhất để nhận tất cả các tên phông chữ PostScript cho tất cả các tệp trong thư mục hiện tại, thì bạn sẽ tiết kiệm thời gian trong quy trình phát triển của mình và có kịch bản tiện dụng này sẵn sàng để sử dụng khi bạn cần nó.
Hi vọng điêu nay co ich!