2017-09-20 66 views
6

Tôi đã sử dụng phông chữ Futura-Demi.otf một lúc.Tải phông chữ trong iOS 11 (hoặc Xcode 9)

Với mã bên dưới, tôi có thể xác nhận tệp này chứa nhiều phông chữ.

for fname in UIFont.familyNames { 
    for name in UIFont.fontNames(forFamilyName: fname) { 
     print(name) 
    } 
} 

gia đình Font là Futura và nó chứa phông chữ như sau:

Futura-CondensedExtraBold 
Futura-Dem 
Futura-Medium 
Futura-Bold 
Futura-CondensedMedium 
Futura-MediumItalic 

Tôi đã sử dụng phông chữ Futura-Dem với UIFont(name: "Futura-Dem", size: 21) mà không cần bất kỳ rắc rối cho đến nay. Tuy nhiên sau khi iOS 11 được phát hành, tôi không thể sử dụng phông chữ này nữa. Tất cả các phông chữ Futura-Dem được đổi thành Futura-Medium ngay cả trong ứng dụng đã có trong App Store.

Tôi đã kiểm tra rằng font được nạp bởi UIFont(name: "Futura-Dem", size: 21)Futura-Medium phông chữ và tôi cũng thấy rằng tôi có thể sử dụng Futura-Dem phông chữ với

let des = UIFontDescriptor(name: "Futura-Dem", size: 21) 
let font = UIFont(descriptor: des, size: 21) 

Các tải mã trên Futura-Dem thành công nhưng tôi không có ý tưởng tại sao tôi không thể chỉ sử dụng UIFont(name: "Futura-Dem", size: 21) như tôi đã làm trước đây.

Trả lời

4

Tôi cũng gặp vấn đề tương tự, với phông chữ Futura tùy chỉnh.

Tôi đã sử dụng phần mềm Birdfont (https://birdfont.org/ *) để đổi tên phông chữ thành một thứ khác (không bắt đầu bằng Futura, chỉ một từ bắt đầu bằng chữ hoa). Và thay đổi tên tập tin là tốt nhưng thực sự điều quan trọng là thay đổi tên phông chữ trong dữ liệu meta của phông chữ.

Sau đó, tôi đã liên kết phông chữ được đổi tên đó với ứng dụng iOS và nó hoạt động. Tôi không biết tại sao vấn đề với Futura xảy ra mặc dù, nhưng lừa này giải quyết được vấn đề.

* Lưu ý: cũng có FontForge (http://fontforge.github.io/en-US/) nếu vì một số lý do, Birdfont không hoạt động cho bạn.

Các vấn đề liên quan