अजीब विंडोज फ़ॉन्ट-प्रतिपादन मुद्दा (वीडियो डेमो के साथ)


9

वीडियो डेमो देखें: vimeo.com/155636855

मैं इस मुद्दे से बहुत लंबे समय तक जूझ चुका हूं - अब मैं कुछ बाहरी मदद करना पसंद करूंगा।

* वीएम तकनीक से इसका कोई लेना-देना नहीं है - पोस्ट के अंत में जोड़ा गया नोट देखें *

संलग्न छवि में वर्डपैड फ़ाइल की साइड-बाय-साइड छवि होती है जिसमें पाठ वर्णमाला के सभी अक्षरों का प्रतिनिधित्व करता है, निचला- और ऊपरी-केस। बाईं ओर की छवि एक विंडोज 10 वर्चुअल मशीन ("अतिथि" ओएस) से ली गई थी जो विंडोज 10 होस्ट ("होस्ट" ओएस) पर चल रही थी; दाईं ओर की छवि विंडोज होस्ट से ली गई थी:

enter image description here

छवि बढ़ाएँ और प्रत्येक अक्षर के किनारों के आस-पास के अंतरों पर एक अच्छी नज़र डालें: बाएँ दाएँ से बहुत चिकनी है - और यदि आप एक त्वरित निष्कर्ष पर जाने के लिए लुभाए जाते हैं, तो CLEARTYPE ISSUE नहीं है (नीचे दिए गए बिंदु देखें) ), कम से कम एक "ऑन" बनाम "ऑफ" परिप्रेक्ष्य से नहीं (दूसरे शब्दों में, ClearType से संबंधित एक रजिस्ट्री सेटिंग शामिल हो सकती है, लेकिन ClearType से संबंधित Windows UI पर ऐसा कुछ भी नहीं हो रहा है क्योंकि दोनों मशीनें ClearType के लिए कैलिब्रेटेड हैं) ClearType होस्ट और गेस्ट मशीन दोनों पर चालू है)।

तथ्य:


दोनों OS एक ही असंख्य फ़ॉन्ट TrueType (TTF) फ़ॉन्ट फ़ाइल का उपयोग कर रहे हैं

दोनों OS एक ही स्क्रीन रिज़ॉल्यूशन पर सेट हैं।

मैंने सोचा था कि यह एक विंडोज वीडियो-ड्राइवर मुद्दा था, लेकिन मेरे पास नवीनतम nVidia ड्राइवर है और मैं होस्ट और अतिथि दोनों पर DirectX 12 के साथ अपेक्षाकृत उच्च अंत GeForce GTX 560 कार्ड चला रहा हूं।

वर्डपैड दोनों फाइलें एक ही फॉन्ट, फॉन्ट साइज, फॉन्ट स्टाइल और जूम (100%) का उपयोग कर रही हैं।

दोनों विंडोज 10 ओएस पूरी तरह से विंडोज अपडेट का उपयोग करके अपडेट किए गए हैं।

ClearType Windows मशीन के साथ-साथ वर्चुअल मशीन में दोनों पर सक्रिय (चालू) है। मैंने ClearType के विभिन्न संयोजनों की कोशिश की है (मेजबान पर इसे बंद कर रहा है और इसे अतिथि पर, और अन्य सभी संयोजनों को बंद कर रहा है) और अतिथि की तुलना में होस्ट पर प्रदर्शित रफ-एज आर्टवर्क में कोई बदलाव नहीं हुआ है।

मुझे अतिथि और मेजबान के बीच किसी भी डीपीआई मतभेद के बारे में पता नहीं है। अन्य फ़ॉन्ट, जैसे कि विंडोज-शामिल एरियल फ़ॉन्ट, केवल होस्ट पर समान रफ-एज मुद्दों को दिखाता है - मैंने समस्या को चित्रित करने के लिए सिर्फ असंख्य प्रो को चुना।

