2013-04-16 12 views
8

को कैसे लागू करें यह एक सामान्य मुद्दा है, और ऐसा लगता है कि कोई समाधान है। समस्या यह है कि वेब फोंट क्रोम में चटपट दिखाता है। समाधान .woff कॉल से पहले .svg कॉल को स्थानांतरित करना चाहिए। यहां बताई गई है: http://www.fontspring.com/blog/smoother-web-font-rendering-chrome और यहाँ: http://www.adtrak.co.uk/blog/font-face-chrome-rendering/Google वेब फोंट क्रोम में चंचल दिख रहे हैं - फिक्स

समस्या यह है कि मैं गूगल वेब फोंट का उपयोग कर रहा है, और इस तरह फॉन्ट का आयात:

<link href='http://fonts.googleapis.com/css?family=Asap:400,700,400italic,700italic' rel='stylesheet' type='text/css'> 

और मुझे पता है न, और बाहर नहीं मिल सकता है, कैसे करने के लिए इसे उपरोक्त के बजाय @font-face सीएसएस टैग के साथ आयात करें। मैंने कोशिश की है, लेकिन अटक गया क्योंकि Google केवल ttf में फ़ॉन्ट प्रदान करता है और svg या woff नहीं।

आशा है कि आप मदद कर सकते हैं।

उत्तर

2

यदि आप इस फ़िक्स को लागू करना चाहते हैं तो आपको फोंट को होस्ट करना होगा।

आपका Google फ़ॉन्ट्स लिंक स्टाइलशीट का अनुरोध है, जो आपके द्वारा प्रदान किए जाने वाले पैरामीटर के आधार पर गतिशील रूप से बनाया जाता है - और ब्राउज़र पहचान पर। अपने उदाहरण लिंक के लिए:

<link href='http://fonts.googleapis.com/css?family=Asap:400,700,400italic,700italic' rel='stylesheet' type='text/css'> 

आप वास्तव में अनुरोध करते हैं तो अपने आप को curl का उपयोग कर:

