Вертикальное выравнивание текста в Enscript

% sh -c 'exec strace -p $$'    
strace: I'm sorry, I can't let you do that, Dave.

:-)

1
07.05.2019, 09:32
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может дать немного другое определение, поэтому сначала сравните их.

0
28.01.2020, 00:12

Теги

Похожие вопросы