iT邦幫忙

DAY 20
3

回應鐵人賽的文章變鐵人系列 第 20

[Reply] 利用倚天字型畫中文 ascii art (文字畫)

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
分別是黑體、楷體、隸書、圓體、行書。

系列文章


上一篇
[Reply] 15分鐘用ruby把android手機變成遠端間諜相機
下一篇
[Reply] 如何在vim裡用拼字檢查
系列文
回應鐵人賽的文章變鐵人30

尚未有邦友留言

立即登入留言