फ़ॉन्ट फेस IIS 8.0 में काम नहीं कर रहा है


118

मेरे पास फॉन्ट स्क्विरेल से उत्पन्न मेरे कार्यक्रम में एक फॉन्ट-फेस है, मैं इसे आईआईएस में काम करने के लिए नहीं पा सकता हूं, यह लोकलहोस्ट में काम करता है। मैंने अपने MIME प्रकारों में एप्लिकेशन / फ़ॉन्ट-वॉफ़ लेख जोड़ा लेकिन यह अभी भी काम नहीं करना चाहता है।

Context
--Fonts
----font location
--css files

सीएसएस

@font-face {
    font-family: 'wallStreetFont';
    src: url('Fonts/subway-webfont.eot');
    src: url('Fonts/subway-webfont.eot?#iefix') format('embedded-opentype'),
         url('Fonts/subway-webfont.woff2') format('woff2'),
         url('Fonts/subway-webfont.woff') format('woff'),
         url('Fonts/subway-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

EDIT CURRENT MIME

मैं डिफ़ॉल्ट IIS 8 MIME फ़ॉन्ट / x-woff का उपयोग कर रहा हूं


आप इसे कैसे बुला रहे हैं? क्या आपने फ़ॉन्ट गिलहरी ज़िप में नमूना आउटपुट की कोशिश की?
ऐबरीयन

यदि आप IIS 8 का उपयोग कर रहे हैं, तो आपको WOFF के लिए अपने वेब कॉन्फ़िगरेशन में माइम प्रकार नहीं जोड़ना चाहिए। वास्तव में यह एक डुप्लिकेट होने के लिए अधिक संभावित त्रुटि होगी।
कॉलिन बेकन

@Aibrean हाँ सैंपल आउटपुट काम करता है
joetinger

@ColinBacon मैंने पढ़ा कि मैं पोस्ट करने के बाद। इसलिए मैं उत्सुकता से फ़ॉन्ट / x-woff हूं, यह IIS 8.0 से विरासत में मिला है। लेकिन फिर भी सही फ़ॉन्ट प्राप्त करने पर कोई भाग्य नहीं है
जोइटिंगर

जवाबों:


259

WOFF2 को फॉन्ट गिलहरी के फोंट में शामिल करने के लिए बहुत अच्छा है! जब कि IIS 8 को माइम प्रकार की आवश्यकता नहीं है, तो WOFFइसके लिए एक की आवश्यकता होगी WOFF2। W3C अनुशंसा करता है :

application/font-woff2

अधिक जानकारी के WOFF2लिए यहां देखें ।

IIS में माइम प्रकार जोड़ने के लिए, अपना Web.Configनिम्न प्रकार संशोधित करें :

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <!-- ... -->
  <system.webServer>
    <!-- ... -->
    <staticContent>
      <!-- ... -->
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
    </staticContent>
    <!-- ... -->
  </system.webServer>

2
मैंने जोड़ा woff2लेकिन अभी भी कुछ भी नहीं
जोइटिंगर

4
यदि आप अपने देव उपकरणों में देखते हैं। क्या आप एक 404 प्राप्त कर रहे हैं जब यह फ़ॉन्ट फ़ाइल प्राप्त करने की कोशिश करता है? क्या यह जाँचना कि मार्ग सही है और आपके पास इसे अपने ब्राउज़र में ब्राउज़ करने की अनुमति है।
कॉलिन बेकन

हाँ, ऐसा नहीं है, http://192.168.72.196:85/bundles/Fonts/subway-webfont.woff2मुझे यकीन नहीं है कि वे बंडल फ़ोल्डर कहाँ से प्राप्त कर रहे हैं। कोई उपाय?
जोइटिंगर

4
मुझे लगता है कि आप ASP.NET बंडलिंग और मिनिफिकेशन का उपयोग कर रहे हैं। यदि आप इसे अपने बंडल कॉन्फ़िगरेशन में सेट करते हैं BundleTable.EnableOptimizations = true। आपके स्थानीय होस्ट को आपके उत्पादन सर्वर पर वैसा ही व्यवहार करना चाहिए।
कॉलिन बेकन

1
सभी मदद के लिए धन्यवाद अब यह काम कर रहा है। यह woff2और 404 त्रुटि का एक संयोजन था , जो मेरे बंडल में एक गलत वर्तनी होने के कारण समाप्त हो गया। धन्यवाद!
जोयिंगर

79

IIS में ठीक से काम करने के लिए woff और woff2 फॉन्ट बनाने के लिए आपको निम्न MIME प्रकारों को Web.Conigig फ़ाइल में जोड़ना चाहिए।

<?xml version="1.0" encoding="UTF-8"?>
<configuration>  
  <system.webServer>    
    <staticContent>
        <remove fileExtension=".woff" />
        <remove fileExtension=".woff2" />
        <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
        <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
    </staticContent>

यदि आप अभी भी Google Chrome पर 404 त्रुटि का सामना करते हैं, तो आपको पृष्ठ को पुनः लोड करने से पहले अपना ब्राउज़र कैश साफ़ करना चाहिए।


2
युक्ति अब wime के लिए mimeType की सिफारिश कर रही है ताकि एप्लिकेशन / फॉन्ट-वॉफ हो सके
स्टीवन

2
मुझे केवल .woff2 404 मुद्दा मिल रहा था और इसने मेरे लिए काम किया। मैंने केवल woff2 से संबंधित पंक्तियों का उपयोग किया
Francisc0

26

ध्यान दें कि IIS प्रबंधक के भीतर MIME प्रकारों को कॉन्फ़िगर करना भी संभव है। बस वेबसाइट का चयन करें और फिर मुख्य फलक में IIS के तहत MIME प्रकार आइकन पर डबल क्लिक करें।

यहां छवि विवरण दर्ज करें

फिर आपको सभी मौजूदा MIME प्रकारों की एक सूची देखनी चाहिए और दाएँ फलक में Add ... लिंक का उपयोग करके नए जोड़ने में सक्षम होना चाहिए।


2
क्यों नहीं web.config का उपयोग करें? !!
Mojtaba Pourmirzaei

7
@MojtabaPourmirzaei क्योंकि हर कोई एक राजनेता नहीं है। यही कारण है कि IIS के पास UI है।
Alph.Dev 12

यदि आप IIS में एक गैर-नेट वेबसाइट तैनात कर रहे हैं, तो आपको इसे इस तरह से करने की आवश्यकता है (जैसे एक कोणीय ऐप)।
जॉन क्रूगर

0

मैं आज एक वेब सॉल्यूशन Metro4 UI आइकॉन की तैनाती और CDN से संकलित विकल्प पर स्विच करने के दौरान यह समस्या आ रही थी।

मेरी परियोजना वेबशेयर प्लेटफॉर्म का उपयोग करके विकसित की गई थी, लेकिन समाधान इन कार्यान्वयन विवरणों से स्वतंत्र है।

लंबी कहानी संक्षेप में, मैं की खोज है कि मैं फाइल एक्सटेंशन, उदाहरण के लिए जोड़ने के लिए किया था .ttf, अंदर securityके तहत खंड system.webServerके Web.config

<security>
    <requestFiltering>
        <fileExtensions>
            <add fileExtension=".ttf" allowed="true" />
        </fileExtensions>
    </requestFiltering>
</security>

IIS के GUI सेटिंग्स के तहत समान कॉन्फ़िगरेशन विकल्प भी उपलब्ध है

IIS GUI

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.