はてブロ@ama_ch

https://twitter.com/ama_ch

コマンドからファイル印刷のまとめ

nkf + e2psを使ってファイルを印刷する方法。
e2psはテキストファイルをPostScriptに変換するツールなんだけど、UTF-8に対応していないのでnkfもインストールした。


nkfMacPortsで。

% sudo port install nkf


e2psをWtSeries : UNIXツールからダウンロードして、解凍。

% cd e2ps-4.34

そのままMacでmakeするとエラーが出るので、ps-font.cの14〜52行の行末にバックスラッシュを追加する。
参考:Debian GNU/Linux から Mac OS X に移行したメモ
ps-font.c

char *gsFonts = "Times-Roman\
Times-Italic\
Times-Bold\
Times-BoldItalic\
--- 中略 ---
Ryumin-Light.Hiragana\
Ryumin-Light.Katakana\
Gothic-Meduim.Hiragana\
Gothic-Medium.Katakana\
";

これでmakeが通るようになる。

% cd e2ps-4.34
% make
% sudo make install


これでインストールは完了!あとはこんな風に使う。

% nkf -e foo.txt | e2ps -size 11 -box | lpr -P bar

このコマンドでフォントサイズ11,枠線ありの設定になる。
ubulog: Emacsから印刷するを参考にさせていただきました。


最後に、e2psのREADMEから使い方を抜粋。

○使い方
・e2ps [引数] [ファイル名・・・]
    ファイルを(複数)指定しても,標準入力でテキストデータを入力しても
    構いません.結果はPostScriptファイルとして出力されます.
・e2lpr は,直接プリンタへ出力します.
・e2ps -h で引数のヘルプが出ます.主に使用する引数を以下の通りです.

    -p			: ポートレイト (縦向き)
    -p2			: ポートレイト2面印刷 (デフォルト)
    -p4			: ポートレイト4面印刷		例: 1 2	
							    3 4
    -pv4		: ポートレイト4面縦順印刷	例: 1 3	
							    2 4
    -l			: ランドスケープ (横向き)
    -l2			: ランドスケープ2面印刷
    -l4			: ランドスケープ4面印刷
    -lv4		: ランドスケープ4面縦順印刷
    -box		: ページの枠を印刷
    -size fontsize	: フォントサイズ (10.0)
    -line line		: ページの最大行数 (66)
    -nh			: ヘッダをなくす
    -Pprinter		: プリンタ設定 (lp)
    -h | --help		: ヘルプを表示する
    -v | --version	: バージョンを表示する


○難しい引数の解説
・-af		(デフォルト: Courier)
・-abf		(デフォルト: Courier-Bold)
・-abif		(デフォルト: Courier-BoldOblique)
    PostScritpのアスキーフォント(太字,太字斜体)を指定します.
    -fl 引数で,フォントのリストが見られますが,すべて使えるわけでは
    ありません.指定できるフォントは,プリンタに依存します.
	例:
	-af Times-Roman		Times-Romanフォントで印刷されます

・-afw		(デフォルト: 0.6)
・-afh		(デフォルト: 1.0)
・-kfw		(デフォルト: 1.2)
・-kfh		(デフォルト: 1.0)
    印刷する文字の幅や高さの倍率を指定します.
    -afw, -afh がアスキーフォントの幅と高さで,
    -kfw, -kfh が漢字フォントの幅と高さです.
    -ahf,-kfh ともに,1.0以上の値は無視されます.
    Courierフォントは,高さに対してもともと 0.6倍の幅であるため,
    アスキーフォントのデフォルト値が 0.6 になっています.
    漢字フォントは,幅も高さも同じ大きさですが,通常の印刷では
    Courierフォントに合わせて 1.2倍の幅にして印刷しています.
    そのため,デフォルト値が 1.2 になっています.
    	例:
	-afw 0.3	アスキーフォントが通常の半分の幅で印刷されます
	-afw 1.2	アスキーフォントが通常の2倍の幅で印刷されます
	-afh 0.5	アスキーフォントが通常の半分の高さで印刷されます
	-afh 1.2	アスキーフォントは通常と同じ高さで印刷されます
	-kfw 1.0	漢字フォントが隙間なく密に印刷されます
	-kfw 0.5	漢字フォントが通常の半分の幅で印刷されます
	-kfw 2.0	漢字フォントが隙間が通常よりも広く印刷されます
	-kfh 0.5	漢字フォントが通常の半分の高さで印刷されます
	-kfh 1.2	漢字フォントは通常と同じ高さで印刷されます
・-ohp
    OHPに印刷するように,フォントを大きく(25.0)して,へッダを印刷
    しないようにします.

・-date
    ページ左上に印刷される日付の文字列を指定します.
    日本語も指定できます.

・-head
    ページ中央上に印刷されるファイル名の文字列を指定します.
    日本語も指定できます.

・-page
    ページ右上に印刷されるページの文字列を指定します.
    「指定した文字+ページ数」のように印刷されます.
    日本語も指定できます.