5

Sto cercando di utilizzare una bussola font-face mixin, che contiene l'inclusione di
* .eot? IefixAsset gasdotto, bussola font-face e EOT? Iefix chiamare per il tipo di carattere

mia app/attività/i caratteri contiene tutti i tipi di carattere necessari, incluso .eot.

Quando si tenta di eseguire le attività: precompilare il compito non dicendo qualcosa come:? webfont.eot iefix non è precompilato

Non si conosce il possibile soluzione per questo problema?

Viene eseguito senza errori nel caso in cui ho config.assets.compile = true, ma come ho capito è meglio non usarlo in produzione.

risposta

4

Ho appena risolto questo problema con un piccolo hack (supportato).

ho creato un nuovo file css font.css.erb e metto @import "font" al posto della dichiarazione @font-face.

@font-face { 
    font-family: 'SketchBlockBold'; 
    src: font_url('font/sketch_block-webfont.eot'); 
    src: url('<%= asset_path('font/sketch_block-webfont.eot')+"?#iefix" %>') format('embedded-opentype'), 
     font_url('font/sketch_block-webfont.woff') format('woff'), 
     font_url('font/sketch_block-webfont.ttf') format('truetype'), 
     url('<%= asset_path('font/sketch_block-webfont.svg')+"#SketchBlockBold" %>') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

Si noti l'uso del percorso di attività, e la concatenazione delle terminazioni di file speciali.

+0

Perché ha utilizzato sia il 'font-url' e' dichiarazioni url'? qual è la differenza? – pruett

+0

È perché url() non è una funzione pipeline asset ma è font_url(). In questo caso sto praticamente sostituendo la magia font_url() con le cose in erb –

+0

Grazie per il suggerimento! Il codice funziona perfettamente bene localmente, ma 'rake assets: precompile' ricade sullo stesso errore:' fontname.eot non è precompilato' Quale potrebbe essere un problema, come pensi? – lyuba

10

È possibile farlo con puro SCSS troppo:

@font-face { 
    font-family: 'DroidSans'; 
    src: url(font-path('DroidSans-webfont.eot')); 
    src: url(font-path('DroidSans-webfont.eot') + '?#iefix') format('embedded-opentype'), 
     url(font-path('DroidSans-webfont.woff')) format('woff'), 
     url(font-path('DroidSans-webfont.ttf')) format('truetype'), 
     url(font-path('DroidSans-webfont.svg') + '#DroidSansRegular') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 
+0

invece di 'url (font-path())', possiamo usare 'font-url()' – nXqd

+1

Credo che tu possa ora. All'epoca c'era un conflitto tra gli aiutanti di Sass e gli aiutanti di Rails. –

Problemi correlati