2012-03-22 13 views
11

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

Screenshot of Mocha in the Windows console, with a box character instead of the expected check mark

अगर मैं कंसोल विंडो में पाठ पर प्रकाश डाला और क्लिपबोर्ड पर प्रतिलिपि, मैं वास्तविक यूनिकोड वर्ण देखते हैं; मैं फैंसी अक्षरों को एक वेब ब्राउज़र में एक टेक्स्टबॉक्स में पेस्ट कर सकता हूं और वे ठीक ठीक (✔, ✖) प्रस्तुत करते हैं। तो यूनिकोड आउटपुट कंसोल विंडो में ठीक हो रहा है; समस्या यह है कि कंसोल विंडो उन अक्षरों को सही तरीके से प्रदर्शित नहीं कर रही है।

कैसे मैं इसे ठीक कर सकते हैं ताकि (✔ सहित और ✖) मोचा के उत्पादन के सभी एक Windows कंसोल में ठीक से प्रदर्शित?

उत्तर

7

अपडेट: इस मुद्दे को अब तय किया गया है। मोचा 1.7.0 से शुरू होने पर, फ़ॉलबैक का उपयोग प्रतीकों के लिए किया जाता है जो डिफ़ॉल्ट कंसोल फोंट में मौजूद नहीं होते हैं (√ के बजाय ✔, × instead के बजाय ×)। यह उतना सुंदर नहीं है जितना हो सकता है, लेकिन यह निश्चित रूप से खाली-बॉक्स प्लेसहोल्डर प्रतीकों को धड़कता है।

जानकारी के लिए

, संबंधित पुल अनुरोध देखें: https://github.com/visionmedia/mocha/pull/641

+2

वास्तव में एक बेहतर, मेरा की तुलना में अधिक सक्रिय जवाब यही कारण है कि में आवश्यक पर मेरे लिए अनावश्यक था - यह यह बनाता है बस हर जगह काम करो। ऐसा करने के लिए धन्यवाद! –

+0

कोई प्रोब दोस्त नहीं है :) चलो अब मोचा के साथ विंडोज़ पर चलो! – jsalonen

24

LinqPad में वर्णों को चिपकाकर, मैं यह समझने में सक्षम था कि वे 'HEAVY CHECK MARK' (U+2714) और 'HEAVY MULTIPLICATION X' (U+2716) थे। ऐसा लगता है कि न तो चरित्र की तरह सांत्वना फोंट (Consolas, ल्युसिडा कंसोल, या रेखापुंज फ़ॉन्ट्स) कि विंडोज 7 में उपलब्ध हैं वास्तव में से किसी में समर्थित है, सभी फोंट कि विंडोज 7 के साथ जहाज से बाहर है, केवल एक मुट्ठी समर्थन इन पात्रों (मीरोयो, मीरोयो यूआई, एमएस गोथिक, एमएस मिन्चो, एमएस पीगोथिक, एमएस पीएमनोचो, एमएस यूआई गोथिक, और सेगो यूआई सिंबल)। "एमएस" से शुरू होने वाले सभी निश्चित-चौड़ाई (मोनोस्पेस) फोंट हैं, लेकिन वे सभी कंसोल के विशिष्ट फ़ॉन्ट आकारों पर भयानक लगते हैं। और अन्य बाहर हैं, क्योंकि कंसोल को निश्चित-चौड़ाई वाले फोंट की आवश्यकता होती है।

तो तुम एक फॉन्ट डाउनलोड करने के लिए की आवश्यकता होगी। मैं DejaVu Sans Mono तरह - यह मुफ़्त है, यह सांत्वना आकार पर अच्छा लग रहा है, यह l से I से O से 0 और 1 लगाना आसान है, और यह जांच और एक्स सहित फैंसी यूनिकोड प्रतीकों के सभी प्रकार, मिला है कि मोचा उपयोग करता है।

Sample of the DejaVu Sans Mono font

दुर्भाग्य से, यह एक दर्द एक नया कंसोल फ़ॉन्ट स्थापित करने के लिए का एक सा है, लेकिन यह संभव है। (कदम this post by Scott Hanselman से अनुकूलित है, लेकिन 000 के गैर स्पष्ट बारीकियों शामिल करने के लिए बढ़ाया।)

कदम:

  1. Download the DejaVu fonts. फाइल खोल दो। "Ttf" निर्देशिका में जाएं जिसे आपने अभी अनजिप किया है, सभी फ़ाइलों का चयन करें, राइट-क्लिक करें और "इंस्टॉल करें"।
  2. रेजीडिट चलाएं, और HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont पर जाएं।
  3. एक नया स्ट्रिंग मान जोड़ें। इसे एक ऐसा नाम दें जो ज़ीरो की एक स्ट्रिंग है जो पहले से मौजूद शून्यों की सबसे लंबी स्ट्रिंग से अधिक है। उदाहरण के लिए, पर मेरे विंडोज 7 स्थापित करते हैं, वहाँ पहले से ही 0 और एक 00 नामित नाम के एक मूल्य है, तो मैं नया एक 000 नाम के लिए किया था। अपने नए मूल्य पर
  4. डबल-क्लिक करें, और DejaVu Sans Mono लिए अपने मूल्य निर्धारित किया है।
  5. रीबूट। (हाँ, यह चरण आवश्यक है, कम से कम OSes पर करने के लिए और सहित विंडोज 7 तक)
  6. अब आप एक कंसोल विंडो खोल सकते हैं, खिड़की मेनू खोलने, चूक> फ़ॉन्ट टैब पर जाएँ, और "DejaVu संस मोनो" चाहिए फ़ॉन्ट सूची बॉक्स में उपलब्ध हो। इसे चुनें और ठीक है।

अब मोचा का उत्पादन इसकी सभी महिमा में प्रदर्शित होगा।

Screenshots of Mocha output displaying correctly in a Windows console

+0

रिबूट विंडोज 7 – xori

+0

कोई रिबूट Windows 10 या तो – user1740331