दोनों फोंट का रंग 100% काला (# 000) है।

यह समस्या उन सभी अनुप्रयोगों में दिखाई देती है जो ट्रू टाइप फ़ॉन्ट को प्रस्तुत कर सकते हैं। मैंने WordPad का उपयोग एक उदाहरण के रूप में किया था, लेकिन यह Microsoft PowerPoint और TechSmith के Camtasia में भी होता है।

यह समस्या ट्रू टाइप फ़ॉन्ट से संबंधित नहीं है; यह OTF फोंट के लिए भी होता है।

और, इसके लायक क्या है, इससे कोई फर्क नहीं पड़ता कि अगर मैं किसी अन्य कंप्यूटर से होस्ट को दूरस्थ-डेस्कटॉप सत्र (आरडीपी) के माध्यम से देखता हूं या टीमव्यूअर जैसी चीज का उपयोग कर रहा हूं; जब मैं RDP या TeamViewer का उपयोग करता हूं, तो अतिथि का व्यवहार नहीं बदलता है।


स्पष्ट रूप से मेजबान पर फ़ॉन्ट-रेंडरिंग सबसिस्टम के साथ कुछ गड़बड़ है। दिलचस्प बात यह है कि, होस्ट एक विंडोज 7 अल्टिमेट मशीन थी, लगभग एक हफ्ते पहले (फरवरी 2016 की शुरुआत तक), जब मैंने इसे विंडोज 10 एंटरप्राइज स्थापित करके अपग्रेड किया था। मुझे उम्मीद थी कि विंडोज 7 से विंडोज 10 में इस तरह का अपग्रेड करने से फॉन्ट-रेंडरिंग समस्या ठीक हो जाएगी, क्योंकि मैंने पहले ही देखा था कि एक ही होस्ट पर वर्चुअल मशीन में चलने वाले विंडोज 10 में फॉन्ट-रेंडरिंग मुद्दा नहीं था। दुर्भाग्य से, विंडोज 10 का अद्यतन फ़ॉन्ट-प्रतिपादन को ठीक नहीं करता था (मैंने एक ताजा विंडोज 10 इंस्टॉल नहीं किया था - मैंने वह अपडेट किया था जो पिछले ओएस फ़ाइलों और सेटिंग्स को संरक्षित करता है)।

उपरोक्त सभी चीज़ों के कारण, मुझे संदेह है कि होस्ट ओएस के लिए फ़ॉन्ट-रेंडरिंग से संबंधित रजिस्ट्री में कुछ दूषित, गायब या गलत मूल्य है - लेकिन ऐसा क्या हो सकता है?

* 2/12/2016 को जोड़ा गया * मैंने एक नया हार्ड ड्राइव लिया और उसी हार्डवेयर पर एक साफ विंडोज 10 इंस्टेंस स्थापित किया, जिस पर मैं "होस्ट" करता हूं, जो ऊपर उल्लेखित है। नए विंडोज 10 इंस्टेंस में विंडोज 10 की वर्चुअल मशीन (वीएम) इंस्टेंस की तरह ही चिकनी फोंट हैं। यह मुझे बताता है कि मशीन का हार्डवेयर सही पर छवि उत्पन्न करने के लिए समस्या पैदा नहीं कर रहा है और यह वीएम (या वर्चुअलाइजेशन) प्रौद्योगिकी) असमानता का कारण नहीं है। अब मेरे पास हार्ड ड्राइव ए है जिसमें विंडोज 10 एक भौतिक मशीन पर है, जिसे मैं बूट कर सकता हूं और दाईं ओर की छवि देख सकता हूं; मेरे पास विंडोज 10 के साथ एक दूसरी हार्ड ड्राइव है उसी मशीन पर मैं बाईं ओर छवि दिखाने के लिए बूट कर सकता हूं।

मैंने तब उस नए हार्ड ड्राइव को मिटा दिया और Microsoft स्रोत सेटअप डीवीडी से विंडोज 7 अल्टीमेट स्थापित किया। यह LEFT (सही, चिकने फोंट) पर भी छवि प्रस्तुत करता है। तो समस्या यह नहीं है कि विंडोज 7 में मेरे हार्डवेयर पर समस्या है और यह विंडोज 10 इसे सही नहीं करता है - यह मेरे लिए अब स्पष्ट है कि अगर मैं विंडोज 7 को पुनर्स्थापित करता हूं तो विंडोज 7 मेरे हार्डवेयर पर फ़ॉन्ट समस्या नहीं दिखाता है।

तो, एक तरफ वर्चुअलाइजेशन - ऐसा प्रतीत होता है कि मैं अपने मौजूदा होस्ट मशीन और "सामान्य" विंडोज 7/10 मशीन के बीच फ़ॉन्ट-रेंडर सबसिस्टम में कुछ प्रकार के भ्रष्टाचार देख रहा हूं (याद रखें, मेरी मौजूदा होस्ट मशीन विंडोज 7 अल्टीमेट से अपग्रेड की गई थी विंडोज 10 एंटरप्राइज और समस्या विंडोज 7 अल्टीमेट में मौजूद थी, इससे पहले कि मैं अपग्रेड करता; वास्तव में, मैं उम्मीद कर रहा था कि अपग्रेड इस मुद्दे को ठीक करेगा - अफसोस, यह नहीं हुआ)।

मैं अपने खाली समय में असमानताओं के लिए मुख्य रजिस्ट्री प्रविष्टियों को देखने / तुलना करने की कोशिश करूंगा, लेकिन मैं अभी भी किसी भी विशेषज्ञ से सुनने के लिए उत्सुक हूं जो मुझे मूल कारण पर शून्य-में मदद कर सकते हैं।


