華文終端機 版本0.1.0


照例, 這份文件是用a4c.tty做為中文輸入製作出來的.
a4c.tty內含於華文系統套件版本0.1.0(All For Chinese Suite Version 0.1.0)裡面.

華文系統套件內容有

版權: GNU General Public License/GPL, Copyleft.
下載處: ftp://ftp.okstation.com/all4chinese/a4c.suite/a4c.suite-0.1.0.tgz ftp://ftp.okstation.com/all4chinese/a4c.suite/a4c.suite-0.1.0.star (Corona Star Package Format)
最後更新日期: 1999/1/1, 歡迎映射, 現有映射站請儘速更新.

All For Chinese Suite 0.1.0安裝說明

解開套件

下載完成後, 將a4c.suite-0.1.0.tgz解開

gzip -dc a4c.suite-0.1.0.tgz | tar -xv
在此建議您使用a4c.suite-0.1.0.tgz檔, 而不要用a4c.suite-0.1.0.star檔. star檔需要我所寫的另外一套安裝套件Corona, 目前沒有使用說明, 功能也煩雜不完整. 因此雖然是比較理想的安裝方式, 依然不建議您使用.

編譯及安裝

進入a4c.suite-0.1.0目錄

cd a4c.suite-0.1.0
如果您要內定的設定, 那麼輸入
make
便會編譯並安裝.

細部設定

在目錄中有個Makefile.config檔. 內容為

A4C.BIG5=y
#A4C.GB2312=y
A4C.IME=y
A4C.TTY=y
A4C.DICT=y

IOME的編譯設定

進入iome-0.1.0

cd iome-0.1.0
在目錄中, 有個Makefile.config, 其中INSTALL_xxx, 儘可能不要修改. 我不保證您修改過可以使用. INCLUDE_OME_xxx/INCLUDE_IME_xxx, 您可以選擇您所需要的輸入法/轉換法即可. 不需要的加上#號去除.

繁星視窗管理系統

如果您預計a4c.tty只在某些特定模式下執行, 可以只選擇特定的模式即可. 進入starwin-0.1.0

cd starwin-0.1.0
在目錄中, 有個Makefile.config, 其中有幾個選項: 接下來回到主目錄, 輸入
make
便會編譯並安裝. 如果您得到一大堆錯誤訊息, 那表示您一定是沒有svgalib或X Window. svgalib可在ftp://sunsite.unc.edu/pub/Linux/libs/graphics/svgalib-1.3.0.tar.gz取得. X Window您應該要在安裝系統時就安裝進去了, 如果還沒有, 應當進行補裝. 安裝完成後, 需要設定各套件, 請參考各套件的說明, a4c.tty在下面說明, a4c.ime另有網頁說明.

華文終端機版本0.1.0說明

簡介

a4c.tty是我對IOME提案的第二個支援的平台. 目前支援42種螢幕模式, 如果去除320x200的六種, 則為36種. 字型可支援16x16, 20x20, 24x24, 32x32...等等. 輸入法使用IME/OME, 目前23種輸入法, 2種轉換法. 介面使用繁星視窗管理函數庫, 介面是視窗化的.

螢幕模式支援及設定

目前支援的螢幕模式有以下: 在/etc/iome/tty.big5或/etc/iome/tty.gb2312中有一大排video.mode設定, 把您不想要的加上#號去除即可. 把您想要的模式排到第一順位, a4c.tty會根據順序偵測. 如果您的螢幕卡不在svgalib的支援內, 那就要辛苦一點用 640x480x16的模式了(很慢喔, :< ).

字型設定

字型設定有四項:

