5

Tôi cố gắng để sử dụng một Compass font-face mixin, trong đó có sự bao gồm của
* .eot? Iefixđường ống Asset, la bàn font-face và EOT? Iefix gọi để font

My app/tài sản/phông chữ chứa tất cả các loại phông chữ cần thiết, bao gồm .eot.

Khi tôi cố gắng chạy tài sản: precompile nhiệm vụ không nói điều gì đó như: webfont.eot iefix không biên dịch sẵn

Bạn có biết những giải pháp khả thi cho vấn đề này?

Nó chạy không có lỗi trong trường hợp tôi có config.assets.compile = true, nhưng như tôi đã hiểu tốt hơn là không nên sử dụng nó trên sản xuất.

Trả lời

4

Tôi vừa giải quyết vấn đề này với một chút (hỗ trợ) hack.

Tôi đã tạo một tệp css mới font.css.erb và đặt @import "font" ở vị trí khai báo @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; 
} 

Lưu ý việc sử dụng đường dẫn nội dung và kết nối tệp đặc biệt.

+0

tại sao bạn sử dụng cả 'font-url' và' khai url'? có gì khác biệt? – pruett

+0

Đó là vì url() không phải là hàm đường ống nội dung nhưng font_url() là. Trong trường hợp này tôi về cơ bản thay thế font_url() ma thuật với những thứ trong erb –

+0

Cảm ơn bạn đã gợi ý! Mã hoạt động hoàn toàn tốt tại địa phương, nhưng 'tài sản rake: tiền biên dịch 'rơi trở lại cùng một lỗi:' fontname.eot không được biên dịch trước' Điều gì có thể là một vấn đề, bạn nghĩ sao? – lyuba

10

Bạn có thể làm điều đó với tinh khiết SCSS quá:

@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

thay vì 'url (font-path())', chúng ta có thể sử dụng 'font-url()' – nXqd

+1

Tôi tin rằng bạn có thể bây giờ. Vào thời điểm đó có một cuộc xung đột giữa những người giúp đỡ Sass và những người giúp đỡ Rails. –

Các vấn đề liên quan