Я использую сервер Arch Linux, к которому я подключаюсь с нескольких машин Windows, используя VcXsrv, чтобы я мог запускать графические приложения (и больше настраиваемых терминалов, чем то, что я могу получить с помощью PuTTY и т.д.). Тем не менее, у меня возникли некоторые проблемы с символами urxvt и UTF-8 из раздела Дингбаты UTF-8, а именно, они не отображаются. Я использую Dingbats для отображения состояния git в командной строке, а также для отображения статуса завершения команд.

locale.conf:

LANG=en_US.UTF-8

локаль вывода:

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=

Конфигурация urxvt (~/.Xdefaults):

URxvt*scrollTtyOutput: false
URxvt*scrollWithBuffer: true
URxvt*scrollTtyKeypress: true
URxvt*scrollBar: false
URxvt*cursorBlink: true
URxvt*background: black
URxvt*foreground: green
URxvt*font: xft:Hack:size=10, xft:Unifont:size=10
URxvt*locale: true
URxvt*skipBuiltinGlyphs: true
URxvt*xftAntialias: true
URxvt*saveLines: 10000
URxvt*eightBitInput: false

Информация о версии urxvt:

rxvt-unicode (urxvt) v9.22 - released: 2016-01-23
options: perl,xft,styles,combining,blink,iso14755,unicode3,encodings=eu+vn+jp+jp-ext+kr+zh+zh-ext,
         fade,transparent,tint,XIM,frills,selectionscrolling,wheel,slipwheel,cursorBlink,
         pointerBlank,scrollbars=plain+rxvt+NeXT+xterm

Я вижу все латинские, катакана, хирагана, хангул, китайский (традиционный, упрощенный), кириллицу, персидский (большинство), грузинские символы и т.д. Но дингбаты выглядят так, когда я их печатаю:

Дингбаты не рендеринг

Я использую Zsh в Vim-режиме, если это имеет значение.
Глядя на Google, единственный совет, который я могу найти, - убедиться, что моя локаль установлена на UTF-8 и что шрифты имеют необходимые символы. И то, и другое, я считаю, я обеспечил.

Где я мог пойти не так?

1 ответ1

0

Проблема возникает из-за использования символов, которые находятся в плоскости частного использования Unicode, которая не гарантирует ничего особенного в этом. Системы Windows XP могут явно редактировать шрифты там с помощью команды eudcedit , на Mac есть логотип Apple в одном из 6400 символов в этой плоскости, и, проще говоря, вы используете неправильные дингбаты.

Правильные дингбаты - от 9985 до 10175 десятичных (2701 до 27bf шестнадцатеричный).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .