अद्यतन अगस्त 2020
सबपिक्सल फ़ॉन्ट स्मूथिंग को सक्षम करने के लिए अब आपको सफारी को मीडिया क्वेरी के साथ लक्षित करने की आवश्यकता नहीं है। डिफ़ॉल्ट ठीक है।
हालाँकि , हालांकि यह डिफ़ॉल्ट रूप से सबपिक्सल फॉन्ट स्मूथिंग का उपयोग करता है, लेकिन पाठ के सुसंगत प्रतिपादन की तलाश में किसी के लिए भी क्रोम के फॉन्ट स्मूथिंग में मरहम में एक महत्वपूर्ण मक्खी है ।
- यह क्रोम की अंधेरे पृष्ठभूमि पर प्रकाश पाठ का प्रतिपादन है
- यह क्रोम की एक हल्की पृष्ठभूमि पर अंधेरे पाठ का प्रतिपादन है
ऊपर दिए गए अक्षर ई में पूरे के आकार को देखें। डार्क बैकग्राउंड पर लाइट टेक्स्ट एक लाइट बैकग्राउंड (समान सीएसएस फॉन्ट स्टाइलिंग के साथ) पर डार्क टेक्स्ट की तुलना में एक अवधारणात्मक रूप से भारी वजन के साथ प्रस्तुत किया गया है।
उपयोगकर्ता की डार्क / लाइट थीम सेटिंग का सम्मान करने वाली साइटों के लिए, एक समाधान, क्रोम को एक मीडिया क्वेरी के साथ लक्षित करना है जो डार्क मोड तक सीमित है और इसे नॉन सबपिक्सल स्मूथिंग पर स्विच करना है:
@media screen
and (-webkit-min-device-pixel-ratio: 0)
and (min-resolution: 0.001dpcm)
and (prefers-color-scheme: dark) {
body {
-webkit-font-smoothing: antialiased;
}
}
परिणाम :
एक अधिक सुसंगत पाठ वजन चाहे प्रकाश पर अंधेरे या अंधेरे पर प्रकाश प्रदान कर रहा हो।
पहले और बाद की तुलना में साइड-बाय-साइड की जाँच करें:
-
UPDATE मई 2018
-webkit-font-smoothing: subpixel-antialiased
अब क्रोम में कोई प्रभाव नहीं है, लेकिन सफारी में यह अभी भी चीजों को बेहतर बनाता है, लेकिन केवल रिटेन पर बहुत कुछ करता है। इसके बिना सफारी में रेटिना स्क्रीन पर टेक्स्ट पतला और ढीठ होता है, जबकि इसके साथ, टेक्स्ट में उचित वजन होता है। लेकिन अगर आप इसका उपयोग सफारी में गैर-रेटिना डिस्प्ले पर करते हैं (विशेषकर हल्के वजन मूल्यों पर) पाठ एक आपदा है। मीडिया-क्वेरी का उपयोग करने की दृढ़ता से अनुशंसा करें:
@media screen and (-webkit-min-device-pixel-ratio: 2) {
body {
-webkit-font-smoothing: subpixel-antialiased;
}
}
-webkit-font-smoothing: subpixel-antialiased
यदि आप कम से कम आंशिक रूप से एंटीअलियासिड पाठ से बचना चाहते हैं तो स्पष्ट रूप से सेटिंग सबसे अच्छा वर्तमान समाधान है।
--tl; dr--
सफ़ारी और क्रोम दोनों के साथ जहां डिफ़ॉल्ट फॉन्ट रेंडरिंग सबपिक्सल-एंटीलियासिंग का उपयोग करता है, कोई भी सीएसएस जो GPU आधारित रेंडरिंग को मजबूर करता है, जैसे ट्रांसलेशन का उपयोग करने के लिए ऊपर दिए गए सुझावों की तरह या यहां तक कि केवल एक स्केल ट्रांस्फ़ॉर्म के लिए, सफ़ारी और क्रोम को स्वचालित रूप से "छोड़" देगा। "सबपिक्सल-एंटीअलियासिड फ़ॉन्ट स्मूथिंग पर और बदले में सिर्फ एंटीएलियास टेक्स्ट पर स्विच करें, जो बहुत हल्का और पतला दिखता है, खासकर सफारी पर।
अन्य प्रतिक्रियाओं ने केवल थान-रोधी पाठ के लिए फ़ॉन्ट-स्मूथिंग को सेट या मजबूर करके एक निरंतर प्रतिपादन बनाए रखने पर ध्यान केंद्रित किया है। ट्रांसजेड या बैकफेस के छिपे हुए उपयोग से मेरी आँख में टेक्स्ट रेंडरिंग की क्वालिटी ख़राब हो जाती है और सबसे अच्छा समाधान यह है कि अगर आप चाहते हैं कि टेक्स्ट सिर्फ़ संगत रहे और आप पतले टेक्स्ट के साथ ओके हो जाएँ -webkit-font-smoothing: antialiased
। हालांकि, स्पष्ट रूप से सेटिंग -webkit-font-smoothing: subpixel-antialiased
का वास्तव में कुछ प्रभाव पड़ता है - पाठ अभी भी थोड़ा बदलता है और बस GPU पर प्रस्तुत किए गए परिवर्तनों के दौरान दृष्टिहीन रूप से पतला होता है, लेकिन इस सेटिंग के बिना जितना पतला नहीं होता है। तो यह इस तरह दिखता है कि कम से कम आंशिक रूप से सीधे एंटीलेसिअस पाठ पर स्विच को रोकता है।