Beruflich Dokumente
Kultur Dokumente
%
% This software is provided AS-IS with no warranty, either express or
% implied.
%
% This software is distributed under license and may not be copied,
% modified or distributed except as expressly authorized under the terms
% of the license contained in the file LICENSE in this distribution.
%
% For more information about licensing, please refer to
% http://www.ghostscript.com/licensing/. For information on
% commercial licensing, go to http://www.artifex.com/licensing/ or
% contact Artifex Software, Inc., 101 Lucas Valley Road #110,
% San Rafael, CA 94903, U.S.A., +1(415)492-9861.
/epsisetfont
{
% code here keeps a list of font names in dictionary epsifontdict
/tmpfont exch def
tmpfont /FontName known {
/tmpfontname tmpfont /FontName get def
epsifontdict tmpfontname known not { epsifontdict tmpfontname 0 put } if
epsifontdict tmpfontname 2 copy get 1 add put
} if
tmpfont setfont
} bind def
% Get a scan line from the memory device, zeroing any bits beyond
% the device width.
/getscanline { % <device> <y> <string> getscanline <string>
dup 4 1 roll copyscanlines pop
16#ff00 devwidth 7 and neg bitshift 255 and
dup 0 ne {
1 index dup length 1 sub 2 copy get 4 -1 roll and put
} {
pop
} ifelse
} bind def
% Define character and bit widths for the output line buffer:
/cwidth rm lm sub 1 add def
/out cwidth string def
gsave
tm 1 bm
{ % Get a scan line interval from the array device
arraydevice exch row copyscanlines lm cwidth getinterval
% Write out the hex data as 40 bytes per line (82 chars)
0 40 cwidth
{ epsifile (% ) writestring
epsifile exch 2 index exch
dup cwidth exch sub 40 .min getinterval writehexstring
epsifile (\n) writestring
} for
pop
} for
DonePage 0 1 put
} bind def
(outfile) getenv
{ /outfile exch def
ps2epsi
end
quit