2017-02-02 25 views
0

Я использую Arch Linux с urxvt-юникода и когда я выполнить команду, чтобы проверить, если my terminal is compatible with Prezto, что не хватает некоторых символов:Bad кодирование с urxvt и prezto на Arch

enter image description here

Мой локаль, как следующий:

LANG=en_US.UTF-8 
LC_CTYPE="en_US.UTF-8" 
LC_NUMERIC="en_US.UTF-8" 
LC_TIME="en_US.UTF-8" 
LC_COLLATE="en_US.UTF-8" 
LC_MONETARY="en_US.UTF-8" 
LC_MESSAGES="en_US.UTF-8" 
LC_PAPER="en_US.UTF-8" 
LC_NAME="en_US.UTF-8" 
LC_ADDRESS="en_US.UTF-8" 
LC_TELEPHONE="en_US.UTF-8" 
LC_MEASUREMENT="en_US.UTF-8" 
LC_IDENTIFICATION="en_US.UTF-8" 
LC_ALL= 

ответ

0

Hum, следуя Python 3.5.1 сценария показывает, что некоторые символы Co Unicode category т.е. Другое, Частное Использование. Следовательно, ваше приложение должно использовать шрифт , содержащий такие персональные символов, чтобы отобразить их правильно.

>>> import unicodedata 
>>> 
>>> for char in u'\ue0b0',u'\u00b1',u'\ue0a0',u'\u27a6',u'\u2718',u'\u26a1',u'\u2699': 
...  print (char, unicodedata.category(char), unicodedata.name(char,'private use')) 
... 
 Co private use 
± Sm PLUS-MINUS SIGN 
 Co private use 
➦ So HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW 
✘ So HEAVY BALLOT X 
⚡ So HIGH VOLTAGE SIGN 
⚙ So GEAR 
>>> 

Сравнить результаты подобного PowerShell сценария:

> 0xe0b0,0x00b1,0xe0a0,0x27a6,0x2718,0x26a1,0x2699 | Get-CharInfo | Format-Table -AutoSize 

Char CodePoint Category Description          
---- --------- -------- -----------          
     U+E0B0  PrivateUse Private Use          
    ± U+00B1  MathSymbol Plus-Minus Sign         
     U+E0A0  PrivateUse Private Use          
    ➦ U+27A6 OtherSymbol Heavy Black Curved Upwards And Rightwards Arrow 
    ✘ U+2718 OtherSymbol Heavy Ballot X         
    ⚡ U+26A1 OtherSymbol High Voltage Sign        
    ⚙ U+2699 OtherSymbol Gear           

 Смежные вопросы

  • Нет связанных вопросов^_^