更新! http://mail.cs.nchu.edu.tw/~s9256043/screen-4.0.2-uao-2.tar.gz == 簡介
這次補完的對象是
SCREEN - THE terminal multiplexer 應該是這次補完浪潮 (?) 的尾聲了,因為我的使用需求都已滿足
壓縮檔內有三個檔案。
screen-4.0.2-cjkwidth-mhsin.diff 是
mhsin 製作的 Unicode 字寬判定修正碼 (解決中文全型符號被誤認成半型、顯示亂掉等問題),感謝 Eric 提供,讓我得以換掉第一版的 super dirty hack (爆)
screen-4.0.2-uao.diff 則會修正 Big5 字碼區 0x8140-0x9FFE 的文字不能正常解碼的問題。
18 就是給 screen 使用的新 Big5 - Unicode 轉碼表,此轉碼表為 Unicode 補完計畫 2.42 (據稱) 將會使用的轉碼表;與第一版差異之處,在於第二版重新規劃字碼排列順序,修正某些轉碼錯誤,同時完整支援 Unicode 補完計畫的 Big5 -> Unicode 與 Unicode -> Big5 單向對應字碼。
== 安裝方法
這個補完必須重新編譯/安裝 screen。首先自己動手 (或是使用套件管理工具) 取得 screen 的原始碼並且解壓
然後進入 screen 的原始碼目錄套用 patch、以新的轉碼表覆蓋原有轉碼表
~ $ tar zxf screen-4.0.2.tar.gz
~ $ cd screen-4.0.2
~/screen-4.0.2 $ patch < ../screen-4.0.2-uao.diff
~/screen-4.0.2 $ patch < ../screen-4.0.2-cjkwidth-mhsin.diff
~/screen-4.0.2 $ cp ../18 utf8encodings/
然後照舊進行編譯、安裝工作。
== 使用
首先確認連線程式設定在 UTF-8 編碼模式下。
以 Pietty 來說, 是功能表的 選項 -> 字元編碼 -> Unicode UTF-8
另外還要到 選項 -> 詳細設定 然後把 Window -> Translation -> Treat CJK ambiguous characters as wide 勾起來,否則中文特殊符號會破壞畫面排列。
而 Linux 的使用者可能必須更新 UTF-8 charmap, 才能讓 terminal 程式正確處理 CJK ambiguous characters 的寬度;
方法是: 下載
http://mail.cs.nchu.edu.tw/~s9256043/UTF-8.gz ,不必解壓,直接放到 /usr/share/i18n/charmaps 替換掉原本的 UTF-8.gz 檔 (可先備份),再來執行下列指令重新製作 locale 資料:
localedef -i zh_TW -f UTF-8 zh_TW.UTF-8
然後以 UTF-8 環境執行 screen
$ LANG="zh_TW.UTF-8" screen
接著將某個虛擬視窗的編碼改為 big5
<Ctrl>+<A> :encoding big5 <Enter>
$ export LANG="zh_TW.Big5"
再來隨便 telnet 一個 BBS 看看效果,如果排版沒亂日文也有出現的話,那就是成功了 ...
開新視窗做其他的事情,或是 detach 掛站吧!
(完)