मैं iTerm2 और Chrome में OSX पर पावरलाइन वर्णों को रेंडर करने के लिए एक कार्यशील समाधान की तलाश कर रहा हूं। कई तरीकों का उपयोग मैंने किया है, मैंने कई तरीकों का उपयोग करने का प्रयास किया है, कोई भी अब तक सही ढंग से काम नहीं करता है (हालांकि फॉन्टबुक आंशिक रूप से काम करता है)। विवरण नीचे शामिल हैं।
- वहाँ OSX 10.9.3 पर iTerm2 में सही ढंग से प्रस्तुत करने के लिए पावरलाइन ग्लिफ़ प्राप्त करने के लिए एक कार्य विधि है?
- क्या पावरलाइन ग्लिफ़ को वेब पेजों में सही तरीके से प्रस्तुत किया जाना चाहिए? किसी भी विचार क्यों वे नहीं हैं और मैं इसे कैसे ठीक कर सकता हूं?
इन वर्णों का प्रतिपादन कैसे काम करता है (सिस्टम / अनुप्रयोग स्तर पर)? क्या यह आवेदन से आवेदन करने के लिए अलग है? क्रोम में, यदि वर्तमान फ़ॉन्ट में ग्लिफ़ के लिए बाइंडिंग नहीं है, तो क्रोम सिस्टम पर मौजूद किसी अन्य फ़ॉन्ट में बाइंडिंग खोजने और उन का उपयोग करने का प्रयास करेगा? क्या सिस्टम स्तर पर इस यूनिकोड वर्णों के लिए बाइंडिंग प्रदान करने का कोई तरीका है ताकि वे उस फ़ॉन्ट का उपयोग करके रेंडर कर सकें, भले ही वह फ़ॉन्ट उपयोग किया जा रहा हो?
यूनिकोड निजी क्षेत्र के वर्ण
अगर मैं पॉवरलाइन-संगत पैच फॉन्ट के काम को समझता हूं, तो वे स्केलेबल ग्राफिक्स को यूनिकोड के निजी उपयोग में विशिष्ट मूल्यों से जोड़ते हैं:
U+E0A0 Version control branch
U+E0A1 LN (line) symbol
U+E0A2 Closed padlock
U+E0B0 Rightwards black arrowhead
U+E0B1 Rightwards arrowhead
U+E0B2 Leftwards black arrowhead
U+E0B3 Leftwards arrowhead
एक टर्मिनल में ग्लिफ़ का परीक्षण करने के लिए, मैंने पढ़ा है कि यह काम करना चाहिए:
echo -e "\ue0a0\ue0a1\ue0a2\ue0b0\ue0b1\ue0b2\ue0b3"
हालाँकि यह मेरे लिए काम नहीं करता है (OSX 10.9.3, iTerm2, zsh) यहां तक कि एक पावरलाइन-पैचेड फॉन्ट स्थापित किया गया है और iTerm2 उन फोंट्स में से एक का उपयोग करने के लिए कॉन्फ़िगर किया गया है।
मैंने पैच किए गए फ़ॉन्ट को स्थापित करने के लिए कई तरीके आज़माए हैं:
FontBook और Prepatched फ़ॉन्ट्स
मैंने लोकलटॉग / पॉवरलाइन- फोंट से फोंट डाउनलोड किया और उन्हें फॉन्टबुक का उपयोग करके स्थापित किया। एक ही पृष्ठ पर, कुछ ग्लिफ़ प्रस्तुत करते हैं लेकिन अन्य नहीं करते हैं। अन्य पृष्ठों पर, कोई भी ग्लिफ़ प्रस्तुत नहीं करता है:
(स्रोत: staticflickr.com )
(स्रोत: staticflickr.com )
ITerm2 में (यह मेरे द्वारा परीक्षण किए गए सभी पावरलाइन फोंट के साथ होता है), कुछ वर्ण प्रस्तुत करते हैं, लेकिन अन्य नहीं करते हैं:
(स्रोत: staticflickr.com )
वीवी-एयरलाइन के साथ मैकविम (टर्मिनल) में, कुछ अक्षर प्रस्तुत करते हैं, लेकिन कुछ गलत तरीके से प्रस्तुत करते हैं:
(स्रोत: staticflickr.com )
fontconfig
मैंने सभी पावरलाइन-पैच फोंट की स्थापना रद्द कर दी, होमबॉर्न के साथ फॉन्टकॉन्ग स्थापित किया, पॉवरलाइन फ़ॉन्ट स्थापित किया, और फ़ॉन्ट कैश का पुनर्निर्माण किया:
wget -P ~/.fonts/ https://github.com/Lokaltog/powerline/raw/develop/font/PowerlineSymbols.otf
wget -P ~/.config/fontconfig/conf.d/ https://github.com/Lokaltog/powerline/raw/develop/font/10-powerline-symbols.conf
fc-cache -vf ~/.fonts
फ़ॉन्ट का पता लगाया गया था और फॉन्टकोन्फिग ने कहा था कि इसे स्थापित किया गया था, हालांकि यह फॉन्टबुक में दिखाई नहीं दिया और मैं iTv2 में इसे चुनने में असमर्थ था।
इसे चलाने के बाद, मैंने फोंट, रेरन fc-cache और अनइंस्टॉल किए गए फॉन्टकोफिग को हटा दिया।
मैं वर्तमान में फॉन्टबुक में स्थापित प्रीपेचेड फोंट का उपयोग कर रहा हूं, जो आंशिक रूप से काम करता है, लेकिन मैं उम्मीद कर रहा हूं कि कोई मुझे इस मुद्दे को थोड़ा बेहतर ढंग से समझने में मदद कर सकता है ताकि मैं काम करने वाला समाधान पा सकूं।
अपडेट करें
यह विधि iTerm2 में सब कुछ काम करने लगती है , हालांकि मैं अभी भी क्रोम / सिस्टम रेंडरिंग मुद्दों के बारे में अनिश्चित हूं।
FontForge
अजगर बाइंडिंग के साथ fontforge स्थापित करें:
brew install fontforge --with-python
Powerline-fontpatcher स्थापित करें:
mkdir -p ~/.local/src
git clone https://github.com/Lokaltog/powerline-fontpatcher.git ~/.local/src/powerline-fontpatcher
cd ~/.local/src/powerline-fontpatcher && python setup.py install && cd
export powerline_symbols=~/.local/src/powerline-fontpatcher/fonts/powerline-symbols.sfd
डाउनलोड, पैच और स्थापित फ़ॉन्ट:
wget http://sourceforge.net/projects/sourcecodepro.adobe/files/SourceCodePro_FontsOnly-1.017.zip
unzip SourceCodePro_FontsOnly-1.017.zip
find SourceCodePro_FontsOnly-1.017/TTF -name \*.ttf -exec powerline-fontpatcher --source-font=$powerline_symbols --no-rename {} \;
mv *.ttf /Library/Fonts
Use a different font for non-ASCII text.
से मेरे लिए सारा फर्क पड़ा ।