@font-face { 
    font-family: 'Asap'; 
    font-style: normal; 
    font-weight: 400; 
    src: local('Asap'), local('Asap-Regular'), url(http://themes.googleusercontent.com/static/fonts/asap/v1/-KZsao_xwBpcExaHoPH8_w.ttf) format('truetype'); 
} 
@font-face { 
    font-family: 'Asap'; 
    font-style: normal; 
    font-weight: 700; 
    src: local('Asap Bold'), local('Asap-Bold'), url(http://themes.googleusercontent.com/static/fonts/asap/v1/5DVGWnz9Skaq1amwwwGZEw.ttf) format('truetype'); 
} 
@font-face { 
    font-family: 'Asap'; 
    font-style: italic; 
    font-weight: 400; 
    src: local('Asap Italic'), local('Asap-Italic'), url(http://themes.googleusercontent.com/static/fonts/asap/v1/8YIp-EIJXA6NJdTPxy9qiQ.ttf) format('truetype'); 
} 
@font-face { 
    font-family: 'Asap'; 
    font-style: italic; 
    font-weight: 700; 
    src: local('Asap Bold Italic'), local('Asap-BoldItalic'), url(http://themes.googleusercontent.com/static/fonts/asap/v1/_sVKdO-TLWvaH-ptGimJBaCWcynf_cDxXwCLxiixG1c.ttf) format('truetype'); 
} 

सरल करने के लिए बात करने के लिए है:

$ curl http://fonts.googleapis.com/css?family=Asap:400,700,400italic,700italic 

यह क्या वापस भेज दिया जाता है Google वेब फ़ॉन्ट्स पर वापस जाएं, here पर जाकर और डाउनलोड तीर पर जाकर प्रश्न में फ़ॉन्ट डाउनलोड करें।

तो फिर तुम suggested fix from here उपयोग कर सकते हैं, फ़ॉन्ट फ़ाइलें आप डाउनलोड की संदर्भित:

@font-face { 
font-family: ‘MyWebFont’; 
src: url(‘webfont.eot’); 
src: url(‘webfont.eot?#iefix’) format(‘embedded-opentype’), 
    url(‘webfont.svg#svgFontName’) format(‘svg’), 
    url(‘webfont.woff’) format(‘woff’), 
    url(‘webfont.ttf’) format(‘truetype’); 
} 
+0

आपके उत्तर के लिए बहुत बहुत धन्यवाद! मैं अब कुछ समय से इसके साथ झुका रहा हूं, और "लगभग" इसे काम करने के लिए मिला है। समस्या यह है कि, नई स्वयं-होस्ट की गई फ़ॉन्ट विधि के साथ, सभी ब्राउज़र मूल Google स्टाइलशीट अनुरोध लिंक से भिन्न रूप से फ़ॉन्ट प्रस्तुत करना प्रतीत होता है। फ़ायरफ़ॉक्स और आईई इसे थोड़ा बड़ा और अधिक वसा/बोल्ड प्रस्तुत करता है, और क्रोम इसे थोड़ा बेहतर प्रस्तुत करता है, लेकिन यह भी सही नहीं है। कृपया नीचे दी गई उदाहरण छवि देखें। ! Http: //www.gadaffi.dk/example.jpg कोई विचार? :/ – Farsen

+0

जैसा कि मैंने उल्लेख किया है, Google वेबफोंट ब्राउज़र का पता लगाने के लिए उपयोग करता है - इसलिए यह अनुरोध करने वाले उपयोगकर्ता के ब्राउज़र के अनुरूप कुछ अलग वापस भेज देगा। इसका कोई सही समाधान नहीं है। मेरी सलाह आम तौर पर पिक्सेल सही मिलान करने वाले क्रॉस-ब्राउजर के लिए लक्षित करना बंद करना होगा - इसे इस तरह से काम नहीं करना चाहिए। –

+0

ऐसा लगता है कि यह एक विंडोज/क्रोम मुद्दा है क्योंकि वे या तो ब्राउज़र के साथ डायरेक्टवाइट मुद्दे को ठीक कर सकते हैं, या जैसा ऊपर बताया गया है, फ़ॉन्ट्स google apis पर svg ऑर्डर को ठीक करें। किसी भी तरह से, मेरा लगता है जैसे यह विंडोज 8 + क्रोम पर लकड़ी के टुकड़े के माध्यम से पारित किया गया। – Mark

0

आप सभी शैलियों की एक उचित रीसेट किया?

आपका असंगत प्रतिपादन अनुभव ब्राउज़र डिफ़ॉल्ट के कारण हो सकता है।

एक reset.css सभी तत्वों को डिफ़ॉल्ट-मानों पर वापस सेट करता है, इस तरह क्रॉस-ब्राउज़र असंगतता कम हो जाती है। Reset.css के लिए कई उदाहरण हैं, सबसे लोकप्रिय में से एक meyerweb reset css है। असंगतता को कम करने का एक और तरीका सामान्यize.css का उपयोग करना है।

संक्षेप में दो दृष्टिकोणों के बीच अंतर है, reset.css बस सभी ब्राउज़र विशिष्ट शैलियों को रीसेट करता है जबकि सामान्यize.css में क्रॉस-ब्राउज़र डिफ़ॉल्ट बनाकर एक व्यापक दायरा होता है।

दोनों के बीच अंतर सामान्यीकृत.css के डेवलपर द्वारा here समझाया गया है।

यदि वे सभी लिंक यह सुनिश्चित करने में सहायता नहीं करते हैं कि आप हमेशा फ़ॉन्ट-वेट सेट करते हैं तो सभी आवश्यक फ़ॉन्ट-वेट्स आयात करें।

आप यहां फ़ॉन्ट वजन के बारे में पढ़ सकते हैं: http://css-tricks.com/watch-your-font-weight/ जब आप normalize.ccs का उपयोग करते हैं तो आपको यह तकनीक भी लागू करनी चाहिए क्योंकि यह फ़ॉन्ट-वेट को rest.css के रूप में रीसेट नहीं करता है।

-1

प्रत्येक तत्व के लिए इसे अपनी स्टाइलशीट में जोड़ें।

opacity: .99; 

उदाहरण के लिए -

p, li { 
    opacity: .99; 
} 

मुझे पता नहीं क्यों यह काम करता है लेकिन यह किया है।

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