क्या VM सॉफ्टवेयर?
Yorik

1
अतिथि VMWare 12 वर्कस्टेशन वर्चुअल मशीन है, लेकिन मैंने इसे हाइपरवी के तहत भी चलाया है।
Jazimov

मुझे पता है कि वर्ड लगभग 300dpi पर आंतरिक रूप से और फिर प्रदर्शन के लिए डाउन-सैंपल पर प्रस्तुत होता है। आपकी छवि में होस्ट संस्करण ऐसा लग रहा है कि इसे कम DPI सेटिंग में प्रस्तुत किया गया था। यकीन नहीं है कि क्यों। मुझे विंडोज 10 में फॉन्ट रेंडरिंग के बारे में एक टन नहीं पता है, लेकिन यह मुझे ऐसा लगता है जैसे उन्होंने ग्रेपस्केल एए के पक्ष में सबपिक्सल रेंडरिंग के साथ किया था, क्योंकि सबपिक्सल रेंडरिंग में एक अभिविन्यास है और यह मोबाइल, रोटेट डिवाइस के लिए उपयोगी नहीं है। अगर मुझे अनुमान लगाना था, तो मैं कहूंगा कि यह समस्या ओएस में वर्चुअल वीएम वर्चुअल वीडियो हार्डवेयर कैसे प्रस्तुत करती है।
Yorik

यह एक VM मुद्दा नहीं है (मेरे जोड़े गए नोट्स देखें), लेकिन यह एक उचित अनुमान था। जब आप डीपीआई की बात करते हैं तो आप कुछ पर हो सकते हैं, लेकिन आपके विचार / सिद्धांत दुर्भाग्य से मेरे सेटअप पर लागू नहीं होते हैं। इसके अलावा, यह "चीजों को करने का नया विंडोज 10 तरीका" भी नहीं है। ध्यान दें कि दोनों मशीनें विंडोज 10 मशीनें हैं - और मेरी नई टिप्पणी साबित करती है कि विंडोज 10 एक ही भौतिक मशीन पर भी अलग तरह से व्यवहार करता है ... जब मैंने कहा कि मैं इस के साथ जूझ रहा हूं, तो मेरा मतलब था कि! :)
Jazimov

क्या आप एचडीएमआई के माध्यम से जुड़े हुए हैं? ओवरड्रॉ समायोजन और अक्षम करने के लिए अपनी वीडियो कार्ड सेटिंग जांचें? IIRC Radeon कार्ड डिफ़ॉल्ट रूप से एचडीएमआई पर सक्षम है और यह मूल से दूर है
Yorik

जवाबों:


2

मैंने कभी नहीं देखा कि ClearType फोंट प्रतिपादन बड़े फ़ॉन्ट आकार पर इतना बुरा काम करता है ... लेकिन मेरे Win10 पर यह आपके कंप्यूटर पर समान है।

आपके द्वारा वर्णित व्यवहार, मेरी राय में, यह बग नहीं है ... यह एक सुविधा है :-)

निम्नलिखित छवियों पर एक नज़र डालें:

चित्र 1 : ClearType रेंडरिंग ON है (बेहतर देखने के लिए चित्र पर क्लिक करें)

ClearType rendering ON

जब ClearType चालू होता है, तो Windows फॉन्ट रेंडरिंग इंजन LCD R / G / B सबडिस्केल के एपरेस को लेकर फॉन्ट रेंडरिंग को ऑप्टिमाइज़ करने की कोशिश करता है। यदि आप बाईं ओर आवर्धित छवि की जांच करते हैं, तो आप देख सकते हैं कि प्रत्येक फ़ॉन्ट में ब्लश / रेडिश स्मूथिंग है, यह एलसीडी सबपिक्सल संरचना के कारण है ( यहाँ प्रस्तुत करने के बारे में अधिक जानकारी )।
लेकिन, जैसा कि आपने उल्लेख किया है, यह बड़े फ़ॉन्ट आकार पर बुरा काम करता है।
लेकिन यह अभी भी छोटे फ़ॉन्ट आकार पर बहुत अच्छा काम करता है।

चित्र 2 : ClearType रेंडरिंग OFF है (बेहतर देखने के लिए चित्र पर क्लिक करें) enter image description here

यदि आप ClearType रेंडरिंग को बंद कर देते हैं, तो Windows फ़ॉन्ट रेंडरिंग इंजन LCD सबपिक्सल संरचना का लाभ उठाना बंद कर देगा, और अब फॉन्ट में एक सिंपल ग्रे स्मूथिंग होगी (इसके बजाय ब्लिश / रेडिश स्मूथिंग)।
यह बड़े फ़ॉन्ट आकार पर बेहतर काम करता है ... लेकिन छोटे फोंट आकार पर बहुत बुरा काम करता है, जैसा कि आप फ़ाइल नाम रेंडरिंग, मेनू रेंडरर्न और इतने पर देख सकते हैं ...

