ฉันกำลังมองหาโซลูชันที่ใช้งานได้สำหรับการแสดงตัวละคร Powerline บน OSX ใน iTerm2 และ Chrome มีจำนวนมากของเอกสารรอบฉันได้พยายามที่จะใช้วิธีการหลายวิธีคือไม่มีใครดูเหมือนจะทำงานได้อย่างถูกต้องเพื่อให้ห่างไกล (แม้ว่าอักษร prepatched กับ fontbook บางส่วนทำงาน) รายละเอียดรวมอยู่ด้านล่าง
- มีวิธีการทำงานที่ทำให้ร่ายมนตร์สายไฟฟ้าสามารถแสดงผลได้อย่างถูกต้องใน iTerm2 บน OSX 10.9.3 หรือไม่?
- ร่ายมนตร์สายไฟฟ้าควรแสดงผลอย่างถูกต้องในหน้าเว็บหรือไม่ ความคิดใด ๆ ว่าทำไมพวกเขาถึงไม่ได้และฉันจะแก้ไขได้อย่างไร
การแสดงผลของตัวละครเหล่านี้ทำงานอย่างไร (ในระดับระบบ / แอปพลิเคชัน) มันแตกต่างจากแอปพลิเคชันไปยังแอปพลิเคชันหรือไม่ ในโครเมี่ยมถ้าแบบอักษรปัจจุบันไม่มีการผูกสำหรับร่ายมนตร์โครเมี่ยมจะพยายามค้นหาการผูกในแบบอักษรอื่นที่มีอยู่ในระบบและใช้งานหรือไม่ มีวิธีใดที่จะให้การเชื่อมโยงสำหรับอักขระยูนิโค้ดนี้ในระดับระบบเพื่อให้พวกเขาแสดงผลโดยใช้แบบอักษรนั้นไม่ว่าแบบอักษรนั้นจะถูกใช้งานหรือไม่?
อักขระส่วนพื้นที่ Unicode
ถ้าฉันเข้าใจวิธีการทำงานของฟอนต์ที่แพตช์เข้ากันได้กับสายไฟฟ้าพวกมันจะผูกกราฟิกที่ปรับขนาดได้กับค่าเฉพาะในพื้นที่ใช้ส่วนตัวของยูนิโค้ด:
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 ได้รับการกำหนดค่าให้ใช้แบบอักษรตัวใดตัวหนึ่งดังกล่าว
ฉันได้ลองวิธีการหลายวิธีในการติดตั้งฟอนต์ที่แพตช์แล้ว:
แบบอักษรและแบบอักษรที่เตรียมไว้
ฉันดาวน์โหลดฟอนต์จากLocaltog / powerline-fontsและติดตั้งโดยใช้ FontBook ในหน้าเดียวกันร่ายมนตร์บางตัวก็ทำออกมาได้ แต่บางอันก็ทำไม่ได้ ในหน้าอื่นไม่มีร่ายมนตร์แสดงผล:
(ที่มา: staticflickr.com )
(ที่มา: staticflickr.com )
ใน iTerm2 (สิ่งนี้เกิดขึ้นกับแบบอักษรของ Powerline ทั้งหมดที่ฉันทดสอบ) อักขระบางตัวแสดงผล แต่ตัวอักษรอื่น ๆ ไม่ได้:
(ที่มา: staticflickr.com )
ใน macvim (เทอร์มินัล) ที่ติดตั้ง vim-airline อักขระบางตัวจะเรนเดอร์ แต่บางตัวเรนเดอร์ไม่ถูกต้อง:
(ที่มา: staticflickr.com )
fontconfig
ฉันถอนการติดตั้งฟอนต์ power-patched ทั้งหมดติดตั้ง fontconfig ด้วย homebrew ติดตั้งฟอนต์ powerline และสร้างแคชฟอนต์ใหม่:
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
ตรวจพบแบบอักษรและ fontconfig บอกว่าติดตั้งแล้ว แต่ไม่ปรากฏใน FontBook และฉันไม่สามารถเลือกได้ใน iTerm2
หลังจากรันสิ่งนี้ฉันจะลบแบบอักษร, รันใหม่ fc-cache และถอนการติดตั้งแบบอักษร
ขณะนี้ฉันกำลังใช้แบบอักษรที่ติดตั้งไว้ล่วงหน้าในแบบอักษรซึ่งทำงานได้บางส่วน แต่ฉันหวังว่าจะมีใครบางคนสามารถช่วยฉันเข้าใจปัญหาได้ดีขึ้นเล็กน้อย
ปรับปรุง
วิธีนี้ดูเหมือนว่าจะทำให้ทุกอย่างทำงานใน iTerm2 ได้ แต่ฉันก็ยังไม่แน่ใจเกี่ยวกับปัญหาการแสดงผลของ Chrome / ระบบ
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.
ทำเครื่องหมายต่างกันสำหรับฉัน