OSX 10.9.3 - iTerm2 और Chrome पर पावरलाइन पैच फ़ॉन्ट्स


18

मैं iTerm2 और Chrome में OSX पर पावरलाइन वर्णों को रेंडर करने के लिए एक कार्यशील समाधान की तलाश कर रहा हूं। कई तरीकों का उपयोग मैंने किया है, मैंने कई तरीकों का उपयोग करने का प्रयास किया है, कोई भी अब तक सही ढंग से काम नहीं करता है (हालांकि फॉन्टबुक आंशिक रूप से काम करता है)। विवरण नीचे शामिल हैं।

  1. वहाँ OSX 10.9.3 पर iTerm2 में सही ढंग से प्रस्तुत करने के लिए पावरलाइन ग्लिफ़ प्राप्त करने के लिए एक कार्य विधि है?
  2. क्या पावरलाइन ग्लिफ़ को वेब पेजों में सही तरीके से प्रस्तुत किया जाना चाहिए? किसी भी विचार क्यों वे नहीं हैं और मैं इसे कैसे ठीक कर सकता हूं?

इन वर्णों का प्रतिपादन कैसे काम करता है (सिस्टम / अनुप्रयोग स्तर पर)? क्या यह आवेदन से आवेदन करने के लिए अलग है? क्रोम में, यदि वर्तमान फ़ॉन्ट में ग्लिफ़ के लिए बाइंडिंग नहीं है, तो क्रोम सिस्टम पर मौजूद किसी अन्य फ़ॉन्ट में बाइंडिंग खोजने और उन का उपयोग करने का प्रयास करेगा? क्या सिस्टम स्तर पर इस यूनिकोड वर्णों के लिए बाइंडिंग प्रदान करने का कोई तरीका है ताकि वे उस फ़ॉन्ट का उपयोग करके रेंडर कर सकें, भले ही वह फ़ॉन्ट उपयोग किया जा रहा हो?

यूनिकोड निजी क्षेत्र के वर्ण

अगर मैं पॉवरलाइन-संगत पैच फॉन्ट के काम को समझता हूं, तो वे स्केलेबल ग्राफिक्स को यूनिकोड के निजी उपयोग में विशिष्ट मूल्यों से जोड़ते हैं:

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 फ़ॉन्ट्स

मैंने लोकलटॉग / पॉवरलाइन- फोंट से फोंट डाउनलोड किया और उन्हें फॉन्टबुक का उपयोग करके स्थापित किया। एक ही पृष्ठ पर, कुछ ग्लिफ़ प्रस्तुत करते हैं लेकिन अन्य नहीं करते हैं। अन्य पृष्ठों पर, कोई भी ग्लिफ़ प्रस्तुत नहीं करता है:

Agnoster Theme
(स्रोत: staticflickr.com )

पॉवरलाइन डॉक्यूमेंटेशन
(स्रोत: staticflickr.com )

ITerm2 में (यह मेरे द्वारा परीक्षण किए गए सभी पावरलाइन फोंट के साथ होता है), कुछ वर्ण प्रस्तुत करते हैं, लेकिन अन्य नहीं करते हैं:

iTerm2 और zsh
(स्रोत: staticflickr.com )

वीवी-एयरलाइन के साथ मैकविम (टर्मिनल) में, कुछ अक्षर प्रस्तुत करते हैं, लेकिन कुछ गलत तरीके से प्रस्तुत करते हैं:

vim-एयरलाइन
(स्रोत: 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

जवाबों:


12

बस इनपुट मोनो फ़ॉन्ट स्थापित करें , पावरलाइन के लिए पूर्ण समर्थन के साथ आता है।

निम्नलिखित कार्य करने के लिए, इनपुट मोनो फ़ॉन्ट संस्करण 1.1 होना चाहिए। आप फ़ॉन्ट संस्करण पर जा सकते हैं Font Book → View → Show Font Info, और संस्करण संख्या को देख सकते हैं।

टर्मिनल के साथ। बॉक्स से बाहर काम करता है। बस फ़ॉन्ट का चयन करें और आप तैयार हैं।

ITerm2 के साथ, आपको कुछ चीजों को संशोधित करना होगा:

  • वरीयताएँ पर जाएं → प्रोफाइल → टेक्स्ट और अनचेक करें `गैर-एएससीआईआई टेक्स्ट के लिए एक अलग फ़ॉन्ट का उपयोग करें।
  • बस ऊपर, पर क्लिक करें Change Fontऔर इनपुट मोनो चुनें। इसके अतिरिक्त आपको Character Spacing → Vertical110% तक बदलना होगा। ऐसा लगता है कि टर्मिनल और iTerm2 एक अलग तरीके से चरित्र रिक्ति प्रदान करते हैं।

अनचेक करने Use a different font for non-ASCII text.से मेरे लिए सारा फर्क पड़ा ।
कैमोमाइलकेस

2

संभावना है कि आपने अपडेट नहीं किया है bash। OS X जहाजों के साथ bash < 4, इसलिए आप कोडों को यूनिकोड printfया echo -eयूनिकोड नहीं कर सकते ।

के bashसाथ अद्यतन करने के लिए कदम homebrew:

  1. brew install bash
  2. bashHomebrew द्वारा स्थापित उपसर्ग का पता लगाएं , मेरा था /usr/local/Cellar/bash/4.3.30/, इसलिए मेरा बैश बाइनरी था /usr/local/Cellar/bash/4.3.30/bin/bash
  3. sudo (vim|nano|emacs|etc) /etc/shells
  4. बोश पाथ पाएं, और इसे सूची के अंत में जोड़ें (या प्रतिस्थापित करें /usr/bin, यदि आप वास्तव में बहादुर हैं।)
  5. chsh
  6. Shell:अपने bashपथ से मिलान करने के लिए लाइन बदलें ।
  7. अपना कार्यकाल पुनः आरंभ करें।

और आपको तय किया जाना चाहिए।

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