font.path /usr/fonts
font.chinese et24.hbf
font.english 12x24
english.fontsize (12,24)
這部份可能是最簡單卻也最難的. 因為您要先安裝中文字型檔. font.path指定字型目錄, 內定為/usr/fonts, 如果您已經安裝過yact或bcs16, 您可以用
ln -s /usr/local/lib/yact /usr/fonts
font.chinese是用HBF檔格式, 其檔案格式為文字檔. 實際需要倚天字型, ascfont.24/spcfont.24/spcfsupp.24/stdfont.24x或 ascfont.15/spcfont.15/spcfsupp.15/stdfont.15, 您可以購買倚天字型, 或是其它免費的字型. (在ftp://ftp.okstation.com/linux/chinese/et/裡面的字型, 您不能下載, 下載是違法的, 其次這裡頻寬太低, 也受不了讓您下載. 聽懂了嘛?)

取得字型後, 將之放到/usr/fonts裡面. 8x16, 12x24的英文字型可在ftp://ftp.okstation.com/linux/chinese/et目錄中取得. HBF檔也可在相同目錄中取得. HBF檔格式很簡單, 您可以打開來看一看, 自行修改(用猜的就可以猜對了).

記得12x24英文字型要配合24x24中文字型, 8x16要配合16x16, 否則顯示不正確我不負責.

滑鼠

如果您沒有滑鼠, 可在mouse.enable一項中, 換成disable.
mouse.enable disable
其次, svgalib需要設定, /etc/vga/libvga.config中有滑鼠的設定. 選用您的滑鼠種類, 如果滑鼠速度詭異, 關閉加速功能可能會好一點.

顏色 在tty.big5/tty.gb2312結尾有一些顏色的設定, 格式是(r,g,b), 可以玩看看, 調整自己喜歡的顏色.

如何在開機時就進入中文系統

a4c.tty可以在一開機就進入.
先找到/etc/inittab, 在inittab中有getty的一段
1:12345:respawn:/sbin/mingetty tty1(Red Hat)
2:2345:respawn:/sbin/agetty tty2(Slackware)
.
.
.
您可以加入
7:2345:respawn:/sbin/a4c.tty login
記得一定要加入login, 否則就會變成安全漏洞了喔. 下一次開機時, 您就會有中文系統, 加入適當的軟體, 可以使用中文做為使用者名稱及密碼.

如何將狐貍頭換成自己的頭

當您執行a4c.tty時, 會發現左下角那個我的頭. 那是選單按鈕. 您可以自行製作一個fox-logo.xpm檔(用gimp存成xpm格式), 大小約40x40. 將a4c.tty-0.1.0/fox-logo.xpm檔換掉, 重新編譯即可. 做一個讓您的朋友驚訝的中文系統.

使用說明

a4c.tty建議安裝在/sbin中, 因此要啟動, 輸入
a4c.tty
即可.

輸入法的使用, 因為與a4c.ime共用iome, 因此一樣. 可參考 a4c.ime, 設定均共用.

如果您沒有滑鼠, 那麼使用上稍微吃虧一點. 目前CTRL+ALT+BACKSPACE可以結束程式.

整個程式是視窗化的, 大概滑鼠點來點去就可以了. 許多功能都尚未完成, 不過事實上這些功能都是外加的, 因此與a4c.tty本身中文功能, 關係不算很大. 只是增加方便性及功能而已. 例如, CTRL+ALT+~應該是抓螢幕, 儲存成xpm檔, 不過, 還沒有完成. 右邊的那一條槓是Scroll Bar, 用來捲頁用, 也還沒有完成. 選單中的幾個功能, 像Add/Remove IME/OME, Module Loader, 都還沒有做.

目前, 因為History的功能尚未實作出來, 因此, 顯示時會有中文字被切掉的問題. 這個問題在History功能做出來之後, 便可解決.

可移植性問題

a4c.tty的設計上, 本身就要求要可以很容易移植到其它平台. 因此, 使用了Star Window Manager, 使圖形的操作都在starwin上, 要移植時, 僅須置換starwin底層驅動程式即可. 相關說明請見StarWin一部份.

另外, 按鍵是各平台均不同的, 因此, 要移植時, 需要稍加修改 keymap.h/keymap.c, 例如, FreeBSD應可修改keymap.c裡面幾行程式即可使用. (keymap.c的程式碼幾乎是個位數的, 大部份都是鍵盤對照表).


IOME

IOME是Input/Output MEthods的縮寫. 分成兩種, IME - 輸入法, OME - 轉換法. IME大家應該都很熟了, 目前有23種IME. OME的威力則大家還沒見識過. OME目前僅有兩個, 大五碼轉換法及國標碼轉換法, OME的功能不止於此. OME的設計可以讓"漢英字典法"可行, 可以讓"詞音輸入"配合所有的輸入法等等, 還可以轉換語言. OME可算是新創的中文輸入系統了. 我將在0.1.1釋放出"漢英字典法".

有關IOME的使用說明, 可看a4c.ime. 有關IOME提案可見 IOME. 這個版本, 將IOME的一些函數庫安裝在

/usr/include/a4c/iome.h
/usr/include/a4c/a4c.tk.h
/usr/lib/libiome.a
有興趣的可以看一看.

繁星視窗管理系統

Star Window Manager - StarWin, 目前是一套基於svgalib的視窗管理程式. 除了在a4c.tty中用到以外, 我還有好幾個程式用到它. 包含了Corona Packager(日冕 - 套件安裝軟體), Virgo Installer(處女座 - Star Linux安裝程式, Star Linux是我正在製作的Desktop Linux Distribution).

基本上, a4c.tty主要使用StarWin的功能, a4c.tty本身只是將StarWin/IOME/Keymap整合起來而已, 並且處理一些實際的人機介面. a4c.tty使用StarWin中的Term功能, 作為中文終端機. 因此, 如果終端機顯示有問題, 應當要找StarWin中的term.c, 而不是a4c.tty裡面的東西.

StarWin的設計是為了Desktop Linux熱熱身. 在Star Linux中會大量運用到. 畢竟, 不是所有程式都需要X Window才能工作. 目前來說, 如果您要使用StarWin來開發程式, 最好跟我連絡一下, 因為StarWin的功能還會大量增加. 最終目地是將svgalib取代掉, 提供一套較高品質的svga驅動程式.

因為StarWin尚在開發中, 因此還沒有開發文件. 您可以看看starwin.h, 整個函數庫安裝在

/usr/include/a4c/starwin.h
/usr/lib/libstarwin.a

StarWin目前支援bpp4, bpp8, bpp15, bpp16, bpp24, bpp32. 單色模式尚未支援. Message Queue尚未實作, 目前以土法練鋼式的寫法來完成.

目前已經將1024x768x256做i386的最佳化(均以組合語言寫). 使用組合語言的部份, 原有C語言程式碼, bpp8在starwin-0.1.0/bpp8_src內. bpp32在bpp32_src內. 每個組合語言程式都附有C語言程式碼在內, 以方便移殖到其它平台時的工作.

捲頁功能使用軟體捲頁(因為不是所有螢幕卡都支援硬體捲頁), 非16色者速度均可接受, 16色捲頁慢得難以忍受.

此外, bpp4的最佳化支援很重要, 因為svgalib不支援的螢幕卡, 至少還可以用 16色模式來執行, 可是我已經忘記16色驅動程式的正確寫法了. (只記得要切四頁,選bit, 其它都忘光了). 如果有人還記得這個古董怎麼寫, 麻煩把相關詳細資料寄一份給我, 或者您可以看bpp4.c來進行修改, 需要修改的函數只有四五個而已, 整個程式也很簡短, 沒有您想像的複雜. (這是我的程式風格, 強調簡單. 儘可能簡單, 儘可能不用複雜的技巧. 簡單的部份加起來, 就變成大型的軟體.)


That's all, folks. Enjoy!
Brian Lin, OK STATION, Webmaster, 狐仙, foxman@okstation.com

Q: foxman為什麼是"狐仙"?

A: 又是狐貍, 又是人, 非妖則仙, 狐貍精或狐仙 :P