2014-01-21 84 views
0

我讀過很多關於讓自定義字體在Rails應用上工作的文章,但我仍然遇到了問題。自定義字體不能在Rails上工作

我從dafont.com下載了X字體。我解壓縮了它,包裏包含了x.otf。然後我將它安裝在我的電腦上,但是當我在我的應用程序中使用它時,字體變形了。

然後我從dafont.com下載了Y字體。我解壓縮,它包含y.ttf。我沒有將它安裝在我的機器上,而是將其放置在/ assets/fonts中。然後,我在custom.css.scss文件中添加了以下內容。

@font-face { 
    font-family: 'Nokia Pure Headline';  
    src: url('/assets/fonts/y.ttf'); 
    src: url('/assets/fonts/y.ttf?iefix') format('eot'), 
    url('/assets/fonts/y.woff') format('woff'), 
    url('/assets/fonts/y.ttf') format('truetype'), 
    url('/assets/fonts/y.svg#webfont3AwWkQXK') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

我當時叫它在我custom.css.scss樣式

body { 
    font-family: y; 
} 

當我刷新仍然沒有成功。任何線索爲什麼X是扭曲的,或Y不會工作?

+0

嘗試將它們放置在公共目錄 - /公/資產/字體/ - 我知道這是軌道資產管道,但你會得到它的工作 – emaillenin

+0

這對Y工作。我卸載了X,並嘗試了同樣的事情,但現在X無法正常工作。我對字體類型一無所知,但我想知道這種格式與它有什麼關係。 – Seal

回答

1

您可以使用資產管道和字體。 先加在application.rb中:

config.assets.paths << Rails.root.join("app", "assets", "fonts") 

重命名文件custom.css.scsscustom.css.scss.erb,並使用asset_path每個字體文件是這樣的:

@font-face { 
    font-family: 'Nokia Pure Headline';  
    src: url('<%= asset_path("y.ttf") %>'); 
    src: url('<%= asset_path("y.ttf?iefix") %>') format('eot'), 
    url('<%= asset_path("y.woff") %>') format('woff'), 
    url('<%= asset_path("y.ttf") %>') format('truetype'), 
    url('<%= asset_path("y.svg#webfont3AwWkQXK") %>') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
}