使用 VcXsrv 的 urxvt 中缺少 utf-8 字元集的部分

使用 VcXsrv 的 urxvt 中缺少 utf-8 字元集的部分

我正在運行一個 Arch Linux 伺服器,我使用 VcXsrv 從幾台 Windows 機器連接到該伺服器,這樣我就可以運行圖形應用程式(以及比我使用 PuTTY 等獲得的更多自訂終端)。但是,我在使用 UTF-8 Dingbats 部分中的 urxvt 和 UTF-8 字元時遇到了一些問題,即它們無法呈現。我使用 Dingbats 在 shell 提示字元中顯示 git 狀態,並顯示命令的退出狀態。

區域設定.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

我可以看到所有拉丁文、片假名、平假名、朝鮮文、中文(繁體、簡體)、西里爾文、波斯文(大多數)、格魯吉亞文字符等。像這樣:

標誌不渲染

如果重要的話,我在 vim 模式下使用 zsh 。
在谷歌上查找,我能找到的唯一建議是確保我的語言環境設置為 UTF-8 並且字體具有必要的字形。我相信我已經確保了這兩點。

我哪裡可能出錯了?

答案1

問題來自於使用 Unicode 專用平面中的字符,不能保證它有任何特殊之處。 Windows XP 系統可以使用該命令明確編輯那裡的字體eudcedit,Mac 機在該平面的 6400 個字元之一中有一個 Apple 徽標,簡單地說,您使用了錯誤的標誌。

正確的符號是十進制 9985 到 10175(十六進制 2701 到 27bf)。

相關內容