5

मैं एक कम्पास फॉन्ट-फेस mixin, जो
* .eot? Iefixएसेट पाइप लाइन, कम्पास फॉन्ट-फेस और EOT? Iefix फ़ॉन्ट

मेरे एप्लिकेशन/संपत्ति के शामिल किए जाने में शामिल है का उपयोग करने के कोशिश कर रहा हूँ करने के लिए कॉल/फोंट में सभी फ़ॉन्ट प्रकार शामिल हैं, जिनमें .eot शामिल है।

जब मैं संपत्ति चलाने का प्रयास: precompile काम की तरह कुछ कह रही है विफल रहता है: webfont.eot iefix

precompiled नहीं है आप इस समस्या के लिए संभव समाधान को जानते हो?

अगर मेरे पास config.assets.compile = true है, तो यह कोई त्रुटि नहीं है, लेकिन जैसा कि मैंने समझा है कि उत्पादन पर इसका उपयोग नहीं करना बेहतर है।

उत्तर

4

मैंने इस समस्या को थोड़ा (समर्थित) हैक के साथ हल किया है।

मैंने font.css.erb एक नई सीएसएस फ़ाइल बनाई है और @font-face घोषणा के स्थान पर @import "font" स्थान दिया है।

@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; 
} 

संपत्ति पथ का उपयोग ध्यान दें, और विशेष फ़ाइल समाप्ति के समापन पर ध्यान दें।

+0

कारण है कि आप दोनों 'font-url' और' url' घोषणाओं उपयोग किया था? क्या फर्क पड़ता है? – pruett

+0

ऐसा इसलिए है क्योंकि url() एक संपत्ति पाइपलाइन फ़ंक्शन नहीं है लेकिन font_url() है। इस मामले में मैं मूल रूप से font_url() जादू को erb –

+0

में सामान के साथ बदल रहा हूं सुझाव के लिए धन्यवाद! कोड पूरी तरह से स्थानीय रूप से ठीक काम करता है, लेकिन 'रेक संपत्तियां: प्रीकंपाइल' एक ही त्रुटि पर वापस आती है: 'fontname.eot precompiled नहीं है' कोई समस्या क्या हो सकती है, आपको कैसा लगता है? 'Url (font-path()) के बजाय – lyuba

10

आप शुद्ध एससीएसएस भी साथ यह कर सकते हैं:

@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

', हम' font-url() ' – nXqd

+1

का उपयोग कर सकते हैं, मुझे विश्वास है कि अब आप कर सकते हैं। उस समय सास हेल्पर्स और रेल सहायक के बीच एक संघर्ष था। –

संबंधित मुद्दे