Adakah yang berhasil menggunakan font otf khusus di iPhone?

Sepertinya ada beberapa solusi yang berfungsi untuk menggunakan font tipe sebenarnya (ttf) khusus di iPhone, terutama Dapatkah saya menyematkan font khusus di aplikasi iPhone? Namun, metode ini tidak mendukung font tipe terbuka (otf).

Adakah yang menemukan cara untuk menggunakan tipografi otf?


person BP.    schedule 03.09.2009    source sumber


Jawaban (6)


Haruskah Anda menggunakan font otf pada perangkat atau dapatkah Anda mengonversinya menjadi ttf? Mengonversi font OTF ke font TTF relatif mudah menggunakan alat seperti fontforge, mungkin itu bisa menjadi solusi yang mudah.

person Joey Hagedorn    schedule 03.09.2009
comment
Terima kasih, ini berfungsi dengan baik dan selanjutnya font otf-›ttf yang dikonversi diterima oleh kode FontLabel yang ditautkan di atas. FYI untuk semua: Mencoba menginstal FontForge di Snow Leopard dengan meluncurkan paket menghasilkan kesalahan yang mengatakan tidak dapat diinstal pada versi OS ini. Namun, aplikasi tersebut tetap diinstal di folder aplikasi dan berfungsi tanpa kesalahan. Mungkin kesalahan 64 bit dengan paket penginstal. - person BP.; 09.09.2009
comment
Ada beberapa hal yang bermasalah, karena tidak semua font berfungsi. Coba juga dengan font lain untuk memastikannya. Dalam kasus saya, saya berhasil menginstal font ke Mac saya, tetap saja font tersebut tidak berfungsi di iOS. - person Gökhan Barış Aker; 26.06.2012
comment
berikut adalah alat online untuk mengubah OTF menjadi TTF freefontconverter.com/index.php - person Deepak Samuel Rajan; 13.08.2013
comment
Tautan ini codewithchris.com/ paling berguna seperti yang dijawab di bawah ini, tidak perlu mengonversi .otf ke .ttf, Tautan ini telah membantu saya menggunakan .otf yang disediakan oleh pelanggan. - person mask; 15.02.2014

Untuk proyek saya sendiri, saya ingin menggunakan font opentype dan pada dasarnya saya menggunakan metode ini:

Tambahkan file font khusus Anda ke dalam proyek Anda menggunakan XCode sebagai sumber daya Tambahkan kunci ke file info.plist Anda (Font disediakan oleh aplikasi) Untuk setiap font yang Anda miliki, masukkan nama lengkap file font Anda (termasuk ekstensinya) simpan info. plist lalu gunakan ini untuk label Anda (misal :)

UIFont* font = [UIFont fontWithName:@"Harrowprint" size:20];

Dalam kasus saya @"Harrowprint" adalah nama file tanpa ekstensi dan bukan nama font yang disediakan oleh Finder.

Font saya adalah otf dan berfungsi...jadi saya kira itu didukung...atau saya beruntung. Saya akan menguji font lain..dan terus mengabari Anda..

referensi:

person Rodo    schedule 06.01.2011
comment
Terima kasih kawan, solusi Anda sangat sederhana dan berfungsi dengan baik. Terima kasih banyak. - person Rostyslav Druzhchenko; 05.06.2012
comment
Ini seharusnya menjadi jawaban yang diterima. Jawaban yang diterima lebih merupakan solusi yang tidak perlu. - person Dermot; 14.01.2013
comment
Ini benar-benar bagus sumber informasi. Berbeda dengan apa yang diuraikan di atas, Anda tidak dapat berasumsi bahwa nama file font akan sama dengan nama font sebenarnya (yang Anda perlukan untuk panggilan fontwithName UIFont). - person zero0cool; 25.08.2014

