jabannerとかいうのを作ってみている。
要は日本語表示可能なbanner
で、bannerってなによ、というとこういうの↓
$ banner hoge # # ####### ##### ####### # # # # # # # # # # # # # ####### # # # #### ##### # # # # # # # # # # # # # # # # ####### ##### #######
引数の文字列をAAライクに文字列で表示するっていう。
ディストリによっては標準で入ってたりするコマンド。
Mandrivaは入ってなかった...。urpmi banenrでインストール可能。
こいつが日本語表示できたらおもしろいかも...とか思ってソース引っ張ってきたら.hファイルに文字の形そのままでchar[]が定義されてるっていうね...
さすがに単純拡張で日本語表示するのは無理と諦めて、一から作ってみている。
というか殆ど完成したというね。
一応、情報特別演習と言う授業で自分のテーマにしてやってたんだけど。(まだ終わってないけど。情報特別演習は。
まぁ、当然フォントデータに頼らんと日本語は文字種多すぎてやってられない訳ですが、一方フォントデータ直接なんぞいじってられないということで、libgd頼り。
つーことで必須:libgd
実行例はこんな感じ。
$ jabanner ほげ ## ## # ## # ## # ## # ############ # ## # ## ## ## ## ## ## ## ## ## ## ## ############ ## ## ## ############ ## ############ ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ######## ## # ## ## ### ## # ## ## #### ## ## ## ## ## ## ## ### # ## ### ## # #### ## ###### # ###
フォントはUmePlus
あと濃淡を検知してアンチエイリアスっぽくしたもの↓
$ jabanner -a ほげ ?:70 =:D7=# #7 ???????????? M? #0?M M7 =#? ###########D =#= #0 M:?? 7#: 7# 7#: #0 0# 7# 0# #0 DM 7# DM ############= MD ??????D#???= MD 7777777#D777: #0 ###########D MD #0 #0 7# #0 #0 #0 7# #0 #0 #0 7# #0 #7 #0 :=??=7# #0 :#7 MD 7####### MD :#? DD =#0: =D#D: DM ?#= 0M 7# 0#MM= DM D# 7#: 7#: DM:M#= 7#: 7#7 ?#= :#D=::7#7 :M7 ?#= =7M#0 :#7 ?M####0 :#? M#D= =: ===: ?: ::
あとのオプションは--helpで。
$ jabanner --help 使用法: jabanner [オプション]... 文字列... 文字列をバナーを表示します 長いオプションに必須の引数は短いオプションにも必須です. -a, --antialias アンチエイリアスする -c, --chars=STRING テキスト化に利用する文字列["#MND80Z7I?+=~:,. "] -d, --delay=NUMBER スクロールの遅延(マイクロ秒)[10000] -f, --font=FILE フォントファイル(.ttf)[/usr/share/fonts/TTF/japanese/umeplus-gothic.ttf] -h, --help このメッセージを表示する -m, --margin=NUMBERs 余白(上,右,下,左の順)[0,0,0,0] -r, --rotate=NUMBER 文字列の角度(度数法)[0] -s, --size=NUMBER フォントサイズ(ポイント)[16] -v, --version ヴァージョンを表示する -w, --width=NUMBER 表示幅(<0:自動調整,0:制限無し)[-1] -x, --x 右から左へスクロールする(use ncurses) -y, --y 上から下へスクロールする(use ncurses) -X, --X 左から右へスクロールする(use ncurses) -Y, --Y 下から上へスクロールする(use ncurses) -z, --z 手動スクロール(use ncurses)
と、まぁ、そんないらねコマンド作って自己満足してます。はい。
多少有用かな?とか思えるときはXに頼らずフォント叩けるので、日本語表示できない端末でも日本語を表示できる。
つまり完全CUIな時でも文字化けしたlsの結果が読めるという!!
...ごめ、そんだけ。
で、無駄に公開とかしてみたいと思う一方、はてなってファイルスペースないのね...。
なんだろ。base64とかにしてここに張り付ければいいのかな(w
1248行ぐらいあれば...(w