अब, तथ्य यह है कि आपके अतिथि पीसी पर फॉन्ट रेंडरिंग बेहतर लगती है, शायद इस तथ्य के कारण है कि क्लियरटाइप सबपिक्सल फॉन्ट रेंडरिंग तभी सक्षम होती है जब विंडोज़ एक भौतिक एलसीडी स्क्रीन का पता लगाता है। यदि वर्चुअल पीसी एक भौतिक एलसीडी का पता नहीं लगाता है, तो यह संभवतः "मानक" (ग्रेस्केल) फ़ॉन्ट स्मूथिंग का उपयोग करेगा।

अब आप विंडोज को "मानक / ग्रेस्केल" फॉन्ट स्मूथिंग का उपयोग करने के लिए मजबूर करने का प्रयास कर सकते हैं, इसके बजाय क्लियरटाइप / सबपिक्सल स्मूथिंग, लेकिन मेरे कंप्यूटर पर इससे कोई फर्क नहीं पड़ा: ग्रेस्केल स्मूथिंग को क्लीयरपेप्ट से अक्षम करने के समान परिणाम दें कंट्रोल पैनल। ( Cleartype रेंडरिंग को ट्विक करने के लिए रजिस्ट्री हैक के बारे में अधिक जानकारी यहाँ दी गई है )


महान प्रतिक्रिया - और संभवतः सही जवाब। स्वीकार करने से पहले, मैं इस बात से हैरान हूं कि मेरे होस्ट पर विंडोज 10 के एक नए उदाहरण ने एलसीडी का पता नहीं लगाया और फिर सबपिक्सल एंटीलियासिसिंग का उपयोग किया (जब तक कि डिफ़ॉल्ट वीडियो ड्राइवर Microsoft नए विंडोज 10 के लिए चयन नहीं करता है ड्राइवर से कुछ अलग करता है। मैंने अपने विंडोज 7 उदाहरण के लिए स्थापित किया था जिसे मैंने बाद में विंडोज 10 में अपग्रेड किया था) ... मैं वीएम के साथ प्रयोग करके देखूंगा कि क्या मैं सबस्पेल बनाम ग्रेस्केल रेंडरिंग को मजबूर कर सकता हूं - और मैं मेजबान के साथ प्रयोग करूंगा और पोस्ट करूंगा जल्द ही फिर से।
Jazimov

@ जाजिमोव मॉनिटर डिटेक्शन विंडोज द्वारा वीडियो कार्ड को गर्तित किया जाता है, इसलिए वीडियो कार्ड ड्राइवर को निश्चित रूप से इस बात का प्रभाव पड़ सकता है कि विंडोज द्वारा मॉनिटर का पता कैसे लगाया जाता है।
Max

तो एलसीडी डिस्प्ले का उपयोग करते समय सिस्टम को चलाने का "सही" तरीका क्या है? यदि ClearType बंद है, तो आप छोटे-फ़ॉन्ट रेंडरिंग सुधार खो देते हैं; यदि यह चालू है, तो आप बड़े-फ़ॉन्ट प्रतिपादन सुधार खो देते हैं ... क्या करना है?
Jazimov

@ जाजिमोव का शायद कोई समाधान नहीं है ... मैं स्पष्ट रूप से सक्षम रखता हूं क्योंकि मैं आमतौर पर छोटे फोंट के साथ काम करता हूं, लेकिन यह सिर्फ मैं ही हूं। मैंने 2 घंटे पहले आपकी पोस्ट पढ़ने से पहले बड़े फोंट पर क्लियरटाइप रेंडरिंग मुद्दे पर ध्यान नहीं दिया (मैं एक सॉफ्टवेयर डेवलपर हूं, और मैं प्रत्येक दिन पीसी पर कम से कम 11/12 घंटे खर्च करता हूं ...)
Max

मैं अभी भी कुछ ट्विकिंग करूंगा कि मैं क्या करूं। कई लोग सोचते हैं कि आपको स्वीकार्य छोटे पाठ प्राप्त करने के लिए ClearType को चालू रखने की आवश्यकता है, लेकिन भले ही आप ClearType ट्यूनर के पहले पृष्ठ का उपयोग करके इसे अनचेक कर दें, फिर भी आप अपने प्रदर्शन को कैलिब्रेट करने के लिए ट्यून-अप प्रक्रिया से गुजर सकते हैं। यह सबसे अच्छा समाधान हो सकता है: ClearType OFF, कैलिब्रेटेड प्रदर्शित करता है।
Jazimov
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.