2017-06-28 75 views
1

我正嘗試用自定義字體,流沙創建一個應用程序(離子2)。ionic 2 - 字體不顯示在iOS上

我的文件夾結構如下所示:

src 
| 
|-app 
| | 
| -app 
| | | 
| | -app.scss 
| | 
| -pages 
| | 
| -assets 
| |  | 
| |  -img 
| |  | 
| |  -fonts 
| |  | | 
| |  | -Quicksand-Bold.ttf 

在我app.scss我有下面的代碼,使我的所有網頁所提供的字體:

@font-face { 
    font-family: 'Quicksand-Bold'; 
    font-style: normal; 
    font-weight: 300; 
    src: local('Quicksand-Bold'), local('Quicksand-Bold'), url("../assets/fonts/Quicksand-Bold.ttf") format('woff2'); 
    unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; 
} 

/* latin */ 
@font-face { 
    font-family: 'Quicksand-Bold'; 
    font-style: normal; 
    font-weight: 300; 
    src: local('Quicksand-Bold'), local('Quicksand-Bold'), url("../assets/fonts/Quicksand-Bold.ttf") format('woff2'); 
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; 
} 

然後我可以在任何地方使用引用它font-family: Quicksand-Bold

這在Android和瀏覽器中工作得很好,但無法在iOS上加載。

我已經使用了一個問題:

background: url('../assets/img/background.jpg')

這引起我的iOS應用程序崩潰。我爲此使用的解決方法是創建一個div與圖像,只是將其定位爲背景圖像。

我有一種感覺,同樣的事情發生在這裏,當我參考url("../assets/fonts/Quicksand-Bold.ttf"),由於某些原因,iOS無法找到指定的路徑。

+0

嘗試fontsquirrel:http://www.fontsquirrel.com/tools/webfont-generator – viCky

+0

拋出一個'Http狀態500',但它做了什麼? – Ivaro18

+0

它生成不同的字體格式。 – viCky

回答

5

好吧,viCky的評論沒有回答我的問題,但確實給我發了正確的道路。

在我的問題中,您可以看到我引用了一個.ttf文件並嘗試將其格式設置爲woff2。但由於iOS僅支持otfttf字體,因此使用.woff2格式將會破壞字體。 .ttf文件的正確格式是TrueType

所以改爲:

src: local('Quicksand-Bold'), local('Quicksand-Bold'), url("../assets/fonts/Quicksand-Bold.ttf") format('truetype'); 

而不是

src: local('Quicksand-Bold'), local('Quicksand-Bold'), url("../assets/fonts/Quicksand-Bold.ttf") format('woff2'); 

解決了我的問題。現在我可以在我的iOS應用程序中使用這些字體。

+0

哦,我剛剛添加相同的答案大聲笑很高興聽到你解決了這個問題:) – sebaferreras

+0

哈哈哈..有時只是討論這個問題導致你正確的答案。 – viCky