5

Estoy tratando de utilizar una fuente cara Brújula mixin, que contiene la inclusión de
* .eot? IEFixtubería de activos, brújula font-face y EOT? IEFix llamar a la fuente

Mis app/activos/fonts contiene todos los tipos de fuente necesarios, incluido .eot.

Cuando trato de ejecutar activos: precompilación la tarea no decir algo como:? webfont.eot IEFix no se compilan previamente

¿Sabe usted la posible solución para este problema?

Se ejecuta sin ningún error en caso de que tenga config.assets.compile = true, pero como he entendido, es mejor no usarlo en la producción.

Respuesta

4

Acabo de resolver este problema con un pequeño truco (compatible).

He creado un nuevo archivo css font.css.erb y lugar @import "font" en el lugar de la declaración @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; 
} 

Tenga en cuenta el uso de la ruta del activo y la concatenación de las terminaciones de archivo especiales.

+0

¿Por qué utilizó tanto el 'font-url' y' declaraciones url'? ¿cual es la diferencia? – pruett

+0

Se debe a que url() no es una función de canalización de activos, pero es font_url(). En este caso, básicamente estoy reemplazando la magia font_url() con las cosas en erb –

+0

¡Gracias por la sugerencia! El código funciona perfectamente bien localmente, pero 'rake assets: precompile' vuelve al mismo error:' fontname.eot no está precompilado' ¿Qué podría ser un problema, cómo piensas? – lyuba

10

Puede hacerlo con pura SCS también:

@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

en lugar de 'url (font-path())', podemos usar 'font-url()' – nXqd

+1

Creo que ahora puede. En ese momento hubo un conflicto entre los ayudantes de Sass y los ayudantes de Rails. –

Cuestiones relacionadas