2013-03-22 58 views
8

我想在iOS下的Phonegap中製作自定義字體。 我遵循了幾個教程,並閱讀了Stack Overflow的所有相關問題,即使我再次檢查了所有內容,我仍然無法做到正確。Phonegap Canvas iOS中的自定義字體

這是字體:http://www.dafont.com/m04fatal-fury.font黑色版本

步驟我已經採取

您的自定義字體文件添加到使用了Xcode作爲資源 項目一鍵添加到您的信息名爲UIAppFonts的.plist文件。 將此鍵設爲數組 對於每種字體,請輸入字體文件的全名(包括擴展名)作爲UIAppFonts數組的項目 保存Info.plist 現在在您的應用程序中,您可以簡單地調用[UIFont fontWithName: @「CustomFontName」大小:12]讓你的UILabels和UITextViews等使用的自定義字體...

  1. 添加字體到資源文件夾m04b.ttf
  2. 新增UIAppFonts陣列。 [0] =>'m04b.ttf'
  3. 檢查實際字體文件是否處於構建階段資源
  4. ctx.font ='16px M04_FATAL FURY BLACK';

沒有工作。

試過後記名稱M04_FATAL-FURY-BLACK仍然沒有運氣。我完全迷失在這裏我真的不知道該怎麼做來調試這個錯誤。

非常感謝您的幫助。可能是什麼問題呢?我能做些什麼來檢查一切是否正在加載?

<?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

您可以添加Info.plist相關章節嗎? – 2013-03-22 02:51:30

+1

如果您在[UIFont familyNames]中添加了for(NSString *字體){NSLog(@「%@」,font); }'在應用程序的某個地方,你能看到字體出現嗎? (我看到一個條目「M04_FATAL FURY」) – Nuoji 2013-03-31 21:26:48

回答

5

我有同樣的問題。我幾乎可以保證你只是拼錯了空格或短劃線等錯誤的名字。把它放到viewDidLoad中,只需要搜索類似於你的名字的東西(通用名稱而不是.ttf名稱)。

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

嘗試增加中的.plist文件中的字體下鍵,當你輸入你的鍵名這是提出了「由應用程序提供字體」,而不是「UIAppFonts」。

+0

他們是一樣的。 'UIAppFonts'是實際的「原始」鍵名稱,而'應用程序提供的字體'僅僅是對該鍵的更友好的描述,其結合了目的。如果在編輯器中右鍵單擊屬性列表,則可以使用「顯示原始鍵/值」菜單項在原始名稱和顯示名稱之間切換。 – NSGod 2013-03-31 17:59:36

+0

哦,謝謝你的信息:) – 2013-04-02 07:52:59

0

下載的字體,並把它放在你的WWW文件夾。

在你的CSS文件

添加以下。

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

src是您下載字體的路徑。在此之後,你可以通過使用名爲「customFontExample」像這樣

h1{ 
font-family: customFontExample; 
} 
0

要將所有鄉親在這裏,如果你需要的@字體面的東西,你就錯了給你的元素自定義字體。

一旦你有可用UIFont您的字體在你的應用程序,它也是在您創建的任何一個UIWebView提供,你只需要指定FONT-FAMILY CSS屬性的正確途徑。

例如

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

我試過/資源嵌入法「的應用程序提供字體」,我發現,你還必須指定在應用程序中.ttf擴展名。

但是在畫布上下文中,我無法獲得正確的尺寸,字體非常小。

因此,根據我的經驗,這不能很好地工作,你必須回到html @ font-face方法,這是一個痛苦,因爲很難知道字體何時加載並準備好使用。 。

0

我有同樣的問題。問題是我通過查找器將字體添加到資源文件夾。我注意到,雖然在文件夾中的字體沒有出現在Xcode中。我通過xcode添加了文件,它工作!