fishk 在 從Apple II, CDC到Android之(7) - 倚天中文系統,
ET3 在圖型界面時代還有什麼用處嗎?
現在多是用 TTF 字型,
可以利用GD或ImageMagick來把字寫到圖型檔裡。
而以前的倚天字型,
可以畫出 ASCII art,
也有人稱為文字畫,
在過去的BBS環境中是蠻好玩的,
這大概是ttf字型可能不大容易做到吧?!
一、點陣字型
首先要有倚天裡的點陣字型檔:
ascfont.15 spcfont.24 srctel.ttt stdfont.24b stdfont.24r usrfont.24b usrfont.24m
ascfont.24 spcfsupp.15 stdfont.15 stdfont.24k stdfont.24s usrfont.24k usrfont.24r
spcfont.15 spcfsupp.24 stdfont.24 stdfont.24l usrfont.15m usrfont.24l usrfont.24s
假設將字型檔放在:/usr/share/ETfonts 裡。
二、下載安裝程式
下載 cbanner1.10.tar.gz,並參考其 說明檔
tar zxvf cbanner1.10.tar.gz
cd cbanner
make
cp cbanner /usr/bin/
三、執行前設定:
$ cbanner
Error in open 24x24 file ! Error Code: 1
Please type 'cbanner -p' to install font file.
# 不知道字型檔在何處。
$ cbanner -p
Can not create configuration file /usr/local/etc/cbanner.cfg !
Can't not create configuration file correctly !
#第一次執行 -p 會把字型指定檔寫入該目錄
希望把設定檔放在 /etc 下,
在 Makefile 檔案中:
改這行
CFG= "/usr/local/etc/cbanner.cfg"
成這行:
CFG= "/etc/cbanner.cfg"
再重新編譯一次
第一次以root執行,才可把設定檔寫到 /etc 下,
可供一般權限使用得到:
# cbanner -p
- Chinese Font Installation -
> This installation need Eten Chinese Systen's fontfile <
- Please input your Font's PATH -
- Program will search files below in this PATH
- stdfont.15,ascfont.15,spcfont.15,spcfsupp.15
stdfont.24?,ascfont.24,spcfont.24,spcfsupp.24
==> Input Path (ex: /dosc/et3 ) -> /usr/share/ETfonts
- Saving Configuration.../etc/cbanner.cfg
四、調整執行的環境
目前作業系統環境常是UTF-8,
而倚天字型是BIG5,
所以需改一下環境變數:
export LANG=zh_TW.BIG5
並且你的終端機連線軟體,
其字元編碼也要改成 BIG5,
不然只是畫出亂碼來。
$ cbanner -s 鐵人賽
;;' ;;' ;,, ;,, ; ';, ,,
;; ;, ,,;;,;, ;; ';, ;; ;;''''';;'''';;''''';;'
,; ;; ;; ;; '' ;; ;; '''';;'''';;'''','
,;,,,;, ,,,;;,,,,;;,,,;, ;; '''';;'''';;'''' ,,
' ;; ,,,,,, ;; ,;', ''''''';;'''''';;'''''''
,,,;;,;, ;; ;; ;; ;,, ;; ;, ,;;,,,,,,,,;;,,
;; ;''''' ;; ;; ;;' ;, ,,';; ;;';;,,
;, ;; ;, ,,,;'' ;; ;; ,;' ;, '' ;;'''''''''';; '
;,;;,' ;; ';,; , ,;' ;;, ;;,,,,,,,,,,;;
' ;; '';;'' ;;, ; ,;' ';;, ;; ;;
,,,;;'' ;;,, ,;' ;,;, ,;' ';;;,, '';'''''''';;'
'' ';'' ,'' ';',,'' '; ,,,;''' '';;
若要以「楷體」:
$ cbanner -s 鐵人賽 -tk
,, ';; ,,
,, '; ;; ;,, ;,,,,,;;;'''';;,
;;, ; ;; ;;; ;;' ,;' ;;,,;;, ''
;; '; ,,;'';; , ,;; '' '';; ;;,,
,; ;;,,;;''''' ;; '';;';;,,,,
,;,,;'''' ,,, ;, ,,, ;;';, ,,,;;'''';;'''
;' ;;,, ;' ;; ;; ;;' ;; ;;, ,;;'''';;;,,
' '';; , '',,, ;,; ,;' ';;, ,,;';;''' ;; ';;;,,,
';,;;;' ';;,, ;;' ,;' ;;;,, '' ;;''' ;; '''
,,;;'' ';; , ,;;;, ,,;' ';;;;;,,, ';;''';'
';;'' ,;;''',;' ';,,; ,;' ';,,
其他參數可用 cbanner -h 來看,
而字型可以是 b,k,l,r,s
分別是黑體、楷體、隸書、圓體、行書。
現在 linux 上都是 UTF-8 的環境,比較方便用這個 script 在 UTF-8 的 terminal 的環境裡,轉換成 Big5 的字碼,就可以直接輸入一般環境的中文,而產生不同字型的 ascii:
#!/bin/bash
# cbanner.sh
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=zh_TW.BIG5
echo $1
for i in b k l r s
do
cbanner -s `piconv -f utf8 -t big5 -s $1` -t$i
done
然後 ./cbanner 邦幫忙 就可產生