2013-03-22 59 views
8

Tôi đang cố gắng tạo phông chữ tùy chỉnh trong Phonegap trong iOS. Tôi làm theo một số hướng dẫn và đọc tất cả các câu hỏi liên quan trên Stack Overflow và tôi vẫn không thể làm cho nó đúng, ngay cả khi tôi kiểm tra lại tất cả mọi thứ.Phông chữ tùy chỉnh trong iOS với Phonegap Canvas

Đây là phông chữ: http://www.dafont.com/m04fatal-fury.font (phiên bản màu đen)

Bước Tôi đã lấy

Thêm file phông chữ tùy chỉnh của bạn vào dự án của bạn sử dụng Xcode như một nguồn lực Thêm một chìa khóa để Thông tin của bạn tệp .plist được gọi là UIAppFonts. Làm cho phím này thành một mảng Đối với mỗi phông chữ bạn có, hãy nhập tên đầy đủ của tệp phông chữ (bao gồm phần mở rộng) làm các mục vào mảng UIAppFonts Lưu Info.plist Bây giờ trong ứng dụng của bạn, bạn có thể chỉ cần gọi [UIFont fontWithName: @ "CustomFontName" kích thước: 12] để có được phông chữ tùy chỉnh để sử dụng với UILabels và UITextViews của bạn, vv ...

  1. Added font chữ vào thư mục tài nguyên m04b.ttf
  2. Added UIAppFonts mảng. [0] => 'm04b.ttf'
  3. Kiểm tra xem tệp phông chữ thực tế có đang trong tài nguyên giai đoạn xây dựng không
  4. ctx.font = '16px M04_FATAL FURY BLACK';

Không hoạt động.

Đã thử tên postscript M04_FATAL-FURY-BLACK vẫn không có may mắn. Tôi hoàn toàn bị mất ở đây tôi thực sự không biết phải làm gì để gỡ lỗi này.

Cảm ơn bạn rất nhiều vì đã giúp đỡ. Điều gì có thể là vấn đề? Tôi có thể làm gì để kiểm tra xem mọi thứ có được tải không?

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>UIAppFonts</key> 
    <array> 
     <string>m04b.ttf</string> 
    </array> 
    <key>CFBundleDevelopmentRegion</key> 
    <string>English</string> 
    ..... 
+0

Bạn có thể thêm các phần liên quan 'Info.plist' không? –

+1

Nếu bạn thêm phông chữ 'cho (NSString * trong [UIFont familyNames]) {NSLog (@"% @ ", font); } 'một nơi nào đó trong ứng dụng, bạn có thể thấy phông chữ hiển thị không? (Tôi thấy một mục "M04_FATAL FURY") – Nuoji

Trả lời

5

Tôi có cùng một vấn đề. Tôi gần như có thể đảm bảo bạn chỉ sai chính tả tên sai bởi một không gian hoặc dấu gạch ngang hoặc một cái gì đó. Đặt điều này vào viewDidLoad và chỉ cần tìm kiếm một cái gì đó tương tự như tên của bạn (tên thông dụng .. không phải là tên .ttf).

for (NSString *name in [UIFont familyNames]) { 
    NSLog(@"Family name : %@", name); 
    for (NSString *font in [UIFont fontNamesForFamilyName:name]) { 
     NSLog(@"Font name : %@", font); 
    } 
} 
0

Thử thêm phông chữ vào tệp .plist trong khóa "Phông chữ được cung cấp bởi ứng dụng", được đề xuất khi bạn nhập tên khóa thay vì "UIAppFonts".

+0

Chúng là một và giống nhau. 'UIAppFonts' là tên khóa" thô "thực tế, trong khi' Phông chữ được cung cấp bởi ứng dụng' chỉ đơn giản là một mô tả thân thiện hơn về khóa đó, kết hợp với mục đích. Nếu bạn nhấp chuột phải vào trình chỉnh sửa cho danh sách thuộc tính, bạn có thể chuyển đổi giữa tên thô và tên hiển thị bằng cách sử dụng mục trình đơn 'Hiển thị khóa/giá trị nguyên bản'. – NSGod

+0

Ồ, cảm ơn thông tin :) –

0

Tải xuống phông chữ và đặt nó vào đâu đó trong thư mục www của bạn.

trong tệp css của bạn thêm thông tin sau.

@font-face { 
    font-family: customFontExample; 
    src: url('/fonts/AveriaGruesaLibre-Regular.ttf'); 
} 

src là đường dẫn đến nơi bạn đã tải xuống phông chữ. sau này bạn có thể cung cấp cho các yếu tố của bạn phông chữ tùy chỉnh bằng cách sử dụng tên "customFontExample" như thế này

h1{ 
font-family: customFontExample; 
} 
0

Đối với tất cả các folks ra ở đây, nếu bạn cần những thứ @ font-face, bạn đang làm nó sai.

Khi bạn có phông chữ sẵn có với UIFont trong ứng dụng của mình, phông chữ này cũng có sẵn trong bất kỳ UIWebView nào bạn tạo, bạn chỉ cần chỉ định thuộc tính css phông chữ cho gia đình của bạn đúng cách.

Ví dụ

.customfont { font-family: 'M04_FATAL-FURY-BLACK'; } 
0

Tôi đã thử các "Phông chữ được cung cấp bởi ứng dụng"/Resources phương pháp nhúng, và tôi thấy rằng bạn cũng phải xác định phần mở rộng .ttf trong ứng dụng của bạn.

Nhưng trong ngữ cảnh canvas, tôi không thể có kích thước phù hợp, phông chữ rất nhỏ.

Vì vậy, trong kinh nghiệm của tôi điều này không hoạt động tốt và bạn phải quay trở lại phương pháp html @ font-face, đó là một nỗi đau vì rất khó để biết khi nào phông chữ được tải và sẵn sàng để sử dụng .. .

0

Tôi gặp vấn đề tương tự. Vấn đề là tôi đã thêm phông chữ vào thư mục tài nguyên thông qua công cụ tìm. Tôi nhận thấy rằng phông chữ mặc dù trong thư mục không xuất hiện trong Xcode. Tôi thêm vào sau đó các tập tin thông qua xcode và nó đã làm việc!

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