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"
他に方法が見つからない場合は、生成された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
ボックスのy座標を上げるには、たとえばx y ... Box
によって、行height*0.2
を次のように変更する必要があります。
x y height .2 mul add blskip sub str stringwidth pop height Box
これを行うには、パイプのps2pdf
の前にsed
スクリプトを追加します。
enscript ... |
sed '/^\/bgs /,/^}/{
/x y blskip/s//x y height .2 mul add blskip/
}' |
ps2pdf ...
enscript
はわずかに異なる定義を生成する可能性があるため、最初にそれらを比較してください。