Saya juga punya masalah dengan ini. Inilah yang berhasil untuk saya:

  1. Salin file font ke Sumber Daya.
  2. Periksa untuk melihat apakah file font ada di 'Bangun Fase'->'Salin Sumber Daya Bundel' (Xcode meletakkannya di sana untuk saya ketika saya menambahkan file ke Sumber Daya. Jika, karena alasan tertentu, file tersebut tidak ada, tambahkan.
  3. Tambahkan nama file ke file info.plist Anda seperti dijelaskan di atas. Sertakan ekstensi.
  4. Buka Buku Font, pilih font Anda dan Pratinjau-Tampilkan Info Font dan lihat 'Keluarga', misalnya, 'Foo'
  5. Letakkan ini di kode Anda di suatu tempat dan atur breakpoint untuk memeriksa array nama: NSArray *names = [UIFont fontNamesForFamilyName:@"Foo";
  6. Jalankan aplikasi Anda dan jika aplikasi rusak, klik kanan pada variabel 'nama' di debugger. Ini akan menunjukkan kepada Anda nama font yang akan digunakan, misalnya: <__NSCFArray 0xe9c4da0>( Foo-100Italic, Foo-100 )
    Perhatikan bahwa nama font saya tidak ditampilkan dengan benar di tempat lain, tidak di nama file atau di Buku Font.
  7. Anda sebaiknya melakukannya dengan baik:
    myLabel.font = [UIFont fontWithName:@"Foo-100Italic" size:24];
person Alan McKean    schedule 22.08.2012
comment
Di Font-Book, nama asli font saya sama dengan nama PostScript. Ini adalah satu-satunya hal yang berhasil untuk saya. Saya telah menggunakan font khusus di masa lalu dan tidak pernah mengalami masalah sampai sekarang. Tidak tahu apa yang berubah, tapi terima kasih. - person Dcritelli; 19.02.2013
comment
Poin 4, 5 dan 6 bermanfaat banget! - person Ravi; 06.11.2013

Artikel ini menjawab pertanyaan Anda (berfungsi seperti pesona bagi saya menggunakan OTF): http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/

OTF didukung dengan sempurna, tidak perlu mengkonversi ke TTF

person etayluz    schedule 31.01.2014

Sehubungan dengan jawaban pertama - solusinya benar (yaitu cukup ubah font menjadi TTF) tetapi perangkat lunak yang disarankan sangat merepotkan untuk dikompilasi dan diinstal. Sebaliknya saya hanya melakukan pencarian cepat di Google dan menggunakan ini: http://www.freefontconverter.com/ dan itu bekerja dengan sempurna.

(Pastikan untuk menambahkan font ke file info.plist Anda juga)

person Salman    schedule 06.08.2012
comment
+1 untuk referensi yang bagus. Namun, jangan mengandalkan jawaban yang muncul dalam urutan tertentu (yaitu jawaban pertama) -- urutannya berubah seiring pengaturan pengguna, suara, dll. - person Caleb; 07.01.2013

Saya menelitinya secara menyeluruh, dan ini adalah metode terbaik yang saya temukan:

1) Konversikan file font ke TTF menggunakan alat online ini: http://www.freefontconverter.com/

2) Tambahkan file TTF ke proyek Anda

3) Buat beberapa konfigurasi pada file info.plist Anda:

3.1) Edit info.plist sebagai kode sumber (klik kanan pada file -> buka sebagai -> kode sumber)

3.2) Tambahkan ini:

 <key>UIAppFonts</key>
 <array>
  <string>font1.ttf</string>
  <string>font2.ttf</string>
  ...etc...
 </array>

3.3) Info.plist Anda seharusnya memiliki ini sekarang:

info plist akan terlihat seperti ini sekarang

4) Gunakan font baru seperti font sistem:

[UIFont fontWithName:@"font1" ukuran:16.0];

(Perhatikan tidak ada ".ttf" pada nama font)

person nurnachman    schedule 28.10.2013
comment
Ini berfungsi dengan sempurna, terima kasih! Perlu dicatat bahwa Anda tidak perlu mengedit kode sumber plist, Anda dapat menambahkan ini di bawah Properti Target iOS Khusus Di panel Info target aplikasi Anda. jednorog.sneakyness.com/image/2Q2O1j1l2E2Z - person Sneakyness; 29.01.2014