如何設定XTerm unicode字體?

如何設定XTerm unicode字體?

我是否可以在 .Xresources 中添加一種附加字體,以便如果預設字體沒有某些 unicode 字符,則附加字體可以顯示它們?

答案1

是的。有七種字體大小,如 XTerm 上的Ctrl+所示MouseRightButton它們可以在 .Xresources 中設定

  • font= 預設
  • font1= 無法讀取
  • font2= 小
    ...
  • font6= 巨大

所以你可以設定一個預設值font來忽略一些 unicode 字元。如果您錯過了它們,請變更為支援它們的字體,例如 Tiny。這個.Xresources文件的作用是:

XTerm*font:  -*-courier 10 pitch-medium-r-*-*-*-*-*-*-*-*-ascii-*
XTerm*font2: -*-fixed-medium-r-*-*-15-*-*-*-*-*-iso10646-*

答案2

xterm 有兩組點陣字體:

  • 字體,字體2、font3、...、font6 是可追溯到 X11R4 的常規字體。
  • utf8字體.font 等是 Unicode 字型。

應用程式預設文件XTerm使用者體驗術語兩者都有,但在後者中,那些 Unicode 字體不在utf8字體層。以下是XTermapp-defaults 檔案中的內容:

*VT100.utf8Fonts.font2: -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso10646-1
*VT100.utf8Fonts.font:  -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
*VT100.utf8Fonts.font3: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1
*VT100.utf8Fonts.font4: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso10646-1
*VT100.utf8Fonts.font5: -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1
*VT100.utf8Fonts.font6: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1

UXTerm這是app-defaults 檔案中的內容:

*VT100.font2:   -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso10646-1
*VT100.font:    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
*VT100.font3:   -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1
*VT100.font4:   -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso10646-1
*VT100.font5:   -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1
*VT100.font6:   -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1

剛剛閱讀XTermapp-defaults 文件,大多數用戶不會注意到這裡給出的非 UTF-8 字體看起來某物例如 UTF-8 字體:

*VT100.font1:       nil2
*IconFont:      nil2
*fontMenu*font2*Label:  Tiny
*VT100.font2:       5x7
*fontMenu*font3*Label:  Small
*VT100.font3:       6x10
*fontMenu*font4*Label:  Medium
*VT100.font4:       7x13
*fontMenu*font5*Label:  Large
*VT100.font5:       9x15
*fontMenu*font6*Label:  Huge
*VT100.font6:       10x20

這些簡稱是(詳見xterm 無法載入字體) ISO-8859-1 字體的別名,它(考慮到 UTF-8 的歷史,這並不奇怪)與 UTF-8 字體具有相同的外觀。但它們只有 192 個字元(256 - 64 個控製字元),而點陣圖 UTF-8 字體有數千個。

有多個應用程式預設文件,因為這似乎是一個比utf8Fonts安排。這烏斯特姆腳本在啟動時選擇後者-班級選項,但如手冊頁所述,xterm 將在啟動時根據區域設定自動選擇 utf8Fonts。

xterm 有選單項UTF-8 編碼UTF-8 字體。如果您的語言環境使用 UTF-8 編碼(並且如果locale資源使用預設值),然後 xterm 預先選擇這些選單項目並禁止它們被更改。如果區域設定不使用 UTF-8 編碼,您可以變更這些選單項目並查看由此產生的差異。

您可以透過在資源前面加上前綴來指定要在 X 資源中使用的文件XTerm或者UXTerm, 分別。

雖然一個人可以做字體集使用點陣字體,這將允許人們執行問題中所要求的操作:

我是否可以在 .Xresources 中添加一種附加字體,以便如果預設字體沒有某些 unicode 字符,則附加字體可以顯示它們?

xterm 一次只使用其中一種點陣字體(同時自動使用粗體和斜體版本)。 X 庫中有一個字體集功能,但它有嚴重的效能問題,並且從未被廣泛使用。在 xterm 中,它被視為麻煩(參見選單區域設定資源)。

除了點陣字體之外,xterm 還支援 TrueType 字體,並且會根據需要自動尋找字體,以填入指定的系列中缺少的字形-fa選項。根據您的 fontconfig 安排,您可以從 TrueType 字體中獲得可行的覆蓋範圍(但需要注意的是,其中一些字體的大小不正確)。

相關內容