लिनक्स वर्चुअल टर्मिनल में यूनिकोड कैसे प्रदर्शित करें?


19

यूनिकोड में किसी भी डेटा को पढ़ना लिनक्स टर्मिनल (यानी एक्स विंडो के बिना खुलने वाले वर्चुअल टर्मिनल) में सही तरीके से प्रदर्शित नहीं होता है।

मैंने यहां एक चर्चा में पढ़ा कि JFBTERM जैसे कार्यक्रम स्थापित करना , और यह काम करता है, इसलिए मैं सोच रहा था कि क्या कोई भी तरीका नहीं है कॉन्फ़िगर (कंसोलफोंट्स?) टर्मिनल को बिना किसी अतिरिक्त सॉफ़्टवेयर के यूनिकोड को ठीक से संभालने के लिए।

विंडोज टर्मिनलों पर (सूक्ति-टर्मिनल, xterm, आदि) ऐसा दिखता है:

GNOME टर्मिनल

वर्चुअल टर्मिनल पर ऐसा दिखता है:

vt

JFBTERM के साथ वर्चुअल टर्मिनल पर ऐसा दिखता है:

jbfterm

यहाँ के उत्पादन का एक स्क्रीनशॉट है locale:

स्थान

यहाँ का उत्पादन है showconsolefont:

showconsolefont

क्या किसी को पता है कि क्या डिफ़ॉल्ट वर्चुअल टर्मिनल के साथ ही इसे पूरा करना संभव है?

जवाबों:


5

कंसोल फ़ॉन्ट फ़ॉन्ट को 512 तक लोड कर सकता है (मुझे लगता है, या ऐसा कुछ) विभिन्न ग्लिफ़; आमतौर पर केवल 256 ग्लिफ़ हालांकि।

लैटिन, सिरिलिक, या अन्य भाषाओं को प्रदर्शित करने के लिए जो 200 से कम गैर-जटिल प्रतीकों का उपयोग करती हैं, कोई समस्या नहीं है।

हालाँकि, जटिल लिपियों के लिए, या लिपियों के लिए बहुत से अलग-अलग प्रतीकों की ज़रूरत होती है (जैसे जापानी) आपको इसे संभालने के लिए एक अतिरिक्त लेआउट का उपयोग करने के अलावा और कोई संभावना नहीं है।

ध्यान दें कि अगर 512 की सीमा ASCII और दोनों काना सेट के लिए पर्याप्त होनी चाहिए, तो चौड़ाई की समस्या है।

सीजेके और काना एक वर्ग फिट करते हैं, वे लैटिन अक्षरों की चौड़ाई से दोगुनी हैं। यह कुछ ऐसा नहीं है जो कंसोल बॉक्स से बाहर निकल सकता है।

आप पुराने और बदसूरत "हाफ एक्सपोज़र कटकाना" का सहारा ले सकते हैं (और शायद ऐसी चीज़ का पुराना फ़ॉन्ट भी पा सकते हैं), या अपने कंसोल को 40 कॉलम चौड़ाई में सेट करें और लैटिन अक्षरों को काना की तरह चौड़ा करें।

मैं काना के साथ ऐसे किसी भी कंसोल फ़ॉन्ट के बारे में नहीं जानता; आपको अपना स्वयं का ड्रॉ करना चाहिए (ऐसा करने के लिए उपकरण हैं, और आप बिटमैप जापानी फ़ॉन्ट के डॉट्स की प्रतिलिपि बना सकते हैं।

इसके अलावा, आप iconvएएससीआईआई में काना का अनुवाद करने के लिए उपयोग कर सकते हैं ।


3

आपको एक फ़ॉन्ट की आवश्यकता है जिसमें वास्तव में ये अक्षर हैं। उदाहरण के लिए आर्क लिनक्स अनुशंसा करता है Lat2-Terminus16

यह आज़माने के लिए एक आभासी कंसोल में निम्न आदेश जारी करते हैं: setfont Lat2-Terminus16

बाकी के लिए, अधिकांश आधुनिक वितरण पहले से ही बॉक्स से बाहर का समर्थन करते हैं।


2

इसके अलावा LANG/LC_ALL, stty iutf8टर्मिनल को यह बताने की आवश्यकता है कि आपको क्या करना है, आपको setfontएक उपयोगी फ़ॉन्ट और मैपिंग लोड करने की आवश्यकता हो सकती है । यदि आपको अभी भी समस्याएं CONFIG_NLS_xxहैं, तो सेटिंग्स के लिए अपने कर्नेल कॉन्फिगरेशन की जांच करें , आपको आवश्यकता हो सकती है modprobe nls_utf8कि यह स्वचालित रूप से लोड न हो (मुझे लगता है कि यह केवल यूनिकोड फ़ाइलनाम के लिए आवश्यक है)।

कुछ लिनक्स वितरण इसे स्वचालित करने के लिए स्क्रिप्ट unicode_startऔर unicode_stopस्क्रिप्ट प्रदान करते हैं ।

यदि lessसमस्याओं का कारण बनता है तो इसे LESSCHARSETसेट करने के लिए पर्यावरण चर की आवश्यकता हो सकती है (या गलत होने पर परेशान )।

मार्कस कुह्न की UTF-8 और Unix / Linux के लिए यूनिकोड FAQ अमूल्य है।

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