Enscriptの行内に垂直テキストソートオプションはありますか?
テキストスクリプト:
push (@parts_section_array, sprintf(border("#")."%4s".'~bggray{0.85}'." Part Number %9s Description %16s Qty. ". '~font{DejaVuSansMono-Bold10}' ."Unit Price Ext. Price %4s Cost".'~font{default}~bggray{1.0}'." ".border("|")."\n",
"", "", "", ""));
またはテキストは次のようになります。
~bggray{0.85} Part Number Description Qty. ~font{DejaVuSansMono-Bold10} Unit Price Ext. Price Cost ~font{default}~bggray{1.0}
書き込みコード:
enscript -q \
-f DejaVuSansMono@10 \
-e~ \
--no-header \
-s 4.3 \
--margins=10:2:14:10 \
-L 73 "${pi}" \
-o - \
| ps2pdf - "$BOOK_DIR"/"${filename}.pdf"
ベストアンサー1
他の方法が見つからない場合は、生成されたPostScriptをいつでも編集できます。私のバージョンでは、enscript
出力の先頭に背景を描画するために呼び出される関数の定義を入れます。bgs
/bgs { % x y height blskip gray str -> - show string with bg color
/str exch def
/gray exch def
/blskip exch def
/height exch def
/y exch def
/x exch def
gsave
x y blskip sub str stringwidth pop height Box
gray setgray
fill
grestore
x y M str s
} def
x y ... Box
ボックスのy座標を上げるには、その線を変更する必要がありますheight*0.2
。たとえば、次のようになります。
x y height .2 mul add blskip sub str stringwidth pop height Box
sed
パイプラインの前にスクリプトを追加してこれを行いますps2pdf
。
enscript ... |
sed '/^\/bgs /,/^}/{
/x y blskip/s//x y height .2 mul add blskip/
}' |
ps2pdf ...
enscript
わずかに異なる定義が生成される可能性があるため、まず比較してください。