ConfigServer Security & Firewall - csf v$myv
EOF
}
my $templatehtml;
open (my $SCRIPTOUT, '>', \$templatehtml);
select $SCRIPTOUT;
ConfigServer::DisplayUI::main(\%FORM, $script, $script, $images, $myv);
close ($SCRIPTOUT);
select STDOUT;
$templatehtml =~ s/\?action\=/?iworxme=/g;
$templatehtml =~ s/\&action\=/&iworxme=/g;
$templatehtml =~ s/\{action\}/{iworxme}/g;
$templatehtml =~ s/\'action'/'iworxme'/g;
$templatehtml =~ s/\"action"/"iworxme"/g;
print $templatehtml;
unless ($FORM{action} eq "tailcmd" or $FORM{action} =~ /^cf/ or $FORM{action} eq "logtailcmd" or $FORM{action} eq "loggrepcmd") {
print <
\n";
print "\n";
print "\n";
}
1;
PK 9e[IGz3 3 reseller.plnu [ #!/usr/bin/perl
###############################################################################
# Copyright 2006-2023, Way to the Web Limited
# URL: http://www.configserver.com
# Email: sales@waytotheweb.com
###############################################################################
# start main
use strict;
use File::Find;
use Fcntl qw(:DEFAULT :flock);
use Sys::Hostname qw(hostname);
use IPC::Open3;
use lib '/usr/local/csf/lib';
use ConfigServer::DisplayUI;
use ConfigServer::DisplayResellerUI;
use ConfigServer::Config;
use ConfigServer::Slurp qw(slurp);
our ($reseller, %rprivs, $script, $images, $myv, %FORM, %in);
my $config = ConfigServer::Config->loadconfig();
my %config = $config->config;
my $slurpreg = ConfigServer::Slurp->slurpreg;
my $cleanreg = ConfigServer::Slurp->cleanreg;
foreach my $line (slurp("/etc/csf/csf.resellers")) {
$line =~ s/$cleanreg//g;
my ($user,$alert,$privs) = split(/\:/,$line);
$privs =~ s/\s//g;
foreach my $priv (split(/\,/,$privs)) {
$rprivs{$user}{$priv} = 1;
}
$rprivs{$user}{ALERT} = $alert;
}
#print "content-type: text/html\n\n";
#foreach my $key (keys %ENV) {
# print "ENV $key = [$ENV{$key}]
\n";
#}
$reseller = 0;
if ($ENV{REMOTE_USER} ne "" and $rprivs{$ENV{REMOTE_USER}}{USE}) {
$reseller = 1;
} else {
print "content-type: text/html\n\n";
print "You do not have access to this feature\n";
exit();
}
open (my $IN, "<", "/etc/csf/version.txt") or die $!;
$myv = <$IN>;
close ($IN);
chomp $myv;
$script = "/nodeworx/configservercsf";
$images = "/configserver/csf";
my $buffer = $ENV{'QUERY_STRING'};
if ($buffer eq "") {$buffer = $ENV{POST}}
my @pairs = split(/&/, $buffer);
foreach my $pair (@pairs) {
my ($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
$FORM{action} = $FORM{iworxme};
delete $FORM{iworxme};
print "content-type: text/html\n\n";
#foreach my $key (keys %ENV) {
# print "$key = [$ENV{$key}]
\n";
#}
my $bootstrapcss = "";
my $jqueryjs = "";
my $bootstrapjs = "";
unless ($FORM{action} eq "tailcmd" or $FORM{action} =~ /^cf/ or $FORM{action} eq "logtailcmd" or $FORM{action} eq "loggrepcmd") {
print <
ConfigServer Security & Firewall
$bootstrapcss
$jqueryjs
$bootstrapjs
\n";
print <
ConfigServer Security & Firewall - csf v$myv
EOF
}
my $templatehtml;
open (my $SCRIPTOUT, '>', \$templatehtml);
select $SCRIPTOUT;
ConfigServer::DisplayResellerUI::main(\%FORM, $script, 0, $images, $myv);
close ($SCRIPTOUT);
select STDOUT;
$templatehtml =~ s/\?action\=/?iworxme=/g;
$templatehtml =~ s/\&action\=/&iworxme=/g;
$templatehtml =~ s/\{action\}/{iworxme}/g;
$templatehtml =~ s/\'action'/'iworxme'/g;
$templatehtml =~ s/\"action"/"iworxme"/g;
print $templatehtml;
unless ($FORM{action} eq "tailcmd" or $FORM{action} =~ /^cf/ or $FORM{action} eq "logtailcmd" or $FORM{action} eq "loggrepcmd") {
print <
\n";
print "\n";
print "\n";
}
1;
PK [f[O^ ^ escp_24.srcnu [ name : ESC/P 24 pin
pins : 24
minimal_unit : 1
maximal_unit : 180
dpi : 180
upper_position : HIGH_BIT
bit_image_mode : \e 3 \x18 \e ?Z'
send_bit_image : \e Z \b2,d
line_feed : \r \n
form_feed : \r \f
normal_mode : \r \f \e 2
skip_spaces : \e \ \b2,d
PK [f[Յ/L gs_lgx_e.psnu [ % Copyright (C) 2001-2019 Artifex Software, Inc.
% All Rights Reserved.
%
% 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.
%
% Refer to licensing information at http://www.artifex.com or contact
% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Define the Adobe "extension" Latin glyph set.
% This is not an Encoding strictly speaking, but we treat it like one.
/currentglobal where
{ pop currentglobal { setglobal } true setglobal }
{ { } }
ifelse
/AdobeLatinExtensionGlyphEncoding mark
/Abreve /Amacron /Aogonek
/Cacute /Ccaron /Dcaron
/Dcroat /Delta
/Ecaron /Edotaccent /Emacron /Eogonek
/Gbreve /Gcommaaccent
/Idotaccent /Imacron /Iogonek
/Kcommaaccent
/Lacute /Lcaron /Lcommaaccent
/Nacute /Ncaron /Ncommaaccent
/Ohungarumlaut /Omacron
/Racute /Rcaron /Rcommaaccent
/Sacute /Scedilla /Scommaaccent
/Tcaron /Tcommaaccent
/Uhungarumlaut /Umacron /Uogonek /Uring
/Zacute /Zdotaccent
/abreve /amacron /aogonek
/cacute /ccaron /commaaccent
/dcaron /dcroat
/ecaron /edotaccent /emacron /eogonek
/gbreve /gcommaaccent /greaterequal
/imacron /iogonek
/kcommaaccent
/lacute /lcaron /lcommaaccent /lessequal /lozenge
/nacute /ncaron /ncommaaccent /notequal
/ohungarumlaut /omacron
/partialdiff
/racute /radical /rcaron /rcommaaccent
/sacute /scedilla /scommaaccent /summation
/tcaron /tcommaaccent
/uhungarumlaut /umacron /uogonek /uring
/zacute /zdotaccent
counttomark packedarray exch pop
9 1 index .registerencoding
.defineencoding
exec
PK [f[L7짾 gs_wl2_e.psnu [ % Copyright (C) 2001-2019 Artifex Software, Inc.
% All Rights Reserved.
%
% 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.
%
% Refer to licensing information at http://www.artifex.com or contact
% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Define the Windows 3.1 Latin 2 encoding vector (H-P Symbol set 9E).
/currentglobal where
{ pop currentglobal { setglobal } true setglobal }
{ { } }
ifelse
/Win32Latin2Encoding
ISOLatin1Encoding 0 39 getinterval aload pop
/quotesingle
ISOLatin1Encoding 40 5 getinterval aload pop
/hyphen
ISOLatin1Encoding 46 50 getinterval aload pop
/grave
ISOLatin1Encoding 97 30 getinterval aload pop
/graybox
% \20x
/.notdef /.notdef /quotesinglbase /.notdef
/quotedblbase /ellipsis /dagger /daggerdbl
/.notdef /perthousand /Scaron /guilsinglleft
/Sacute /Tcaron /Zcaron /Zacute
/.notdef /quoteleft /quoteright /quotedblleft
/quotedblright /bullet /endash /emdash
/.notdef /trademark /scaron /guilsinglright
/sacute /tcaron /zcaron /zacute
/.notdef /caron /breve /Lslash
/currency /Aogonek /brokenbar /section
/dieresis /copyright /Scedilla /guillemotleft
/logicalnot /softhyphen /registered /Zdotaccent
/degree /plusminus /ogonek /lslash
/acute /mu /paragraph /periodcentered
/cedilla /aogonek /scedilla /guillemotright
/Lcaron /hungarumlaut /lcaron /zdotaccent
% \30x
/Racute /Aacute /Acircumflex /Abreve
/Adieresis /Lacute /Cacute /Ccedilla
/Ccaron /Eacute /Eogonek /Edieresis
/Ecaron /Iacute /Icircumflex /Dcaron
/Dcroat /Nacute /Ncaron /Oacute
/Ocircumflex /Ohungarumlaut /Odieresis /multiply
/Rcaron /Uring /Uacute /Uhungarumlaut
/Udieresis /Yacute /Tcommaaccent /germandbls
/racute /aacute /acircumflex /abreve
/adieresis /lacute /cacute /ccedilla
/ccaron /eacute /eogonek /edieresis
/ecaron /iacute /icircumflex /dcaron
/dcroat /nacute /ncaron /oacute
/ocircumflex /ohungarumlaut /odieresis /divide
/rcaron /uring /uacute /uhungarumlaut
/udieresis /yacute /tcommaaccent /dotaccent
256 packedarray .defineencoding
exec
PK [f[U gs_s.xpmnu [ /* XPM */
static char * gs_s_xpm[] = {
/* width height ncolors cpp [x_hot y_hot] */
"24 24 6 1 0 0",
/* colors */
" s none m none c none",
". c #808080808080",
"X s iconColor1 m black c black",
"o c #C0C0C0C0C0C0",
"O s iconColor2 m white c white",
"+ c #00000000FFFF",
/* pixels */
" ",
" .. ",
" XoOo. ",
" X.OoX ",
" X.OoX. ",
" .XXXXXX.oOoXX ",
" ..XXXXXXXX.oOO.XX ",
" XXXXXXXX..oOOOo.XX ",
" XXXXXXX.OOOOOo.XXXX. ",
" XXXXXX.OOOOOOOXXXXXXX ",
" .XXXXX.OOOO+OOXXXXXXXX ",
" XXXXXXOOO+O+OOXXXXXXXX ",
" XXXXXXOOO+OOOOXXXXXXXX ",
" XXXXXXOOOOOOOOOXXXXXXX ",
" .XXXXXOOOOOOOOOO.XXXXX ",
" XXXXXXOOOOO++OOO.XXXX ",
" .XXXXX.OOOO++OOOoXXX ",
" XXXXXX.OOOOOOOOOXXX ",
" .XXXXXXoOOOOOOOoXX ",
" .XXXXXXoOOOOOo.X ",
" .XXXXXOOOOO.X ",
" .XXXXOOOOO.. ",
" XXXXXOOOOOOOO ",
" "};
PK [f[
gs_l_m.xbmnu [ #define gs_l_m.xbm_width 48
#define gs_l_m.xbm_height 48
#define gs_l_m.xbm_x_hot 0
#define gs_l_m.xbm_y_hot 0
static unsigned char gs_l_m.xbm_bits[] = {
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00,
0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00,
0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0xff, 0xff, 0x07, 0x00,
0x00, 0xe0, 0xff, 0xff, 0x07, 0x00, 0x00, 0xf8, 0xff, 0xff, 0x07, 0x00,
0x00, 0xfc, 0xff, 0xff, 0x0f, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x1f, 0x00,
0x00, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0xff, 0x3f, 0x00,
0x80, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x80, 0xff, 0xff, 0xff, 0x3f, 0x00,
0x80, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x80, 0xff, 0xff, 0xff, 0x3f, 0x00,
0x00, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xff, 0x1f, 0x00,
0x00, 0xfe, 0xff, 0xff, 0x1f, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x0f, 0x00,
0x00, 0xf8, 0xff, 0xff, 0x03, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x01, 0x00,
0x00, 0xf0, 0xff, 0x3f, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x07, 0x00, 0x00,
0x00, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x80, 0xff, 0xff, 0x1f, 0x00, 0x00,
0xc0, 0xff, 0xff, 0x7f, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x01, 0x00,
0xc0, 0xff, 0xff, 0xff, 0x03, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x0f, 0x00,
0x80, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x03,
0x00, 0xc0, 0xff, 0xff, 0xff, 0x03, 0x00, 0x80, 0xff, 0xff, 0xff, 0x03,
0xc0, 0xff, 0xff, 0xff, 0xff, 0x03, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x03,
0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x07,
0xf0, 0xff, 0xff, 0xff, 0xff, 0x03, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x01,
0xe0, 0xff, 0xff, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x7f, 0x00,
0x80, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x07, 0x00,
0x00, 0xe0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
PK [f[Rsv v
PM820p.uppnu [ -supModel="Epson Stylus Photo PM820, 720x720DpI, Plain Paper"
-sDEVICE=uniprint
-dNOPAUSE
-dSAFER
-dupColorModel=/DeviceCMYKgenerate
-dupRendering=/FSCMYK32
-dupOutputFormat=/EscP2
-r720x720
-dupMargins="{ 9.0 31.0 9.0 9.0}"
-dupBlackTransfer="{ 0.0000 0.0260 0.0587 0.1079 0.2109 0.3750 }"
-dupCyanTransfer="{ 0.0000 0.0254 0.0620 0.1070 0.2250 0.4125 }"
-dupMagentaTransfer="{ 0.0000 0.0233 0.0569 0.0981 0.2063 0.4125 }"
-dupYellowTransfer="{ 0.0000 0.0212 0.0516 0.0891 0.2250 0.4125 }"
-dupOutputComponentOrder="{ 1 2 3 0 }"
-dupWeaveYPasses=6
-dupOutputPins=48
-dupWeaveYFeeds="{47 47 47 53 47 47}"
-dupWeaveInitialYFeeds="{1 1 1 1 1 43}"
-dupWeaveInitialPins="{ 8 48 40 31 23 15}"
-dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)"
-dupBeginPageCommand="<
1b40 1b40
1b2847 0100 01
1b2855 0100 05
1b5501
1b2865 0200 0000
1b2843 0200 0000
1b2863 0400 0000 0000
>"
-dupAdjustPageLengthCommand
-dupAdjustTopMarginCommand
-dupAdjustBottomMarginCommand
-dupEndPageCommand="(\033@\014)"
-dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)"
PK [f[2if f traceimg.psnu [ % Copyright (C) 2001-2019 Artifex Software, Inc.
% All Rights Reserved.
%
% 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.
%
% Refer to licensing information at http://www.artifex.com or contact
% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% traceimg.ps
% Trace the data supplied to the 'image' operator.
% This code currently handles only the (Level 2) dictionary form of image,
% with a single data source and 8-bit pixels.
/traceimage % traceimage -
{ currentcolorspace == (setcolorspace\n) print
(<<) print
dup { (\t) print exch ==only ( ) print == } forall
(>>\n) print flush
begin /i_left Width Height mul store /i_dict currentdict store end
{ i_left 0 le { exit } if
i_dict /DataSource get exec
dup type /filetype eq
{ i_buf 0 i_left 32 .min getinterval readstring pop
} if
dup (%stdout) (w) file exch writehexstring (\n) print flush
i_left exch length sub /i_left exch def
} loop
} bind odef
/image /traceimage load def
/i_left 0 def
/i_dict null def
/i_buf 32 string def
PK [f[C6 bj8pa06n.uppnu [ -supModel="Canon BJC 8200, (600DpI)^2, plain paper, normal quality"
-sDEVICE=uniprint
-dNOPAUSE
-P- -dSAFER
-dupColorModel=/DeviceCMYKgenerate
-dupRendering=/FSCMYK32
-dupOutputFormat=/Canon
-r600x600
-dupMargins="{ 8.23 20.44 11.05 7.9 }"
-dupOutputComponentOrder="{ 3 2 1 0 }"
-dupBlackTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupCyanTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupMagentaTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupYellowTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupBeginPageCommand="<
1b5b 4b 0200 000f
1b28 62 0100 01
1b28 71 0100 01
1b28 64 0400 0258 0258
1b28 63 0300 3000 03
1b28 6c 0200 3400
>"
-dupEndJobCommand="(\033\050b\001\000\000\033@)"
-dupEndPageCommand="(\014)"
PK [f[
gs_l.xpmnu [ /* XPM */
static char * gs_l_xpm[] = {
/* width height ncolors cpp [x_hot y_hot] */
"48 48 4 1 0 0",
/* colors */
" s none m none c none",
". s iconColor1 m black c black",
"X s iconColor2 m white c white",
"o s iconColor5 m black c blue",
/* pixels */
" . ",
" .X.. ",
" .X.. ",
" .XX.. ",
" .....XX.. ",
" .............XXX... ",
" ...............XXXX... ",
" ..............XXXXXX.... ",
" ...........XXXXXXXXX...... ",
" ..........XXXXXXXXX......... ",
" .........XXXXXXXXXX.......... ",
" .........XXXXXoXXX............ ",
" .........XXXoXXooXX............ ",
" .........XXXooXooXXX........... ",
" .........XXXooXXoXXXX.......... ",
" .........XXXXoXXXXXXXX......... ",
" .........XXXXXXXXXXXXX........ ",
" .........XXXXXXooXXXXXX...... ",
" .........XXXXXoooXXXXX...... ",
" ..........XXXXooXXXXX..... ",
" ..........XXXooXXXX.... ",
" ........XXXXXXXX.... ",
" .........XXXXXX... ",
" ..........XXXXXXX ",
" ........XXXXXXXXXXXX ",
" ........XXXXXXXXXXXXXX ",
" ..........XXXXXXXXXXXXXXX ",
" ..................XXXXXXXXX ",
" ...........................X ",
" .............................. ",
" ................................ ",
" ................................. ",
" ................................. ",
" ................................ ",
" ............................ ",
" XXXXXXXXXXXXX.............. ",
" ........XXXXXXXXXXXXXXXXXX.......... ",
" .......XXXXXXXXXXXXXXXXXXXXX......... ",
" .......XXXXXXX......XXXXXXXXXX.......X ",
" .......XXXXXX...XXXXXXXXXXXX........XX. ",
" .......XXXXXX......XXXXXX..........XX. ",
" ........XXXXXX...................XXX. ",
" ........XXXXXXX..............XXXX.. ",
" ..........XXXXXXXXXXXXXXXXXXX.... ",
" .............XXXXXXX........... ",
" .......................... ",
" ................... ",
" "};
PK [f[{B sharp.uppnu [ -supModel="SHARP AJ1800, 600x600DpI, Gamma=2"
-sDEVICE=uniprint
-dNOPAUSE
-dSAFER
-dupColorModel=/DeviceCMYKgenerate
-dupRendering=/FSCMYK32
-dupOutputFormat=/Pcl
-r600x600
-dupMargins="{ 12.0 36.0 12.0 12.0}"
-dupBlackTransfer="{
0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510
0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341
0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505
0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000
}"
-dupCyanTransfer="{
0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510
0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341
0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505
0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000
}"
-dupMagentaTransfer="{
0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510
0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341
0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505
0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000
}"
-dupYellowTransfer="{
0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510
0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341
0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505
0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000
}"
-dupBeginJobCommand="<
1b451b451b451b451b451b451b451b451b451b451b451b451b451b451b451b45
>"
-dupBeginPageCommand="<
1b45
1b266c304c
1b2f743131323030333230303153
1b266c323641
1b266c304d
1b266c3148
1b2a70314e
1b2a703059
1b2a703058
1b2a723151
1b2f6432303253
1b2a7436303052
1b2a723141
1b2a62324d
>"
-dupAdjustPageWidthCommand
-dupEndPageCommand="(\033*rbC\12\033E)"
-dupEndJobCommand="(\033/s0C\033E)"
-dupAbortCommand="(\033*rbC\033E\15\12\12\12\12 Printout-Aborted\15\033&l0H)"
-dupYMoveCommand="(\033*b%dY\0)"
-dupWriteComponentCommands="{ (\033*b%dV\0) (\033*b%dV\0) (\033*b%dV\0) (\033*b%dW\0) }"
PK [f[S4 bjc610a7.uppnu [ -supModel="Canon BJC 610, 360x360DpI, high gloss film, color, rendered"
-sDEVICE=uniprint
-dNOPAUSE
-P- -dSAFER
-dupColorModel=/DeviceCMYK
-dupRendering=/ErrorDiffusion
-dupOutputFormat=/Canon
-r360x360
-dupMargins="{ 8.23 20.44 11.05 7.9 }"
-dupOutputComponentOrder="{ 3 2 1 0 }"
-dupBlackTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupCyanTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupMagentaTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupYellowTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupBeginPageCommand="<
1b5b4b 0200 000f
1b28 62 0100 01
1b28 63 0300 106110
1b28 64 0200 0168
1b28 6c 0200 1470
1b28 67 0100 E5
>"
-dupEndJobCommand="(\033\050b\001\000\000\033@)"
-dupEndPageCommand="(\014)"
PK [f[d d Stc670pl.uppnu [ -supModel="Epson Stylus Color 670, 360x360DpI, Plain Paper"
-sDEVICE=uniprint
-dNOPAUSE
-dSAFER
-dupColorModel=/DeviceCMYKgenerate
-dupRendering=/FSCMYK32
-dupOutputFormat=/EscP2
-r360x360
-dupMargins="{ 9.0 39.96 9.0 9.0}"
-dupBlackTransfer="{ 0.0000 0.0550 0.1250 0.2300 0.4500 0.8000 }"
-dupCyanTransfer="{ 0.0000 0.0540 0.1320 0.2280 0.4800 0.8800 }"
-dupMagentaTransfer="{ 0.0000 0.0495 0.1210 0.2090 0.4400 0.8800 }"
-dupYellowTransfer="{ 0.0000 0.0450 0.1100 0.1900 0.4800 0.8800 }"
-dupOutputComponentOrder="{ 1 2 3 0 }"
-dupWeaveYPasses=4
-dupOutputPins=32
-dupWeaveYFeeds="{33 30 35 30}"
-dupWeaveInitialYFeeds="{1 1 1 29}"
-dupWeaveInitialPins="{ 8 16 32 23}"
-dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)"
-dupBeginPageCommand="<
1b40 1b40
1b2847 0100 01
1b2855 0100 0A
1b5501
1b2865 0200 0000
1b2843 0200 0000
1b2863 0400 0000 0000
>"
-dupAdjustPageLengthCommand
-dupAdjustTopMarginCommand
-dupAdjustBottomMarginCommand
-dupEndPageCommand="(\033@\014)"
-dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)"
PK [f[< sipixa6.uppnu [ -supModel="SiPix A6 Pocket Printer"
-sDEVICE=uniprint
-dNOPAUSE
-dSAFER
-dupColorModel=/DeviceGray
-dupRendering=/ErrorDiffusion
-dupOutputFormat=/Epson
-r360x360
-dupMargins="{ 20 0 20 0}"
-dupWhiteTransfer="{
1.0 0.0
}"
-dupOutputPins=48
-dupWeaveYPasses=1
-dupFormatXabsolute
-dupBeginPageCommand="<
1b40 0d
>"
-dupEndPageCommand"<0d 0a>"
-dupEndJobCommand"<0a 0a 0a>"
-dupAbortCommand="(\033\100\15\12\12\12 Printout-Aborted\15\12\12\12)"
-dupSetLineFeedCommand="<1b2b>"
-dupWriteComponentCommands="{(\033*\111)}"
PK [f[ jispaper.psnu [ % Copyright (C) 2001-2019 Artifex Software, Inc.
% All Rights Reserved.
%
% 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.
%
% Refer to licensing information at http://www.artifex.com or contact
% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Select JIS B paper sizes for b0...b6.
userdict begin
/b0 /jisb0 load def
/b1 /jisb1 load def
/b2 /jisb2 load def
/b3 /jisb3 load def
/b4 /jisb4 load def
/b5 /jisb5 load def
/b6 /jisb6 load def
end
PK [f[, stc2s_h.uppnu [ -supModel="Epson Stylus Color IIs, 720x720DpI, Special Paper"
-sDEVICE=uniprint
-dNOPAUSE
-P- -dSAFER
-dupColorModel=/DeviceCMYK
-dupRendering=/ErrorDiffusion
-dupOutputFormat=/EscP2XY
-r720x720
-dupMargins="{ 9.0 39.96 9.0 9.0}"
-dupBlackTransfer="{
0.0000 0.0003 0.0027 0.0056 0.0085 0.0120 0.0156 0.0196
0.0227 0.0260 0.0292 0.0323 0.0354 0.0386 0.0416 0.0450
0.0503 0.0564 0.0630 0.0711 0.0799 0.0905 0.1038 0.1169
0.1321 0.1522 0.1761 0.2011 0.2285 0.2678 0.3102 0.3637
}"
-dupCyanTransfer="{
0.0000 0.0008 0.0055 0.0106 0.0152 0.0201 0.0248 0.0298
0.0344 0.0393 0.0443 0.0490 0.0536 0.0585 0.0630 0.0683
0.0738 0.0803 0.0870 0.0955 0.1042 0.1149 0.1283 0.1408
0.1552 0.1744 0.1970 0.2197 0.2441 0.2797 0.3169 0.3637
}"
-dupMagentaTransfer="{
0.0000 0.0008 0.0055 0.0106 0.0152 0.0201 0.0248 0.0298
0.0344 0.0393 0.0443 0.0490 0.0536 0.0585 0.0630 0.0683
0.0738 0.0803 0.0870 0.0955 0.1042 0.1149 0.1283 0.1408
0.1552 0.1744 0.1970 0.2197 0.2441 0.2797 0.3169 0.3637
}"
-dupYellowTransfer="{
0.0000 0.0008 0.0055 0.0106 0.0152 0.0201 0.0248 0.0298
0.0344 0.0393 0.0443 0.0490 0.0536 0.0585 0.0630 0.0683
0.0738 0.0803 0.0870 0.0955 0.1042 0.1149 0.1283 0.1408
0.1552 0.1744 0.1970 0.2197 0.2441 0.2797 0.3169 0.3637
}"
-dupFormatYabsolute
-dupWeaveYPasses=6
-dupWeaveXPasses=2
-dupOutputPins=20
-dupWeaveYFeeds="{10 10 10 10 10 11 10 10 10 10 10 9}"
-dupWeaveXStarts="{0 1 0 1 0 1 0 1 0 1 0 1}"
-dupWeaveInitialYFeeds="{ 1 1 1 1 1 1 1 1 1 1 1 1}"
-dupWeaveInitialXStarts="{0 1 0 1 0 1 1 0 1 0 1 0}"
-dupWeaveInitialPins="{ 2 17 5 20 8 13 6 11 9 14 2 17}"
-dupBeginPageCommand="<
00 00 00
1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a
40 45 4a 4c 20 20 20 20 20 0a
1b40 1b40
1b2847 0100 01
1b2869 0100 00
1b2855 0100 05
1b5500
1b2843 0200 0000
1b2863 0400 0000 0000
>"
-dupAdjustPageLengthCommand
-dupAdjustTopMarginCommand
-dupAdjustBottomMarginCommand
-dupEndPageCommand="(\033@\014)"
-dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)"
PK [f[4n
stc600p.uppnu [ -supModel="Epson Stylus Color 600, 720x720DpI, Plain Paper"
-sDEVICE=uniprint
-dNOPAUSE
-P- -dSAFER
-dupColorModel=/DeviceCMYK
-dupRendering=/ErrorDiffusion
-dupOutputFormat=/EscP2
-r720x720
-dupMargins="{ 9.0 39.96 9.0 9.0}"
-dupBlackTransfer="{ 0.0000 0.0329 0.0706 0.1160 0.2392 0.7955 }"
-dupCyanTransfer="{ 0.0000 0.0602 0.1133 0.1961 0.2945 0.3885 }"
-dupMagentaTransfer="{ 0.0000 0.0452 0.0836 0.1215 0.1493 0.1749 }"
-dupYellowTransfer="{ 0.0000 0.0350 0.0914 0.1567 0.2430 0.2934 }"
-dupOutputComponentOrder="{ 1 2 3 0 }"
-dupWeaveYPasses=8
-dupOutputPins=32
-dupWeaveYFeeds="{31 31 31 31 37 33 33 29}"
-dupWeaveInitialYFeeds="{1 1 1 1 1 1 1 25}"
-dupWeaveInitialPins="{ 4 24 28 32 19 15 11 7}"
-dupBeginPageCommand="<
00 00 00
1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a
40 45 4a 4c 20 20 20 20 20 0a
1b40 1b40
1b2847 0100 01
1b2855 0100 05
1b5501
1b2865 0200 0002
1b2843 0200 0000
1b2863 0400 0000 0000
>"
-dupAdjustPageLengthCommand
-dupAdjustTopMarginCommand
-dupAdjustBottomMarginCommand
-dupEndPageCommand="(\033@\014)"
-dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)"
PK [f[Y Y gs_t.xbmnu [ #define gs_t.xbm_width 16
#define gs_t.xbm_height 16
#define gs_t.xbm_x_hot 0
#define gs_t.xbm_y_hot 0
static unsigned char gs.t.bm_bits[] = {
0x00, 0x10, 0x00, 0x20, 0x00, 0x68, 0xf0, 0x67, 0xfc, 0x61, 0x7e, 0x70,
0x1f, 0xf9, 0x4f, 0xfd, 0x4f, 0xfc, 0x0f, 0xf8, 0x1f, 0xf3, 0x1e, 0xe3,
0x3e, 0x60, 0x7c, 0x30, 0x70, 0x0c, 0x1e, 0x00};
PK [f[uK/ gs_wl5_e.psnu [ % Copyright (C) 2001-2019 Artifex Software, Inc.
% All Rights Reserved.
%
% 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.
%
% Refer to licensing information at http://www.artifex.com or contact
% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Define the Windows 3.1 Latin 5 encoding vector (H-P Symbol set 5T).
/currentglobal where
{ pop currentglobal { setglobal } true setglobal }
{ { } }
ifelse
/Win32Latin5Encoding
ISOLatin1Encoding 0 39 getinterval aload pop
/quotesingle
ISOLatin1Encoding 40 5 getinterval aload pop
/hyphen
ISOLatin1Encoding 46 50 getinterval aload pop
/grave
ISOLatin1Encoding 97 30 getinterval aload pop
/graybox
% \20x
/.notdef /.notdef /quotesinglbase /florin
/quotedblbase /ellipsis /dagger /daggerdbl
/circumflex /perthousand /Scaron /guilsinglleft
/OE /.notdef /.notdef /.notdef
/.notdef /quoteleft /quoteright /quotedblleft
/quotedblright /bullet /endash /emdash
/tilde /trademark /scaron /guilsinglright
/oe /.notdef /.notdef /Ydieresis
/.notdef /exclamdown /cent /sterling
/currency /yen /brokenbar /section
/dieresis /copyright /ordfeminine /guillemotleft
/logicalnot /softhyphen /registered /overscore
/degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered
/cedilla /onesuperior /ordmasculine /guillemotright
/onequarter /onehalf /threequarters /questiondown
% \30x
/Agrave /Aacute /Acircumflex /Atilde
/Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis
/Igrave /Iacute /Icircumflex /Idieresis
/Gbreve /Ntilde /Ograve /Oacute
/Ocircumflex /Otilde /Odieresis /multiply
/Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Idotaccent /Scedilla /germandbls
/agrave /aacute /acircumflex /atilde
/adieresis /aring /ae /ccedilla
/egrave /eacute /ecircumflex /edieresis
/igrave /iacute /icircumflex /idieresis
/gbreve /ntilde /ograve /oacute
/ocircumflex /otilde /odieresis /divide
/oslash /ugrave /uacute /ucircumflex
/udieresis /dotlessi /scedilla /ydieresis
256 packedarray .defineencoding
exec
PK [f[|~ bjc610a6.uppnu [ -supModel="Canon BJC 610, 360x360DpI, glossy paper, color, rendered"
-sDEVICE=uniprint
-dNOPAUSE
-P- -dSAFER
-dupColorModel=/DeviceCMYK
-dupRendering=/ErrorDiffusion
-dupOutputFormat=/Canon
-r360x360
-dupMargins="{ 8.23 20.44 11.05 7.9 }"
-dupOutputComponentOrder="{ 3 2 1 0 }"
-dupBlackTransfer="{
0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073
0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366
0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391
0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000
}"
-dupCyanTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupMagentaTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupYellowTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupBeginPageCommand="<
1b5b4b 0200 000f
1b28 62 0100 01
1b28 63 0300 105110
1b28 64 0200 0168
1b28 6c 0200 1460
1b28 67 0100 E5
>"
-dupEndJobCommand="(\033\050b\001\000\000\033@)"
-dupEndPageCommand="(\014)"
PK [f[/̔L bjc610b7.uppnu [ -supModel="Canon BJC 610, 720x720DpI, high gloss paper, color, rendered"
-sDEVICE=uniprint
-dNOPAUSE
-P- -dSAFER
-dupColorModel=/DeviceCMYK
-dupRendering=/ErrorDiffusion
-dupOutputFormat=/Canon
-r720x720
-dupMargins="{ 8.23 20.44 11.05 7.9 }"
-dupOutputComponentOrder="{ 3 2 1 0 }"
-dupBlackTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupCyanTransfer="{
0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255
0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171
0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752
0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000
}"
-dupMagentaTransfer="{
0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255
0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171
0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752
0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000
}"
-dupYellowTransfer="{
0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255
0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171
0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752
0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000
}"
-dupBeginPageCommand="<
1b5b4b 0200 000f
1b28 62 0100 01
1b28 63 0300 106110
1b28 64 0200 02d0
1b28 6c 0200 1470
1b28 67 0100 E5
>"
-dupEndJobCommand="(\033\050b\001\000\000\033@)"
-dupEndPageCommand="(\014)"
PK [f[=1W 1W
mkcidfm.psnu [ % Copyright (C) 2001-2019 Artifex Software, Inc.
% All Rights Reserved.
%
% 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.
%
% Refer to licensing information at http://www.artifex.com or contact
% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Generate a cidfmap file for substituting CID fonts with TrueType
% fonts, based on fonts found in the directory FONTDIR.
%
% The directory FONTDIR is searched for fonts whose filename
% matches a Path in the cidsubs dictionary.
% Any matches are written out as a CID font substitution.
%
% For each fontname and alias in the fontaliases dictionary,
% write out each alias that matches a substituted font.
% Where multiple aliases are possible, use the first match.
%
% Note that the substitutions and aliases in this file were created
% by someone who doesn't understand Chinese, Japanese or Korean.
% The initial list contains only font files found in Windows XP.
% Please submit corrections and additions.
%
% See the end of file for references and further information.
%
% Font filenames must match case.
% All font filenames are currently lower case.
%
% Usage: gswin32c -q -dBATCH -sFONTDIR=c:/windows/fonts
% -sCIDFMAP=c:/gs/cidfmap mkcidfm.ps
systemdict /FONTDIR known not { /FONTDIR (c:/windows/fonts) def } if
systemdict /CIDFMAP known { CIDFMAP } { (%stdout) } ifelse
/cidfmap exch (w) file def
% Directory separator as used by filenameforall
/dirsep (/) def
% This dictionary contains a list of font substitutions.
% The first matching substitution in the array will be used.
/fontaliases
<<
% otf's /AdobeMingStd-Light /AdobeHeitiStd-Regular /AdobeSongStd-Light
% /KozMinPr6N-Regular /AdobeMyungjoStd-Medium came with Acroread 9 unix CJK pack.
% ArialUnicode and a common font are used as a last-resort catch-all
% in most cases.
% Traditional Chinese
% Mingliu and Kaiu are known to use patented TT instructions
/MSung-Light [ /MingLiU /ArialUnicodeMS-CNS ]
/MSung-Medium [ /MingLiU /ArialUnicodeMS-CNS ]
/MHei-Medium [ /MicrosoftJhengHeiRegular /ArialUnicodeMS-CNS /MingLiU ]
/MKai-Medium [ /DFKaiShu-SB-Estd-BF /Arial-Unicode-MS /MingLiU /ArialUnicodeMS-CNS ]
/AdobeMingStd-Light [ /MingLiU /ArialUnicodeMS-CNS ]
% Simplified Chinese
/STSong-Light [ /SimSun /SimSun-18030 /ArialUnicodeMS-GB ]
/STFangsong-Light [ /FangSong /SimSun /ArialUnicodeMS-GB ]
/STHeiti-Regular [ /MicrosoftYaHei /SimHei /ArialUnicodeMS-GB ]
/STKaiti-Regular [ /KaiTi /SimHei /ArialUnicodeMS-GB ]
/AdobeHeitiStd-Regular [ /MicrosoftYaHei /SimHei /ArialUnicodeMS-GB ]
/AdobeSongStd-Light [ /SimSun /ArialUnicodeMS-GB ]
% Japanese
/Ryumin-Light [ /MS-Mincho04 /MS-Mincho /ArialUnicodeMS-JP ]
/Ryumin-Medium [ /MS-Mincho04 /MS-Mincho /ArialUnicodeMS-JP ]
/GothicBBB-Medium [ /MS-Gothic04 /MS-Gothic /Meiryo /ArialUnicodeMS-JP ]
/HeiseiMin-W3 [ /MS-Mincho04 /MS-Mincho /ArialUnicodeMS-JP ]
/HeiseiKakuGo-W5 [ /MS-Gothic04 /MS-Gothic /Meiryo /ArialUnicodeMS-JP ]
/KozMinPr6N-Regular [ /MS-Mincho04 /MS-Mincho /ArialUnicodeMS-JP ]
% Korean
% Malgun seems to have a full set of Hangu but not much of Kanji glyphs
% "Gulim Old Hangul Jamo" has Hangu but no Kanji, and PMmy has Kanji but
% no Hangu. Neither are useful for Korean users.
/HYSMyeongJo-Medium [ /Batang /NewBatang /GulimChe /ArialUnicodeMS-KR /MalgunGothicRegular ]
/HYRGoThic-Medium [ /Gulim /NewGulim /GulimChe /ArialUnicodeMS-KR /MalgunGothicRegular ]
/HYGoThic-Medium [ /Dotum /NewGulim /GulimChe /ArialUnicodeMS-KR /MalgunGothicRegular ]
/AdobeMyungjoStd-Medium [ /Batang /NewBatang /GulimChe /ArialUnicodeMS-KR /MalgunGothicRegular ]
>>
def
% This dictionary contains a list of CID substitutions
% Many ttc's have an older ttf version - be sure to put the ttf entries later.
/cidsubs
<<
% Simplified Chinese
/SimHei
<<
/FileType /TrueType
/Path (simhei.ttf)
/SubfontID 0
/CSI [(GB1) 2]
>>
/SimSun
<<
/FileType /TrueType
/Path (simsun.ttc)
/SubfontID 0
/CSI [(GB1) 2]
>>
/NSimSun
<<
/FileType /TrueType
/Path (simsun.ttc)
/SubfontID 1
/CSI [(GB1) 2]
>>
/SimSun-oldttf
<<
/FileType /TrueType
/Path (simsun.ttf)
/SubfontID 0
/CSI [(GB1) 2]
>>
/KaiTi
<<
/FileType /TrueType
/Path (simkai.ttf)
/SubfontID 0
/CSI [(GB1) 2]
>>
/LiSu
<<
/FileType /TrueType
/Path (simli.ttf)
/SubfontID 0
/CSI [(GB1) 2]
>>
/SimSun-18030
<<
/FileType /TrueType
/Path (simsun18030.ttc)
/SubfontID 0
/CSI [(GB1) 2]
>>
/NSimSun-18030
<<
/FileType /TrueType
/Path (simsun18030.ttc)
/SubfontID 1
/CSI [(GB1) 2]
>>
/YouYuan
<<
/FileType /TrueType
/Path (simyou.ttf)
/SubfontID 0
/CSI [(GB1) 2]
>>
/FangSong
<<
/FileType /TrueType
/Path (simfang.ttf)
/SubfontID 0
/CSI [(GB1) 2]
>>
/MicrosoftYaHei
<<
/FileType /TrueType
/Path (msyh.ttf)
/SubfontID 0
/CSI [(GB1) 2]
>>
/MicrosoftYaHeiBold
<<
/FileType /TrueType
/Path (msyhbd.ttf)
/SubfontID 0
/CSI [(GB1) 2]
>>
/MS-Song
<<
/FileType /TrueType
/Path (mssong.ttf)
/SubfontID 0
/CSI [(GB1) 2]
>>
/MS-Hei
<<
/FileType /TrueType
/Path (mshei.ttf)
/SubfontID 0
/CSI [(GB1) 2]
>>
/ArialUnicodeMS-GB
<<
/FileType /TrueType
/Path (arialuni.ttf)
/SubfontID 0
/CSI [(GB1) 2]
>>
% Traditional Chinese
/MingLiU
<<
/FileType /TrueType
/Path (mingliu.ttc)
/SubfontID 0
/CSI [(CNS1) 2]
>>
/PMingLiU
<<
/FileType /TrueType
/Path (mingliu.ttc)
/SubfontID 1
/CSI [(CNS1) 2]
>>
% It probably should be ttf (ttc a typo), but we'll keep this entry just in case.
/Arial-Unicode-MS
<<
/FileType /TrueType
/Path (arialuni.ttc)
/SubfontID 0
/CSI [(CNS1) 2]
>>
/MicrosoftJhengHeiRegular
<<
/FileType /TrueType
/Path (msjh.ttf)
/SubfontID 0
/CSI [(CNS1) 2]
>>
/MicrosoftJhengHeiBold
<<
/FileType /TrueType
/Path (msjhbd.ttf)
/SubfontID 0
/CSI [(CNS1) 2]
>>
/MingLiU-oldttf
<<
/FileType /TrueType
/Path (mingliu.ttf)
/SubfontID 0
/CSI [(CNS1) 2]
>>
/DFKaiShu-SB-Estd-BF
<<
/FileType /TrueType
/Path (kaiu.ttf)
/SubfontID 0
/CSI [(CNS1) 2]
>>
/ArialUnicodeMS-CNS
<<
/FileType /TrueType
/Path (arialuni.ttf)
/SubfontID 0
/CSI [(CNS1) 2]
>>
% Japanese
/MS-Gothic
<<
/FileType /TrueType
/Path (msgothic.ttc)
/SubfontID 0
/CSI [(Japan1) 3]
>>
/MS-PGothic
<<
/FileType /TrueType
/Path (msgothic.ttc)
/SubfontID 1
/CSI [(Japan1) 3]
>>
/MS-UI-Gothic
<<
/FileType /TrueType
/Path (msgothic.ttc)
/SubfontID 2
/CSI [(Japan1) 3]
>>
/MS-Mincho
<<
/FileType /TrueType
/Path (msmincho.ttc)
/SubfontID 0
/CSI [(Japan1) 3]
>>
/MS-PMincho
<<
/FileType /TrueType
/Path (msmincho.ttc)
/SubfontID 1
/CSI [(Japan1) 3]
>>
% An XP update ships the Vista (JIS2004) version of msgothic.ttc/msmincho.ttc renamed
/MS-Gothic04
<<
/FileType /TrueType
/Path (msgoth04.ttc)
/SubfontID 0
/CSI [(Japan1) 3]
>>
/MS-PGothic04
<<
/FileType /TrueType
/Path (msgoth04.ttc)
/SubfontID 1
/CSI [(Japan1) 3]
>>
/MS-UI-Gothic04
<<
/FileType /TrueType
/Path (msgoth04.ttc)
/SubfontID 2
/CSI [(Japan1) 3]
>>
/MS-Mincho04
<<
/FileType /TrueType
/Path (msmin04.ttc)
/SubfontID 0
/CSI [(Japan1) 3]
>>
/MS-PMincho04
<<
/FileType /TrueType
/Path (msmin04.ttc)
/SubfontID 1
/CSI [(Japan1) 3]
>>
/MS-Mincho-oldttf
<<
/FileType /TrueType
/Path (msmincho.ttf)
/SubfontID 0
/CSI [(Japan1) 3]
>>
/MS-Gothic-oldttf
<<
/FileType /TrueType
/Path (msgothic.ttf)
/SubfontID 0
/CSI [(Japan1) 3]
>>
% Newer meiryo.ttc and meiryob.ttc have subfont 2,3. Leave those out for the time being
/Meiryo
<<
/FileType /TrueType
/Path (meiryo.ttc)
/SubfontID 0
/CSI [(Japan1) 3]
>>
/Meiryo-Italic
<<
/FileType /TrueType
/Path (meiryo.ttc)
/SubfontID 1
/CSI [(Japan1) 3]
>>
/Meiryo-Bold
<<
/FileType /TrueType
/Path (meiryob.ttc)
/SubfontID 0
/CSI [(Japan1) 3]
>>
/Meiryo-BoldItalic
<<
/FileType /TrueType
/Path (meiryob.ttc)
/SubfontID 1
/CSI [(Japan1) 3]
>>
/ArialUnicodeMS-JP
<<
/FileType /TrueType
/Path (arialuni.ttf)
/SubfontID 0
/CSI [(Japan1) 3]
>>
% Korean
/Batang
<<
/FileType /TrueType
/Path (batang.ttc)
/SubfontID 0
/CSI [(Korea1) 3]
>>
/BatangChe
<<
/FileType /TrueType
/Path (batang.ttc)
/SubfontID 1
/CSI [(Korea1) 3]
>>
/Gungsuh
<<
/FileType /TrueType
/Path (batang.ttc)
/SubfontID 2
/CSI [(Korea1) 3]
>>
/GungsuhChe
<<
/FileType /TrueType
/Path (batang.ttc)
/SubfontID 3
/CSI [(Korea1) 3]
>>
/Gulim
<<
/FileType /TrueType
/Path (gulim.ttc)
/SubfontID 0
/CSI [(Korea1) 3]
>>
/GulimChe
<<
/FileType /TrueType
/Path (gulim.ttc)
/SubfontID 1
/CSI [(Korea1) 3]
>>
/Dotum
<<
/FileType /TrueType
/Path (gulim.ttc)
/SubfontID 2
/CSI [(Korea1) 3]
>>
/DotumChe
<<
/FileType /TrueType
/Path (gulim.ttc)
/SubfontID 3
/CSI [(Korea1) 3]
>>
/MalgunGothicRegular
<<
/FileType /TrueType
/Path (malgun.ttf)
/SubfontID 0
/CSI [(Korea1) 3]
>>
/MalgunGothicBold
<<
/FileType /TrueType
/Path (malgunbd.ttf)
/SubfontID 0
/CSI [(Korea1) 3]
>>
/NewBatang
<<
/FileType /TrueType
/Path (nbatang.ttf)
/SubfontID 0
/CSI [(Korea1) 3]
>>
/NewGulim
<<
/FileType /TrueType
/Path (ngulim.ttf)
/SubfontID 0
/CSI [(Korea1) 3]
>>
/GulimChe-oldttf
<<
/FileType /TrueType
/Path (gulimche.ttf)
/SubfontID 0
/CSI [(Korea1) 3]
>>
/ArialUnicodeMS-KR
<<
/FileType /TrueType
/Path (arialuni.ttf)
/SubfontID 0
/CSI [(Korea1) 3]
>>
>>
def
% A dictionary for storing the names and paths of found fonts
/foundfonts 50 dict def
% Get the basename of a path
% For example, (c:/windows/fonts/msmincho.ps) --> (msmincho.ps)
/basename { % path -- subpath
{ dirsep search
{pop pop}
{exit}
ifelse
} loop
} def
% Convert string (font file name) to lowercase, take care not to touch
% non-upper case letters. There are a few similiar routines elsewhere
% for reference:
% /.ToLower in lib/pdf2dsc.ps
% /toupper in lib/printafm.ps
% /.lowerstring in Resource/Init/gs_fonts.ps
/lowercase {
dup length 1 sub -1 0 {
1 index exch 2 copy
get
dup dup 65 ge exch 90 le and {
2#00100000 or
} if
put
} for
} def
% Check if a font basename matches one of the possible cid substitutions.
% If it does, add the font and full path to the foundfonts dictionary
/checkfont {
dup basename
lowercase
cidsubs
{
/Path get
2 index eq % Match case only
{
foundfonts exch
3 index dup length string copy put
}
{
pop
}
ifelse
}
forall
pop pop
} def
% Add all matching fonts to foundfonts dictionary
/findfonts { % path --
dup length 2 add string dup 3 1 roll copy pop
dup dup length 2 sub dirsep 0 get put
dup dup length 1 sub (*) 0 get put
/checkfont load 256 string filenameforall
} def
% Write out a cid substition, using the full font path
% name is the font name, e.g. /MS-Mincho
% path is the full path to the font file, e.g. (c:\windows\fonts\msmincho.ttc)
% subs is the dictionary for CID font substition, from cidsubs
/emitsubs { % name path subs --
3 -1 roll cidfmap exch write==only % name
cidfmap ( << ) writestring
% path subs
{
1 index /Path eq {pop 1 index} if % use full path, not basename
exch cidfmap exch write==only cidfmap ( ) writestring
cidfmap exch write==only cidfmap ( ) writestring
} forall
cidfmap (>> ;\n) writestring
pop
} def
% Write out all known cid substitutions.
/writesubs { % ---
cidfmap (% Substitutions\n) writestring
foundfonts
{
1 index cidsubs exch known
{
1 index cidsubs exch get % name path subs
emitsubs
}
{
pop pop
}
ifelse
}
forall
} def
% Write out aliases for which the cid substituted font exists.
/writealiases { % --
cidfmap (\n% Aliases\n) writestring
fontaliases
{
% name aliasarray
{
% name alias
foundfonts 1 index known
{
1 index cidfmap exch write==only cidfmap ( ) writestring
cidfmap exch write==only cidfmap ( ;\n) writestring
exit % after first match
}
{
pop % didn't find this name
}
ifelse
} forall
% name
pop
}
forall
} def
% Write out a new cidfmap file to stdout
/writecidfmap { % path --
cidfmap (%!\n% cidfmap generated automatically by mkcidfm.ps from fonts found in\n) writestring
cidfmap (% ) writestring
dup cidfmap exch writestring cidfmap (\n\n) writestring
findfonts
writesubs
writealiases
} def
FONTDIR writecidfmap
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% For what fonts ship with which microsoft product, see:
% http://www.microsoft.com/typography/Fonts/product.aspx
%
% A reasonably clean Vista box comes with:
% ARIALUNI.TTF meiryob.ttc msjh.ttf simhei.ttf
% batang.ttc meiryo.ttc msmincho.ttc simkai.ttf
% gulim.ttc mingliub.ttc MSMINCHO.TTF simsunb.ttf
% kaiu.ttf mingliu.ttc msyhbd.ttf simsun.ttc
% malgunbd.ttf msgothic.ttc msyh.ttf
% malgun.ttf msjhbd.ttf simfang.ttf
%
% Here is a non-exhaustive list of CJK fonts found on various MS systems for reference:
% File Size Version Glyphs Charmaps Postscript Name Codepage
% ======================================================================================================================
% arialuni.ttf 24172892 0.86 51180 (1,0)(3,1) ArialUnicodeMS
% arialuni.ttf 23275812 1.01 50377 (3,1) ArialUnicodeMS 932,936,949,950
% batang.ttc 16258580 2.21 39680 (3,1) Batang/BatangChe/Gungsuh/GungsuhChe
% batang.ttc 16265128 2.21 39680 (3,1) Batang/BatangChe/Gungsuh/GungsuhChe
% batang.ttc 16264732 5.00 39680 (3,1) Batang/BatangChe/Gungsuh/GungsuhChe 949
% gulimche.ttf 5512432 1.00 20792 (3,1) GulimChe
% gulim.ttc 13518660 2.21 40194 (3,1) Gulim/GulimChe/Dotum/DotumChe
% gulim.ttc 13525204 2.21 40194 (3,1) Gulim/GulimChe/Dotum/DotumChe
% gulim.ttc 13524720 5.00 40194 (3,1) Gulim/GulimChe/Dotum/DotumChe 949
% kaiu.ttf 4282984 2.00 18193 (1,0)(3,1) DFKaiShu-SB-Estd-BF
% kaiu.ttf 4279576 2.10 18193 (1,0)(3,1) DFKaiShu-SB-Estd-BF
% kaiu.ttf 5172084 3.00 22134 (1,0)(3,1) DFKaiShu-SB-Estd-BF
% kaiu.ttf 5178844 5.00 22134 (1,0)(3,1) DFKaiShu-SB-Estd-BF 950
% malgun.ttf 4337480 0.85 12747 (0,3)(3,1) MalgunGothicRegular
% malgun.ttf 4337080 1.00 12747 (0,3)(3,1) MalgunGothicRegular
% malgun.ttf 4337104 5.00 12747 (0,3)(3,1) MalgunGothicRegular
% malgun.ttf 4337296 6.11 12747 (0,3)(3,1) MalgunGothicRegular 949
% malgunbd.ttf 4514980 0.85 12740 (0,3)(3,1) MalgunGothicBold
% malgunbd.ttf 4513504 1.00 12740 (0,3)(3,1) MalgunGothicBold
% malgunbd.ttf 4513520 5.00 12740 (0,3)(3,1) MalgunGothicBold
% malgunbd.ttf 4515044 6.00 12740 (0,3)(3,1) MalgunGothicBold
% meiryo.ttc 7682568 0.97 20682 (0,3)(3,1)(3,10) Meiryo/Meiryo-Italic 932
% meiryo.ttc 7815292 5.00 20684 (0,3)(3,1)(3,10) Meiryo/Meiryo-Italic
% meiryo.ttc 9533888 6.02 23942 (0,3)(3,1)(3,10) Meiryo/Meiryo-Italic/MeiryoUI/MeiryoUI-Italic
% meiryob.ttc 7924644 0.97 20682 (0,3)(3,1)(3,10) Meiryo-Bold/Meiryo-BoldItalic
% meiryob.ttc 8054096 5.00 20684 (0,3)(3,1)(3,10) Meiryo-Bold/Meiryo-BoldItalic
% meiryob.ttc 9749256 6.02 23942 (0,3)(3,1)(3,10) Meiryo-Bold/Meiryo-BoldItalic/MeiryoUI-Bold/MeiryoUI-BoldItalic
% mingliu.ttf 6272080 2.00 18362 (1,0)(3,1) MingLiU
% mingliu.ttc 8823308 3.21 22753 (1,0)(3,1) MingLiU/PMingLiU
% mingliu.ttc 8829856 3.21 22753 (1,0)(3,1) MingLiU/PMingLiU
% mingliu.ttc 27496184 6.02 33987 (3,1) MingLiU/PMingLiU/Ming-Lt-HKSCS-UNI-H
% mingliu.ttc 32217124 7.00 34046 (3,1) MingLiU/PMingLiU/Ming-Lt-HKSCS-UNI-H 950
% mingliub.ttc 33791880 5.00 44857 (3,1)(3,10) MingLiU-ExtB/PMingLiU-ExtB/Ming-Lt-HKSCS-ExtB
% mingliub.ttc 33805700 7.00 44875 (3,1)(3,10) MingLiU-ExtB/PMingLiU-ExtB/Ming-Lt-HKSCS-ExtB
% msgothic.ttf 4170144 2.00 13104 (1,0)(3,1) MS-Gothic
% msgothic.ttc 8272028 2.30 20458 (1,0)(3,1) MS-Gothic/MS-PGothic/MS-UIGothic
% msgothic.ttc 8278584 2.30 20458 (1,0)(3,1) MS-Gothic/MS-PGothic/MS-UIGothic
% msgothic.ttc 9165480 5.00 22213 (3,1)(3,10) MS-Gothic/MS-PGothic/MS-UIGothic
% msgothic.ttc 9176636 5.01 22213 (3,1)(3,10) MS-Gothic/MS-PGothic/MS-UIGothic 932
% mshei.ttf 1902464 1.00 26272 (1,0)(3,1) MS Hei
% mshei.ttf 1902556 1.00 26272 (1,0)(3,1) MS Hei
% msjh.ttf 14698792 0.71 28969 (0,3)(3,1) MicrosoftJhengHeiRegular 950
% msjh.ttf 14713712 0.75 28969 (0,3)(3,1) MicrosoftJhengHeiRegular
% msjh.ttf 14713760 5.00 28969 (0,3)(3,1) MicrosoftJhengHeiRegular
% msjh.ttf 21663376 6.02 29220 (0,3)(3,1) MicrosoftJhengHeiRegular
% msjhbd.ttf 14498048 0.71 28961 (0,3)(3.1) MicrosoftJhengHeiBold
% msjhbd.ttf 14509708 0.75 28961 (0,3)(3.1) MicrosoftJhengHeiBold
% msjhbd.ttf 14509756 5.00 28961 (0,3)(3.1) MicrosoftJhengHeiBold
% msmincho.ttf 5151192 2.00 13104 (1,0)(3,1) MS-Mincho
% msmincho.ttc 9136456 2.30 17807 (1,0)(3,1) MS-Mincho/MS-PMincho
% msmincho.ttc 9135960 2.31 17807 (1,0)(3,1) MS-Mincho/MS-PMincho
% msmincho.ttc 9142516 2.31 17807 (1,0)(3,1) MS-Mincho/MS-PMincho
% msmincho.ttc 10056872 5.00 19321 (3,1)(3,10) MS-Mincho/MS-PMincho
% msmincho.ttc 10057108 5.01 19321 (3,1)(3,10) MS-Mincho/MS-PMincho 932
% mssong.ttf 2569040 1.00 26304 (1,0)(3,1) MS Song
% mssong.ttf 2569116 1.00 26304 (1,0)(3,1) MS Song
% msyh.ttf 12263452 6.01 22562 (0,3)(3,1)(3,10) MSYH
% msyh.ttf 15067744 0.71 29207 (0,3)(3,1)(3,10) MicrosoftYaHei
% msyh.ttf 15043584 0.75 29126 (0,3)(3,1)(3,10) MicrosoftYaHei
% msyh.ttf 15044440 5.00 29126 (0,3)(3,1)(3,10) MicrosoftYaHei
% msyh.ttf 21767952 6.02 29354 (0,3)(3,1) MicrosoftYaHei 936
% msyhbd.ttf 14707012 0.71 29240 (0,3)(3,1)(3,10) MicrosoftYaHei
% msyhbd.ttf 14685876 5.00 29126 (0,3)(3,1)(3,10) MicrosoftYaHei
% nbatang.ttf 32472240 3.00 49636 (3,1) New Batang
% ngulim.ttf 8862844 2.00 23181 (3,1) New Gulim
% ngulim.ttf 25719724 3.10 49284 (3,1) New Gulim
% ogulim.ttf 830340 1.00 2921 (3,1) Gulim Old Hangul Jamo
% palmm.ttf 13816928 001.003 27560 (3,1) PMmy
% simfang.ttf 3996872 2.00 7580 (1,0)(3,1) FangSong_GB2312
% simfang.ttf 10576012 5.01 28562 (3,1) FangSong 936
% simhei.ttf 10044356 3.02 22021 (1,0)(3,1) SimHei
% simhei.ttf 10050868 3.02 22021 (1,0)(3,1) SimHei
% simhei.ttf 9751960 5.01 28562 (3,1) SimHei 936
% simkai.ttf 4135804 2.00 7580 (1,0)(3,1) KaiTi_GB2312
% simkai.ttf 11785184 5.01 28562 (3,1) KaiTi 936
% simli.ttf 9317908 3.00 21992 (1,0)(3,1) LiSu
% simsun.ttc 10500792 3.03 22141 (1,0)(3,1) SimSun/NSimSun
% simsun.ttc 10507340 3.03 22141 (1,0)(3,1) SimSun/NSimSun
% simsun.ttc 13747080 5.00 28762 (1,0)(3,1) SimSun/NSimSun
% simsun.ttc 15323200 5.03 28762 (1,0)(3,1) SimSun/NSimSun 936
% simsun18030.ttc 12642204 2.06 30533 (1,0)(3,1) SimSun-18030/NSimSun-18030
% simsunb.ttf 15406216 0.90 42809 (1,0)(3,1)(3,10) SimSun-ExtB
% simsunb.ttf 15406288 5.00 42809 (1,0)(3,1)(3,10) SimSun-ExtB
% simyou.ttf 6794984 3.00 21991 (1,0)(3,1) YouYuan
% simyou.ttf 6788204 3.00 21991 (1,0)(3,1) YouYuan
PK [f[/t t Stc777p.uppnu [ -supModel="Epson Stylus Color 777, 720x720DpI, Plain Paper"
-sDEVICE=uniprint
-dNOPAUSE
-dSAFER
-dupColorModel=/DeviceCMYKgenerate
-dupRendering=/FSCMYK32
-dupOutputFormat=/EscP2
-r720x720
-dupMargins="{ 9.0 31.0 9.0 9.0}"
-dupBlackTransfer="{ 0.0000 0.0173 0.0391 0.0719 0.1406 0.2500 }"
-dupCyanTransfer="{ 0.0000 0.0169 0.0413 0.0713 0.1500 0.2750 }"
-dupMagentaTransfer="{ 0.0000 0.0155 0.0379 0.0654 0.1375 0.2750 }"
-dupYellowTransfer="{ 0.0000 0.0141 0.0344 0.0594 0.1500 0.2750 }"
-dupOutputComponentOrder="{ 1 2 3 0 }"
-dupWeaveYPasses=6
-dupOutputPins=48
-dupWeaveYFeeds="{47 47 47 53 47 47}"
-dupWeaveInitialYFeeds="{1 1 1 1 1 43}"
-dupWeaveInitialPins="{ 8 48 40 31 23 15}"
-dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)"
-dupBeginPageCommand="<
1b40 1b40
1b2847 0100 01
1b2855 0100 05
1b5501
1b2865 0200 0000
1b2843 0200 0000
1b2863 0400 0000 0000
>"
-dupAdjustPageLengthCommand
-dupAdjustTopMarginCommand
-dupAdjustBottomMarginCommand
-dupEndPageCommand="(\033@\014)"
-dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)"
PK [f[u"W "W ps2ai.psnu [ %!
% Copyright (C) 2001-2019 Artifex Software, Inc.
% All Rights Reserved.
%
% 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.
%
% Refer to licensing information at http://www.artifex.com or contact
% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
%
% ps2ai.ps - a postscript to editable adobe illustrator file filter
%
/vers {2.14} def % January 31, 1999
% conditional def ( if the key is already defined before, don't
% redefine it. This can be used by other programs to overwrite
% some settings from externally
%
/cdef { 1 index where { pop pop pop } { def } ifelse } bind def
%
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
%
% needs a postscript level 2 interpreter, like gnu ghostscript, to work
%
% Usage: gs -q -dNODISPLAY ps2ai.ps file.ps > file.aips
% or (see below)
% gs -q -dNODISPLAY ps2ai.ps file.ps
% or
% cat ps2ai.ps file.ps | lpr (then look in log file)
%
% or from within gsview via:
% Edit->Convert to vector format
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
% Options
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
% Output Options: directly to a file or standard out
%
/jout false cdef % true=file false=stdout (default=false)
/joutput (ps2ai.out.aips) cdef % Name of Output file
%
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
%
% Other Options
%
/jtxt3 true cdef % output text in AI3 form (false=ai88)
% for coreldraw/photoshop readable output
/joutln false cdef % use font outline instead of font
/jerr false def % use error handling (ie die gracefully)
/jbiterr false def % attempt to handle bitmap fonts (kludge)
/jMacGS false def % true if using MacGS (not fully implemented yet)
/jMacfix true def % convert filled boxes to lines (only usefull with
% laserwriter 8 postscript input)
%
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
% No options below here
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
%
% - Notes -
% ai uses cmykcolor, so level 1 interpreters don't work
% ai doesn't use image/imagemask - so bitmaps don't work correctly
% the output file has a header so it is viewable/printable/reconvertable
%
% Comments, suggestions, bug-fixes, etc send to:
%
% Jason Olszewski (olszewsk@splash.princeton.edu)
%
% anonymous ftp: toby.princeton.edu /pub/olszewsk/ps2ai.ps
% URL ftp://toby.princeton.edu/pub/olszewsk
%
% - Fix History -
% 2.14 added cdef to allow overwriting of certain values from externally
% 2.13 check for bitmap fonts, work better with TeX,WinPS,etc
% 2.12 fixed initclip to US letter size page
% 2.11 added header support for *u/*U compound paths
% 2.1 option of font outline instead of text(gwhite@trevnx.bio.dfo.ca)
% 2.0 major change to complex path handling
% 1.9 fixed text leaking ascii (,),\
% 1.85 added default font to handle no setfont (Courier)
% 1.84 added even-odd fill/clip (D)
% 1.83 undefined PPD PageSize printer specific info
% 1.82 added kludge to save clipping status through a restore
% 1.81 added custom color/gray support to header (x/X, g/G)
% 1.8 added newpath if clippath is not consumed correctly(amiga)
% 1.79 eliminated scientific notation of numbers less than 0.0001
% 1.78 fixed transposed h & H
% 1.77 made laserwriter 8 fixes optional
% 1.76 added margin fix for unix AI (brown@wi.extrel.com)
% 1.75 added kludge to handle bitmap font errors (TeX, Windows.ps)
% 1.74 made grestore a little smarter
% 1.73 included header handle encoded fontname (/_fontname)
% 1.72 fixed problem with restore/clip info - (not enough Qs problem)
% 1.71 filter font names to remove previous encoding (|,_,etc)
% 1.7 change text format to AI3, works better with PS & CD
% 1.67 deal with weird makefonts
% 1.66 handle to many bad stroke/fills (s s s w/o paths)
% 1.65 more useable with non-gs interpreters (defaultmatrix fix)
% 1.64 fixed "smart grestore" repeat bug
% 1.63 fixed ashow/awidthshow bug
% 1.62 check if cmykcolor is understood otherwise rgb
% 1.61 made grestore smarter (only print if different)
% 1.6 add better compatibility to CorelDraw and PhotoShop
% 1.53 make it more gs-backward compatible (clarke@lsl.co.uk)
% 1.52 handle clipping paths a little better (Posted)
% 1.51 improve mac lw8 output (lines instead of filled boxes)
% 1.5 handle some level 2 stuff (mac lw8)
% 1.4 fixed scaling of linewidth and dash
% 1.31 made trailer more AI88 friendly
% 1.3 add ablity to output to file directly
% 1.21 print matrix cleaner
% 1.2 fix rotated fonts, thanks to G.Cameron (g.cameron@biomed.abdn.ac.uk)
% 1.1 fix stroke/fill color difference (k vs K)
% 1.0 posted to comp.lang.postscript
%
% - To Do List -
% find real %%BoundingBox: llx lly urx ury
% make MacGS friendly (line-endings)
% handle eps w/o showpage:(append to end)
% write out image data to external file
%
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
% Nothing of Interest below here
%xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
matrix identmatrix setmatrix % make ctm [1 0 0 1 0 0]
/bdef {bind def} bind def
/oldgsave {} def /oldgrestore {} def
/initgraphics {} def /initmatrix {} def
% undefine PPD PageSizes to be more printer independant
/letter {} def /legal {} def /a4 {} def /b5 {} def /lettersmall {} def
/setpagedevice { pop } bdef % for level 2 PPD PageSizes
/Courier findfont 12 scalefont setfont % handle no setfont
/initclip {0 0 moveto 0 792 lineto 612 792 lineto 612 0 lineto closepath
clip newpath } bdef
/xdef {exch def} bdef
/trx {transform exch} bdef
/cbdef {cvx bind def} bdef
/jltz {dup abs 0.0001 lt {pop 0} if} bdef % get rid of scientific notation bug
/clstate false def % closepath state
/dpth false def % destroy path (ie newpath)
/fclp false def % first paint after clip
/kscl {1.0} def % default current scale X-factor
/gcnt {1} def % graphics state counter
/spth {1} def % multiple paths on stack
/jeol (\n) def % default end-of-line
/jnump {0} def % number of paths on stack
/jx {0} def /jy {0} def /j_ax {0} def
/j3ftxt true def
/clarry 10 array def
0 1 9 {clarry exch false put} for % initilize no clipping path
%
% handle cmyk color on level 1 interpreters
/setcmykcolor where {pop}
{/setcmykcolor {
/blk exch def /yel exch def /mag exch def /cyan exch def
/ccomp {add dup 1 gt {pop 1} if} def
/red {1 cyan blk ccomp sub} def
/green {1 mag blk ccomp sub} def
/blue {1 yel blk ccomp sub} def
red green blue setrgbcolor
} bdef
} ifelse
/currentcmykcolor where {pop}
{/currentcmykcolor {
currentrgbcolor /bval xdef /gval xdef /rval xdef
/rawC 1 rval sub def /rawM 1 gval sub def /rawY 1 bval sub def
rawC rawM ge { rawY rawM ge { /blk rawM def} if } if
rawC rawY ge { rawM rawY ge { /blk rawY def} if } if
rawY rawC ge { rawM rawC ge { /blk rawC def} if } if
rawY rawC eq { rawM rawC eq { /blk rawC def} if } if
/cyan rawC blk sub def
/mag rawM blk sub def
/yel rawY blk sub def
/blk blk def
cyan mag yel blk
} bdef
} ifelse
% If using Mac Ghostscript
jMacGS {
% /jeol {(\r) jp} def
/jout true def
(%%Note: Loading ps2ai.ps\n) print
} if
/jstr 40 string def
jout {joutput (w) file /joutput xdef} if
%
% Output
%
jout {/jp { joutput exch writestring } bdef }{/jp {print} bdef} ifelse
/jpnum {jltz ( ) jp =string cvs jp } bdef
/jpmat { (\[) jp { jpnum } forall (\]) jp } bdef
%
% Stack to Paths converters
%
/ckpnt { % check which paint and clipping to use
dpth { % if there are multiple paths on the stack
clarry gcnt get fclp and {clstate {(h W\n) jp }{(H W\n) jp } ifelse} if
spth 0 eq {clstate {(n\n) jp }{(N\n) jp } ifelse} if
spth 1 eq {clstate {(s\n) jp }{(S\n) jp } ifelse} if
spth 2 eq {clstate {(f\n) jp }{(F\n) jp } ifelse} if
} if
} bdef
/jpm {
ckpnt
/dpth true def
transform 2 copy /yst xdef /xst xdef exch jpnum jpnum ( m\n) jp } bdef
/jpl { trx jpnum jpnum ( l\n) jp } bdef
/jpc { 6 4 roll trx jpnum jpnum 4 2 roll trx jpnum jpnum trx
jpnum jpnum ( c\n) jp } bdef
/jpp {xst jpnum yst jpnum ( l\n) jp /clstate true def} bdef
/cntpaths { % count paths on stack
oldgsave
{pop pop /jnump jnump 1 add def} {pop pop} {6 {pop} repeat}{} pathforall
oldgrestore
} bdef
/ppforall {
cntpaths % find out how many paths are on the stack
jnump 1 gt { (*u\n) jp } if
{jpm}{jpl}{jpc}{jpp} pathforall
ckpnt
jnump 1 gt { (*U\n) jp } if
/jnump 0 def /clstate false def /dpth false def /fclp false def
oldnewpath
} bdef
%
% Painting Operators
%
/oldnewpath [/newpath load] cbdef
/newpath { (\n) jp /spth 0 def ppforall} bdef
/stroke { (\n) jp /spth 1 def ppforall } bdef
/fill {(\n) jp /spth 2 def ppforall } bdef
/eofill {(1 D\n) jp fill (0 D\n) jp} bdef
/clip {clarry gcnt get {(Q\nq\n) jp}{(q\n) jp} ifelse
/fclp true def clarry gcnt true put} bdef
/eoclip {(1 D\n) jp clip (0 D\n) jp} bdef
%
% Text Operators
%
/oldshow [/show load] cbdef
/curpt {stringwidth pop jx add jy} bdef
/jNN {dup 0 eq {pop oldgsave currentfont /FontMatrix get setmatrix kscl
oldgrestore} if
} bdef
/curftmatrix {
currentfont /FontMatrix get dup 0 get jNN abs /norm exch def
dup 0 get norm div exch dup
1 get norm div exch dup 2 get norm div exch dup 3 get norm div exch dup
4 get exch 5 get 6 array astore matrix currentmatrix matrix concatmatrix
} bdef
% AI does not support negitive font sizes
/curftsize {currentfont /FontMatrix get 0 get jNN abs 1000 mul} bdef
/hstr (X) def
/vbar (|) 0 get def /undsc (_) 0 get def
/ftnamefix { % handle font names with |,_ (previously encoded)
jstr cvs
{ %forall
dup vbar eq {pop}{ %ifelse
dup undsc eq {pop}{ %ifelse
hstr exch 0 exch put hstr jp
} ifelse
} ifelse
} forall flush
} bdef
%/curftname {currentfont /FontName get ftnamefix} bdef
/curftname { currentfont /FontName known {currentfont /FontName get}
{ (Times-Roman)} ifelse ftnamefix } bdef
/lftpar (\() 0 get def
/rhtpar (\)) 0 get def
/bckslsh (\\) 0 get def
/handft { % handle strings with (,),\
(\() jp
{ %forall
dup lftpar eq { (\\\() jp }{ %ifelse
dup rhtpar eq { (\\\)) jp }{ %ifelse
dup bckslsh eq { (\\\\) jp }{ %ifelse
hstr exch 0 exch put hstr jp
} ifelse
} ifelse
} ifelse
} forall (\)) jp flush
} bdef
% AI 3 text format pieces
jtxt3 {
/j3txt { j3ftxt {(0 Ts 100 Tz 0 Tt 0 TA 0 0 5 TC 100 100 200 TW 0 0 0 Ti\n) jp
(0 Ta 0 Tq 0 0 TI 0 Tc 0 Tw\n) jp} if } bdef
/show {oldgsave (0 To\n) jp
currentpoint 2 copy /jy exch def /jx exch def translate
curftmatrix /jitm exch def
0 1 5 {jitm exch get jpnum} for ( 0 Tp\n) jp (TP\n) jp
(0 Tr\n) jp (\/_) jp curftname curftsize jpnum ( Tf\n) jp
(0) jp j_ax curftsize div 100 mul jpnum ( 100 TC\n) jp % percent(?)
dup curpt moveto mark exch handft ( Tx\n) jp (TO\n) jp /j3ftxt false def
cleartomark currentpoint oldgrestore moveto
} bdef
/ashow {exch pop exch /j_ax exch def show /j_ax {0} def } bdef
}
{
/show {oldgsave (u\n) jp currentpoint 2 copy /jy exch def /jx exch def translate
(\/) jp curftname jstr cvs jp
curftsize dup jpnum jpnum ( 0 0 z\n) jp
curftmatrix jpmat ( e\n) jp
dup curpt moveto mark exch handft ( t T U\n) jp
cleartomark currentpoint oldgrestore moveto} bdef
/ashow {oldgsave (u\n) jp currentpoint translate (\/) jp curftname jstr cvs jp
curftsize dup jpnum jpnum exch kscl mul jpnum ( 0 z\n) jp
curftmatrix jpmat ( e\n) jp dup curpt moveto mark exch handft
( t T U\n) jp cleartomark currentpoint oldgrestore moveto} bdef
} ifelse
/widthshow { show pop pop pop} bdef
/awidthshow {ashow pop pop pop} bdef
/kshow {show pop} bdef
%/show {true charpath fill} bdef % get outline of charactor
joutln {/show { true charpath currentpoint
/jy exch def /jx exch def fill jx jy moveto} bdef} if
%/show {oldshow} bdef % do nothing different
%
% Color Operators
%
/oldsetcmykcolor [/setcmykcolor load] cbdef
/setcmykcolor {oldsetcmykcolor
currentcmykcolor 4 -1 roll jpnum 3 -1 roll jpnum 2 -1 roll jpnum jpnum ( k\n) jp
currentcmykcolor 4 -1 roll jpnum 3 -1 roll jpnum 2 -1 roll jpnum jpnum ( K\n) jp
} bdef
/oldsetgray [/setgray load] cbdef
/setgray {0 0 0 4 -1 roll 1 exch sub setcmykcolor} bdef
/oldsethsbcolor [/sethsbcolor load] cbdef
/sethsbcolor {oldsethsbcolor currentcmykcolor setcmykcolor} bdef
/oldsetrgbcolor [/setrgbcolor load] cbdef
/setrgbcolor {oldsetrgbcolor currentrgbcolor /bval xdef /gval xdef /rval xdef
/rawC 1 rval sub def /rawM 1 gval sub def /rawY 1 bval sub def
rawC rawM ge { rawY rawM ge { /blk rawM def} if } if
rawC rawY ge { rawM rawY ge { /blk rawY def} if } if
rawY rawC ge { rawM rawC ge { /blk rawC def} if } if
rawY rawC eq { rawM rawC eq { /blk rawC def} if } if
/cyan rawC blk sub def
/mag rawM blk sub def
/yel rawY blk sub def
/blk blk def
cyan mag yel blk setcmykcolor } bdef
%
% State Operators
%
/oldsetlinewidth [/setlinewidth load] cbdef
/setlinewidth {kscl abs mul jltz oldsetlinewidth
currentlinewidth jpnum ( w\n) jp } bdef
/oldsetlinecap [/setlinecap load] cbdef
/setlinecap {dup oldsetlinecap jpnum ( J\n) jp} bdef
/oldsetlinejoin [/setlinejoin load] cbdef
/setlinejoin {dup oldsetlinejoin jpnum ( j\n) jp} bdef
/oldsetmiterlimit [/setmiterlimit load] cbdef
/setmiterlimit {dup oldsetmiterlimit jpnum ( M\n) jp}bdef
/oldsetdash [/setdash load] cbdef
/setdash {exch [ exch {kscl abs mul} forall ] exch kscl abs mul oldsetdash
currentdash exch jpmat jpnum ( d\n) jp } bdef
/oldsetflat [/setflat load] cbdef
/setflat {dup oldsetflat jpnum ( i\n) jp } bdef
%
% More State Operators
%
/kscl { % use just the x scale factor
oldgsave
matrix currentmatrix /jctm exch def
jctm 4 0 put jctm 5 0 put jctm setmatrix
1 0 moveto currentpoint transform
dup mul exch dup mul add sqrt 10000 mul round 10000 div
oldgrestore
} bdef
/currentstate {currentcmykcolor setcmykcolor
currentflat jpnum ( i) jp currentlinecap jpnum ( J) jp
currentlinejoin jpnum ( j) jp currentlinewidth jpnum ( w) jp
currentmiterlimit jpnum ( M ) jp currentdash exch jpmat jpnum ( d\n) jp
} bdef
/jdifG {
currentcmykcolor /jok xdef /joy xdef /jom xdef /joc xdef
currentflat /jof xdef currentlinecap /jolc xdef currentlinejoin /jolj xdef
currentlinewidth /jolw xdef currentmiterlimit /joml xdef
currentdash /jood xdef /joad xdef
oldgrestore
currentcmykcolor /jnk xdef /jny xdef /jnm xdef /jnc xdef
currentflat /jnf xdef currentlinecap /jnlc xdef currentlinejoin /jnlj xdef
currentlinewidth /jnlw xdef currentmiterlimit /jnml xdef
currentdash /jnod xdef /jnad xdef
% compare old gstate to new gstate
joc jnc ne jom jnm ne joy jny ne jok jnk ne
jof jnf ne jolc jnlc ne jolj jnlj ne jolw jnlw ne joml jnml ne
false joad {true exit} forall {pop pop true}{false} ifelse
false jnad {true exit} forall {pop pop true}{false} ifelse ne
jood jnod ne 10 {or} repeat {currentstate} if
} bdef
/oldgsave [/gsave load] cbdef
/gsave {oldgsave /gcnt gcnt 1 add def } bdef % clarry gcnt false put} bdef
% (%%Note:gsave ) jp gcnt jpnum (\n) jp} bdef
/oldgrestore [/grestore load] cbdef
/grestore {dpth {newpath} if clarry gcnt get {(Q\n) jp clarry gcnt false put} if
jdifG /gcnt gcnt 1 sub def } bdef
% oldgrestore currentstate } bdef
% (%%Note:grestore ) jp gcnt 1 add jpnum (\n) jp} bdef
/oldrestore [/restore load] cbdef
% a kludgy way of saving the clipping path status information
/restore {clarry aload pop 11 -1 roll oldrestore clarry astore pop} bdef
/showpage { 0 1 9 {clarry exch get {(Q\n) jp} if } for
(%%Note: If Error, make sure there are matched pairs of 'q's and 'Q's\n) jp
(%%Note: in the file. Add 'Q's before '%%Trailer' until equal\n) jp
(%%Trailer\n) jp
jtxt3 {(Adobe_IllustratorA_AI3 /terminate get exec\n) jp
(Adobe_typography_AI3 /terminate get exec\n) jp
(Adobe_customcolor /terminate get exec\n) jp
(Adobe_cshow /terminate get exec\n) jp
(Adobe_cmykcolor /terminate get exec\n) jp
(Adobe_packedarray /terminate get exec\n) jp
}{
(Adobe_Illustrator881 /terminate get exec\n) jp
(Adobe_customcolor /terminate get exec\n) jp
(Adobe_cshow /terminate get exec\n) jp
(Adobe_cmykcolor /terminate get exec\n) jp
(Adobe_packedarray /terminate get exec\n) jp
} ifelse
( showpage\n%EOF\n%%EndDocument\n) jp
jout {joutput closefile} if jMacGS not {quit} if /j3ftxt true def } bdef
%
% Error handling
%
errordict begin
% Attempt to handle the error caused by bitmap fonts (TeX,Windows.ps,etc)
% this is a big-time kludge
jbiterr {
/undefined {pop pop (Times-Roman)} bdef
/typecheck {pop pop} bdef
} if
jerr {
/handleerror {
(%%Note: ps2ai error, aborting rest of conversion\n) jp showpage
} bdef
} if
end
%
% Mac LW 8 improvements
%
/jmacimp { % stroked line instead of thin filled boxes
/@a { 3 -1 roll 2 div dup 3 -1 roll add exch 3 -1 roll add exch moveto
3 -1 roll 2 div dup 3 -1 roll add exch 3 -1 roll exch sub exch lineto
abs setlinewidth stroke pop pop} bdef
/@b { 3 -1 roll 2 div dup 3 -1 roll add exch 3 -1 roll add exch moveto
pop
3 -1 roll 2 div dup 3 -1 roll add exch 3 -1 roll add exch lineto
abs setlinewidth stroke} bdef
/endp {showpage pm restore} bdef % because the restore stops clean up
} bdef
%
% Handle (some) PS Level 2
%
/rectstroke { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto
closepath stroke} bdef
/rectfill { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto
fill } bdef
/rectclip { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto
closepath clip newpath jMacfix {jmacimp} if } bdef
%
% Add a header prolog to the output file so it is still view/print-able
%
(%!PS-Adobe-2.0 EPSF-1.2\n%%BoundingBox: 0 0 612 792\n) jp
(%%Title: Adobe Illustator 3 Editable Document\n) jp
(%%Creator: ps2ai.ps vers.) jp vers jpnum ( \(C\) 1993-94 Jason Olszewski\n) jp
(%%TemplateBox: 0 0 612 792\n) jp
jtxt3 {(%%AI3_Margin:0 0 0 0\n) jp } if
(%%EndComments\n) jp
(%%BeginProlog\n) jp
(/m {moveto} def /l {lineto} def /c {curveto} def\n) jp
(/S {stroke} def /F {fill} def\n) jp
(/s {closepath S} def /f {closepath F} def\n) jp
(/q {gsave} def /Q {grestore} def /W {clip} def /k {setcmykcolor} def\n) jp
(/i {setflat} def /J {setlinecap} def /j {setlinejoin} def\n) jp
(/w {setlinewidth} def /M {setmiterlimit} def /d {setdash} def\n) jp
(/u {gsave} def /U {grestore} def /K {k} def\n) jp
(/N {newpath} def /n {closepath N} def\n) jp
(/g {setgray} def /G {g} def\n) jp
(/x {pop pop k} def /X {x} def\n) jp
(/H {} def /h {H closepath} def /D {pop} def\n) jp
(/*u { /N {/spth 0 def}def /S{/spth 1 def}def /F {/spth 2 def} def} def\n) jp
(/*U { spth 0 eq {newpath} if spth 1 eq {stroke} if spth 2 eq {fill} if\n) jp
( /N {newpath} def /S {stroke} def /F {fill} def } def\n) jp
%(\n) jp
jtxt3 {
(/TC {pop pop pop} def /Tr {pop} def\n) jp
(/To {pop gsave} def /TO {grestore} def\n) jp
(/Tp {pop matrix astore concat} def /TP {0 0 moveto} def\n) jp
(/a_str 40 string def /cnt 0 def /h_str (X) def /undsc (_) 0 get def\n) jp
(/fntfix {a_str cvs dup length 1 sub /f_str exch string def\n) jp
( {dup undsc eq {pop}{f_str cnt 3 -1 roll put /cnt cnt 1 add def\n) jp
( } ifelse } forall flush /cnt 0 def f_str cvn } bind def\n) jp
(/Tf {exch fntfix findfont exch scalefont setfont} def /Tx {show} def\n) jp
}{
(/z {pop pop pop exch findfont exch scalefont setfont} def\n) jp
(/e {concat 0 0 m} def /t {show} def /T {} def\n) jp
} ifelse
(\n) jp
jtxt3 {
(userdict /Adobe_packedarray 2 dict dup begin put\n) jp
(/initialize {} def /terminate {} def\n) jp
(userdict /Adobe_cmykcolor 2 dict dup begin put\n) jp
(/initialize {} def /terminate {} def\n) jp
(userdict /Adobe_cshow 2 dict dup begin put\n) jp
(/initialize {} def /terminate {} def\n) jp
(userdict /Adobe_customcolor 2 dict dup begin put\n) jp
(/initialize {} def /terminate {} def\n) jp
(userdict /Adobe_typography_AI3 2 dict dup begin put\n) jp
(/initialize {} def /terminate {} def\n) jp
(userdict /Adobe_IllustratorA_AI3 2 dict dup begin put\n) jp
(/initialize {} def /terminate {} def\n) jp
}{
(userdict /Adobe_packedarray 2 dict dup begin put\n) jp
(/initialize {} def /terminate {} def\n) jp
(userdict /Adobe_cmykcolor 2 dict dup begin put\n) jp
(/initialize {} def /terminate {} def\n) jp
(userdict /Adobe_cshow 2 dict dup begin put\n) jp
(/initialize {} def /terminate {} def\n) jp
(userdict /Adobe_customcolor 2 dict dup begin put\n) jp
(/initialize {} def /terminate {} def\n) jp
(userdict /Adobe_Illustrator881 2 dict dup begin put\n) jp
(/initialize {} def /terminate {} def\n) jp
} ifelse
(%%EndProlog\n) jp
(%%BeginSetup\n) jp
jtxt3 {
(Adobe_packedarray /initialize get exec\n) jp
(Adobe_cmykcolor /initialize get exec\n) jp
(Adobe_cshow /initialize get exec\n) jp
(Adobe_customcolor /initialize get exec\n) jp
(Adobe_typography_AI3 /initialize get exec\n) jp
(Adobe_IllustratorA_AI3 /initialize get exec\n) jp
}{
(Adobe_packedarray /initialize get exec\n) jp
(Adobe_cmykcolor /initialize get exec\n) jp
(Adobe_cshow /initialize get exec\n) jp
(Adobe_customcolor /initialize get exec\n) jp
(Adobe_Illustrator881 /initialize get exec\n) jp
} ifelse
(%%EndSetup\n) jp
0 0 0 1 oldsetcmykcolor
currentstate
jout {(%%Note: Load Postscript file to be converted now\n) print} if
PK [f[{# dmp_site.psnu [ %!
BeginConfig
%%%%%%%%%%%%%%%%%%%%%% Standard user cusomizations %%%%%%%%%%%%%%%%%%%%%
/printer (escp_24.src)
% horizontal / vertical
% /resolution [ 180.0 180.0 ]
% horizontal / vertical
% /offset [ 0.0 0.0 ]
% width / height
% /defaultsize [ 8.0 in 11.0 in ]
% width / height
% /maxsize [ 8.0 -1 ]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
EndConfig
PK [f[2_KPl l align.psnu [ % Copyright (C) 2001-2019 Artifex Software, Inc.
% All Rights Reserved.
%
% 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.
%
% Refer to licensing information at http://www.artifex.com or contact
% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Print a page that indicates the proper settings of Margins and HWMargins
% for a given device. Requires a Level 2 system.
% Reset the offset and margins.
<<
/PageOffset [0 0]
/Margins [0 0]
/.HWMargins [0 0 0 0]
>>
setpagedevice
<<
/ImagingBBox null
>>
setpagedevice
% Determine the actual page size.
clippath pathbbox newpath
/y1 exch def /x1 exch def pop pop
% Draw lines that should be exactly 1" in from each edge,
% and should extend precisely to the edge of the paper.
1 setlinewidth
0 setgray
72 0 moveto 0 y1 rlineto stroke
0 72 moveto x1 0 rlineto stroke
% Print the text in the middle of the page.
/S 80 string def
108 480 moveto
/Helvetica 12 selectfont
{ currentfile S readline pop dup (%END) eq { pop exit } if
gsave show grestore 0 -15 rmoveto
} loop
Let the distance in inches from the left edge of the page to
the vertical line be H, and from the bottom edge to the
horizontal line be V; let the lengths of the gaps at the top
and bottom of the vertical line be T and B respectively, and
the gaps at the left and right of the horizontal line be L
and R. For correct alignment of pages, put the following line
in a file named (for example) margins.ps, and then mention
margins.ps on the gs command line when printing any of your
own files:
<< /.HWMargins [ml mb mr mt] /Margins [x y] >> setpagedevice
where
ml = L * 72, mb = B * 72, mr = R * 72, mt = T * 72,
%END
/res currentpagedevice /HWResolution get def
( x = (1 - H) * ) show res 0 get =string cvs show
(, y = (V - 1) * ) show res 1 get =string cvs show
showpage
PK [f[Pz z
st640p.uppnu [ -supModel="Epson Stylus Color 640, 720x720DpI, Plain Paper"
-sDEVICE=uniprint
-dNOPAUSE
-P- -dSAFER
-dupColorModel=/DeviceCMYKgenerate
-dupRendering=/FSCMYK32
-dupOutputFormat=/EscP2
-r720x720
-dupMargins="{ 9.0 24.0 9.0 9.0}"
-dupBlackTransfer="{
0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020
0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980
0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000
}"
-dupCyanTransfer="{
0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020
0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980
0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000
}"
-dupMagentaTransfer="{
0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020
0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980
0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000
}"
-dupYellowTransfer="{
0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020
0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980
0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000
}"
-dupOutputComponentOrder="{ 1 2 3 0 }"
-dupWeaveYPasses=8
-dupOutputPins=32
-dupWeaveYFeeds="{31 31 31 31 37 33 33 29}"
-dupWeaveInitialYFeeds="{1 1 1 1 1 1 1 25}"
-dupWeaveInitialPins="{ 4 24 28 32 19 15 11 7}"
-dupBeginPageCommand="<
00 00 00
1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a
40 45 4a 4c 20 20 20 20 20 0a
1b40 1b40
1b2847 0100 01
1b2855 0100 05
1b5501
1b2865 0200 0002
1b2843 0200 0000
1b2863 0400 0000 0000
>"
-dupAdjustPageLengthCommand
-dupAdjustTopMarginCommand
-dupAdjustBottomMarginCommand
-dupEndPageCommand="(\033@\014)"
-dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)"
PK [f[L bj8gc12f.uppnu [ -supModel="Canon BJC 8200, (1200DpI)^2, glossy photo card, high quality"
-sDEVICE=uniprint
-dNOPAUSE
-P- -dSAFER
-dupColorModel=/DeviceCMYKgenerate
-dupRendering=/FSCMYK32
-dupOutputFormat=/Canon
-r1200x1200
-dupMargins="{ 8.23 20.44 11.05 7.9 }"
-dupOutputComponentOrder="{ 3 2 1 0 }"
-dupBlackTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupCyanTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupMagentaTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupYellowTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupBeginPageCommand="<
1b5b 4b 0200 000f
1b28 62 0100 01
1b28 71 0100 01
1b28 64 0400 04b0 04b0
1b28 63 0300 3005 04
1b28 6c 0200 340d
>"
-dupEndJobCommand="(\033\050b\001\000\000\033@)"
-dupEndPageCommand="(\014)"
PK [f[a stocht.psnu [ % Copyright (C) 2001-2019 Artifex Software, Inc.
% All Rights Reserved.
%
% 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.
%
% Refer to licensing information at http://www.artifex.com or contact
% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% helper file to simplify use of Stochastic Halftone - uses ht_ccsto.ps
% This file sets the /StochasticDefault /Halftone as the current
% and the /Default halftoning, loading the Stochastic halftone
% if required.
% Stochastic halftoning is recommended for inkjet printers, and may
% produce output as pleasing as the more computationally expensive
% "error diffusion" that *some* device drivers provide.
% For printing technologies other than inkjet, Stochastic halftoning
% may not look better than standard screening. In particular, thermal
% transfer and direct thermal tend to be better with standard ordered
% screening methods. Some laser printers may produce "smoother"
% looking gray shades with Stochastic halftoning. Try it, and if
% you like it, use it.
% Note that this /Default halftone can be overridden by PostScript
% operators that set the screening or halftone (such as setscreen).
% To make Stochastic Halftone be "sticky" so that other screening and
% halftone setting in the subsequent PostScript will be ignored, use:
% -c "<< /HalftoneMode 1 >> setuserparams"
% on the command line prior to the file to be processed. For example,
%
% gs stocht.ps -c "<< /HalftoneMode 1 >> setuserparams" -f examples/tiger.eps
% Alternatively, the command to set the /HalftoneMode userparam can be
% concatenated to this file (see below).
% =====================================================================
% Try to get the previously defined resource
{ /StochasticDefault /Halftone findresource } stopped
{
pop pop
% Need to load the Stochastic Halftone using the lib file
(ht_ccsto.ps) runlibfile
} if
% If we didn't error out by now, then go ahead and define the /Default
/StochasticDefault /Halftone findresource
/Default exch /Halftone defineresource
sethalftone % Use the halftone
% Uncomment the next line to make the Stocahstic halftoning be "sticky"
% << /HalftoneMode 1 >> setuserparams
PK [f[ ([ [ Stp720pl.uppnu [ -supModel="Epson Photo 720, 360x360DpI, Plain Paper"
-sDEVICE=uniprint
-dNOPAUSE
-dSAFER
-dupColorModel=/DeviceCMYKgenerate
-dupRendering=/FSCMYK32
-dupOutputFormat=/EscP2
-r360x360
-dupMargins="{ 9.0 31.0 9.0 9.0}"
-dupBlackTransfer="{ 0.0000 0.0550 0.1250 0.2300 0.4500 0.8000 }"
-dupCyanTransfer="{ 0.0000 0.0540 0.1320 0.2280 0.4800 0.8800 }"
-dupMagentaTransfer="{ 0.0000 0.0495 0.1210 0.2090 0.4400 0.8800 }"
-dupYellowTransfer="{ 0.0000 0.0450 0.1100 0.1900 0.4800 0.8800 }"
-dupOutputComponentOrder="{ 1 2 3 0 }"
-dupWeaveYPasses=4
-dupOutputPins=32
-dupWeaveYFeeds="{33 30 35 30}"
-dupWeaveInitialYFeeds="{1 1 1 29}"
-dupWeaveInitialPins="{ 8 16 32 23}"
-dupBeginJobCommand="(\000\000\000\000\000\000\033\001@EJL\0401284.4\012@EJL\040\040\040\040\040\012)"
-dupBeginPageCommand="<
1b40 1b40
1b2847 0100 01
1b2855 0100 0A
1b5501
1b2865 0200 0000
1b2843 0200 0000
1b2863 0400 0000 0000
>"
-dupAdjustPageLengthCommand
-dupAdjustTopMarginCommand
-dupAdjustBottomMarginCommand
-dupEndPageCommand="(\033@\014)"
-dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)"
PK [f[|b[ [ stc600pl.uppnu [ -supModel="Epson Stylus Color 600, 360x360DpI, Plain Paper"
-sDEVICE=uniprint
-dNOPAUSE
-P- -dSAFER
-dupColorModel=/DeviceCMYK
-dupRendering=/ErrorDiffusion
-dupOutputFormat=/EscP2
-r360x360
-dupMargins="{ 9.0 39.96 9.0 9.0}"
-dupBlackTransfer="{ 0.0000 0.0553 0.1158 0.1998 0.4321 1.0000 }"
-dupCyanTransfer="{ 0.0000 0.1188 0.2272 0.3745 0.5396 0.6145 }"
-dupMagentaTransfer="{ 0.0000 0.0851 0.1512 0.2111 0.2606 0.2818 }"
-dupYellowTransfer="{ 0.0000 0.0679 0.1742 0.3129 0.4587 0.5389 }"
-dupOutputComponentOrder="{ 1 2 3 0 }"
-dupWeaveYPasses=4
-dupOutputPins=32
-dupWeaveYFeeds="{33 30 35 30}"
-dupWeaveInitialYFeeds="{1 1 1 29}"
-dupWeaveInitialPins="{ 8 16 32 23}"
-dupBeginPageCommand="<
00 00 00
1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a
40 45 4a 4c 20 20 20 20 20 0a
1b40 1b40
1b2847 0100 01
1b2855 0100 0A
1b5501
1b2865 0200 0002
1b2843 0200 0000
1b2863 0400 0000 0000
>"
-dupAdjustPageLengthCommand
-dupAdjustTopMarginCommand
-dupAdjustBottomMarginCommand
-dupEndPageCommand="(\033@\014)"
-dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)"
PK [f[h gs_l.xbmnu [ #define gs_l.xbm_width 48
#define gs_l.xbm_height 48
#define gs_l.xbm_x_hot 0
#define gs_l.xbm_y_hot 0
static unsigned char gs_l.xbm_bits[] = {
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x00,
0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x03, 0x00,
0x00, 0x00, 0x00, 0x3e, 0x03, 0x00, 0x00, 0x00, 0xff, 0x1f, 0x07, 0x00,
0x00, 0xe0, 0xff, 0x0f, 0x07, 0x00, 0x00, 0xf8, 0xff, 0x81, 0x07, 0x00,
0x00, 0xfc, 0x1f, 0xc0, 0x0f, 0x00, 0x00, 0xfe, 0x07, 0xf0, 0x1f, 0x00,
0x00, 0xff, 0x01, 0xf8, 0x1f, 0x00, 0x00, 0xff, 0x41, 0xfc, 0x3f, 0x00,
0x80, 0xff, 0xc8, 0xfc, 0x3f, 0x00, 0x80, 0xff, 0xd8, 0xf8, 0x3f, 0x00,
0x80, 0xff, 0x98, 0xf0, 0x3f, 0x00, 0x80, 0xff, 0x10, 0xe0, 0x3f, 0x00,
0x00, 0xff, 0x01, 0xc0, 0x3f, 0x00, 0x00, 0xff, 0x81, 0x81, 0x1f, 0x00,
0x00, 0xfe, 0x83, 0x83, 0x1f, 0x00, 0x00, 0xfc, 0x0f, 0x83, 0x0f, 0x00,
0x00, 0xf8, 0x1f, 0xc3, 0x03, 0x00, 0x00, 0xe0, 0x1f, 0xe0, 0x01, 0x00,
0x00, 0xf0, 0x1f, 0x38, 0x00, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0x00,
0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00,
0xc0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00,
0xc0, 0xff, 0xff, 0xff, 0x01, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x0f, 0x00,
0x80, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x03,
0x00, 0xc0, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x03,
0xc0, 0x3f, 0x00, 0x00, 0xff, 0x03, 0xe0, 0x0f, 0x00, 0x00, 0xfe, 0x03,
0xf0, 0x07, 0xfc, 0x00, 0xfc, 0x01, 0xf0, 0x07, 0x0e, 0x00, 0xff, 0x04,
0xf0, 0x07, 0x7e, 0xe0, 0x7f, 0x02, 0xf0, 0x0f, 0xfc, 0xff, 0x1f, 0x01,
0xe0, 0x1f, 0xf0, 0xff, 0xc3, 0x00, 0xc0, 0xff, 0x00, 0x00, 0x78, 0x00,
0x80, 0xff, 0x0f, 0xf8, 0x3f, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x07, 0x00,
0x00, 0xe0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
PK [f[O2 lines.psnu [ %!
% Copyright (C) 2001-2019 Artifex Software, Inc.
% All Rights Reserved.
%
% 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.
%
% Refer to licensing information at http://www.artifex.com or contact
% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Test line rendering (stroke).
% Exercise the miter limit. The left column of lines should bevel at
% 90 degrees, the right column at 60 degrees.
gsave
1.8 setlinewidth
0 setgray
15 15 scale
-5 5 translate
[1.415 2.0]
{ setmiterlimit 12 0 translate 0 0 moveto
10 30 360
{ gsave 5 0 rlineto rotate 2.5 0 rlineto
gsave 0 setlinewidth 1 0 0 setrgbcolor stroke grestore
strokepath 0 setlinewidth stroke
grestore
0 4 rmoveto
} for
} forall
showpage
grestore
% Exercise all the combinations of cap and join styles
% for one-line, two-line, and closed paths.
gsave
/drawlines {
gsave
2.0 setmiterlimit
2.0 setlinewidth
6 6 scale
5 20 translate
{0 1 2} % line cap
{ setlinecap gsave
{0 1 2} % line join
{ setlinejoin gsave
{ {currentpoint lineto}
{3 7 lineto}
{3 7 lineto 5 1 lineto}
{3 7 lineto 6 3 lineto closepath}
}
{ gsave 0 0 moveto exec
gsave stroke grestore
0.5 setlinewidth 1 0 0 setrgbcolor stroke
grestore 8 0 translate
} forall
grestore 35 0 translate
} forall
grestore 0 20 translate
} forall
grestore
} def
/xflip
{ 8.5 72 mul 0 translate -1 1 scale
} def
/rot90
{ 90 rotate 0 -9.75 72 mul translate
} def
/rot180
{ rot90 rot90
} def
/rot270
{ rot180 rot90
} def
drawlines showpage
gsave xflip drawlines grestore showpage
gsave rot90 drawlines grestore showpage
gsave rot90 xflip drawlines grestore showpage
gsave drawlines rot180 showpage
gsave rot180 xflip drawlines grestore showpage
gsave rot270 drawlines grestore showpage
gsave rot270 xflip drawlines grestore showpage
grestore
% Here are some boundary conditions, contributed by Mark Rawling.
gsave
1 setlinecap
2.6 setmiterlimit
3.0 setlinewidth
5 5 scale
10 20 translate
% [ 0.5 sqrt dup dup dup neg exch 0 0 ] concat % 45 rotate
{0 1 2} % line join
{
setlinejoin gsave
0 0 moveto 0 10 lineto 10 0 lineto gsave stroke grestore
15 0 translate
0 0 moveto 0 10 lineto 10 20 lineto gsave stroke grestore
15 0 translate
10 0 moveto 10 10 lineto 0 20 lineto gsave stroke grestore
15 0 translate
10 0 moveto 10 10 lineto 0 0 lineto gsave stroke grestore
grestore
gsave
0 20 translate
0 20 moveto 0 10 lineto 10 20 lineto gsave stroke grestore
15 0 translate
0 20 moveto 0 10 lineto 10 0 lineto gsave stroke grestore
15 0 translate
10 20 moveto 10 10 lineto 0 0 lineto gsave stroke grestore
15 0 translate
10 20 moveto 10 10 lineto 0 20 lineto gsave stroke grestore
grestore 60 0 translate
} forall
showpage
grestore
% Test narrow lines at a variety of angles.
gsave
/rad 120 def
/ray { gsave rotate 0 0 moveto rad 0 rlineto stroke grestore } def
/star
{ newpath gsave
gsave 0.5 setgray 0 0 rad 0 360 arc stroke grestore
0 90 359
{ rotate
0 3 14 { ray } for
15 15 89 { ray } for
} for
grestore
} def
0 setgray
150 150 translate
[ [ 0 0.5 1 ] [ 1.5 2 2.5 ] [ 3 3.5 4 ] ]
{ gsave
{ setlinewidth star
250 0 translate
} forall
grestore 0 250 translate
} forall
grestore showpage
% End
quit
PK [f[_M bjc610b3.uppnu [ -supModel="Canon BJC 610, 720x720DpI, transparency film, color, rendered"
-sDEVICE=uniprint
-dNOPAUSE
-P- -dSAFER
-dupColorModel=/DeviceCMYK
-dupRendering=/ErrorDiffusion
-dupOutputFormat=/Canon
-r720x720
-dupMargins="{ 8.23 20.44 11.05 7.9 }"
-dupOutputComponentOrder="{ 3 2 1 0 }"
-dupBlackTransfer="{
0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408
0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873
0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404
0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000
}"
-dupCyanTransfer="{
0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255
0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171
0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752
0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000
}"
-dupMagentaTransfer="{
0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255
0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171
0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752
0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000
}"
-dupYellowTransfer="{
0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255
0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171
0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752
0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000
}"
-dupBeginPageCommand="<
1b5b4b 0200 000f
1b28 62 0100 01
1b28 63 0300 102110
1b28 64 0200 02d0
1b28 6c 0200 1420
1b28 67 0100 E5
>"
-dupEndJobCommand="(\033\050b\001\000\000\033@)"
-dupEndPageCommand="(\014)"
PK [f[n2 viewmiff.psnu [ % Copyright (C) 2001-2019 Artifex Software, Inc.
% All Rights Reserved.
%
% 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.
%
% Refer to licensing information at http://www.artifex.com or contact
% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% viewmiff.ps
% Display a MIFF file. You would think the 'display' command would do this,
% but many versions of 'display' either core-dump or require unacceptably
% large amounts of memory.
% FITPAGE is true, it fits the output page size to the image
% Recognize MIFF keywords.
/miffwords mark
/class { cvn /class exch def }
/colors { cvi /colors exch def }
/columns { cvi /Width exch def }
/compression { cvn /compression exch def }
/depth { cvi /depth exch def }
/packets { cvi /packets exch def }
/rows { cvi /Height exch def }
.dicttomark readonly def
% Recognize MIFF image classes.
/miffclasses mark
/DirectClass {
/DeviceRGB setcolorspace
/BitsPerComponent depth def
/Decode [ 0 1 0 1 0 1 ] def
}
/PseudoClass {
[ /Indexed
% The MIFF documentation lies about the size of pixels
% for this case: the pixel size is determined only by
% the number of colors, and is not affected by the image
% depth. Specifically, if there are 256 or fewer colors
% but the depth (of color map entries) is 16, each pixel
% is still only 1 byte, not 2.
currentdict /colors known {
/DeviceRGB colors 1 sub
/BitsPerComponent colors 256 le { 8 } { 16 } ifelse def
colors 3 mul string depth 8 eq {
f exch readstring pop
} {
% 16-bit color map entries: take only the high-order byte.
0 1 2 index length 1 sub {
f read pop 2 index 3 1 roll put f read pop pop
} for
} ifelse
} {
/colors 256 def
/DeviceGray 255
256 string 0 1 255 { 1 index exch dup put } for
} ifelse
] setcolorspace
/Decode [ 0 1 BitsPerComponent bitshift 1 sub ] def
}
.dicttomark readonly def
% Recognize MIFF compression methods.
/rlstring 768 string def
/rlread {
% packets is not reliable -- disregard it.
dup rlstring 0 3 getinterval readstring {
pop read pop 3 mul 3 3 2 index {
rlstring exch rlstring 0 3 getinterval putinterval
} for
rlstring 0 3 -1 roll 3 add getinterval
} {
pop pop ()
} ifelse
} bind def
/miffcompress mark
/Uncompressed { f }
/RunLengthEncoded { { f rlread } }
/Zip { [ f /FlateDecode filter cvlit /rlread cvx ] cvx }
.dicttomark readonly def
% Read a MIFF file and display the image.
/viewmiff { % viewmiff -
50 dict begin
/fname 1 index def
/f exch (r) file def
% Set defaults.
/ImageType 1 def
/class /DirectClass def
/compression /Uncompressed def
/depth 8 def
/packets 16#7fffffff def
% Read and parse the header.
{ f token pop
dup (:) eq { pop exit } if
dup type /nametype eq {
1024 string cvs (=) search {
exch pop miffwords exch .knownget { exec } { pop } ifelse
} {
pop % who knows?
} ifelse
} {
pop % probably a comment in braces
} ifelse
} loop
% Read and display the image.
miffclasses class get exec
/DataSource miffcompress compression get exec def
/FITPAGE where
{
/FITPAGE get
{
% we've already set the image color space, so
% push it on the stack, and set it again after
% setting the page size
currentcolorspace
<> setpagedevice
setcolorspace
} if
} if
/ImageMatrix [Width 0 0 Height neg 0 Height] def
currentpagedevice /PageSize get
dup 0 get exch 1 get scale
gsave 0.8 setgray 0 0 1 1 rectfill grestore % provide background
currentdict image
showpage
% Clean up.
f closefile
end
} bind def
PK [f[]bP P gslp.psnu [ % Copyright (C) 2001-2019 Artifex Software, Inc.
% All Rights Reserved.
%
% 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.
%
% Refer to licensing information at http://www.artifex.com or contact
% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% gslp.ps - format and print text
% This utility provides functionality approximately equivalent to the Unix
% `enscript' program. It prints plain text files using a single font.
% It currently handles tabs and formfeeds, but not backspaces.
% It will line-wrap when using fixed-pitch fonts.
% It will also do kerning and width adjustment.
% Standard switches implemented:
% -12BclqRr -b -f -F -L -p
% Sun switches implemented:
% -T set tab width
% Switches ignored:
% -GghKkmow -# -C -d -J -n -P -S -s -t -v
% Switches added:
% --add-to-space
% add the given number of 1/72" units to the width of each
% space (may be negative)
% --add-to-width
% add the given number of 1/72" units to the width of each
% character (may be negative)
% --columns
% print in columns
% --detect
% treat the file as PostScript if it starts with %!
% --first-page
% --duplex(|-long-edge|-short-edge)
% use duplex if available; if not specified, select long edge
% for portrait printing, short edge for landscape
% start printing at page
% --kern
% kern using information from the given .AFM file
% --last-page
% stop printing after page
% --(heading|footing)-(left|center|right)
% set the heading/footing fields; use -B first to clear
% --margin-(top|bottom|left|right)
% set a margin
% --no-eject-(file|formfeed)
% end-of-file/FF only starts a new column, not a new sheet
% --spacing
% use double (n=2), triple (n=3), etc. spacing
% Also, the string %# in a heading or footing is replaced with the page #.
/PageNumberString (%#) def
/lpdict 150 dict def
lpdict begin
% build iso-latin-1 version of a font
/font-to-iso-latin-1 { % font-to-iso-latin-1
%% reencode for iso latin1; from the 2nd edition red book, sec 5.6.1
dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding ISOLatin1Encoding def currentdict end
dup /FontName get 80 string cvs (-ISOLatin1) concatstrings cvn
exch definefont
} def
/find-latin-font { % find-latin-font
findfont font-to-iso-latin-1
} def
% Define the initial values of the printing parameters.
/AddToSpace 0 def
/AddToWidth 0 def
/BodyFont null def % use default
/defaultBodyFontPortrait
/Courier find-latin-font 10 scalefont def
/defaultBodyFontLandscape
/Courier find-latin-font 7 scalefont def
/defaultBodyFont
{ Landscape { defaultBodyFontLandscape } { defaultBodyFontPortrait } ifelse } def
/Columns 1 def
/DetectFileType false def
/Duplex null def
/EjectEOF true def
/EjectFF true def
/Footers false def
/FootingLeft () def
/FootingCenter () def
/FootingRight () def
/Headers true def
/HeadingLeft () def
/HeadingCenter () def
/HeadingRight (page ) PageNumberString concatstrings def
/HeadingFont null def % use default
/defaultHeadingFont
/Courier-Bold find-latin-font 10 scalefont def
/Kern 0 dict def % no kerning
/Landscape false def
/MarginBottom 36 def % 1/2"
/MarginLeft 36 def % 1/2"
/MarginRight 36 def % 1/2"
/MarginTop 36 def % 1/2"
/MaxLines 9999 def % max lines per page
/Noisy true def % i.e., not quiet
/OutFile null def % null = write directly to device
/PageFirst 1 def
/PageLast 99999 def
/Spacing 1 def
/Tab 8 def
/Truncate false def % wrap long lines, don't truncate
% When writing to a file, we want to write out PostScript;
% when writing to the printer, we want to execute it;
% some commands should be executed regardless.
% lpexec provides for all this.
/lpdef { % lpdef -
/def 2 true lpexec
} def
/lpexec { % ... lpexec -
OutFile null eq {
pop 1 add true
} {
/t exch def 1 add /n exch def cvx
n -1 roll dup wo
n 1 sub { n -1 roll dup wosp } repeat
(\n) ws n t
} ifelse
{ pop load exec }
{ { pop } repeat }
ifelse
} def
/lpmoveto { % lpmoveto -
% Round the coordinates for smaller output.
2 {
exch 100 mul round 100 div
dup dup cvi eq { cvi } if
} repeat
1 index X eq { neg exch pop /V 1 } { neg /M 2 } ifelse true lpexec
} def
/lpshow { % lpshow -
dup length 0 ne {
addspace 0 ne {
addspace 0 32
addwidth 0 ne {
addwidth 0 6 -1 roll /awidthshow 6 true lpexec
} {
4 -1 roll /widthshow 4 true lpexec
} ifelse
} {
addwidth 0 ne {
addwidth 0 3 -1 roll /ashow 3 true lpexec
} {
OutFile null ne {
dup dup length =string length gt {
/show 1 false lpexec
} {
(S ) ws ws (\n) ws
} ifelse
} if show
} ifelse
} ifelse
} {
pop
} ifelse
} def
/lpsetmyfont {
dup load setfont
OutFile null ne { cvx /setfont 1 false lpexec } { pop } ifelse
} def
% Define some utility procedures.
/banner % ypos left center right
{ /HFont lpsetmyfont
/addspace 0 def /addwidth 0 def
/pairkern 0 dict def
3 -1 roll bannerstring pop 0 4 index pwidth showline2 pop
exch bannerstring pwidth exch sub 2 div 3 index pwidth showline2 pop
bannerstring
% Prevent the last character of the heading from grazing
% the right margin.
% ****** WHY DOES IT REQUIRE SO MUCH PADDING? ******
( ) stringwidth pop 2 mul add
pwidth exch sub
3 -1 roll pwidth showline2 pop
} def
/bannerstring % string -> string width
{ PageNumberString search
{ exch pop pindex 4 string cvs concatstrings exch concatstrings
}
if dup stringwidth pop
} def
/beginpage
{ /lindex 0 def
/skipping pindex PageFirst ge pindex PageLast le and not def
pagex pagey Landscape {/BL} {/B} ifelse 2 true lpexec
/pagesave exch def
skipping { nulldevice /OutFile null def } if
Headers
{ lheight hdescent add
HeadingLeft HeadingCenter HeadingRight banner
} if
/BFont lpsetmyfont
/pairkern Kern def
/addspace AddToSpace def /addwidth AddToWidth def
pairkern length 0 ne {
/addspace AddToSpace lpdef /addwidth AddToWidth lpdef
} if
} def
/endpage {
lindex 0 ne {
Footers {
topskip plength sub hdescent add
FootingLeft FootingCenter FootingRight banner
} if
/E
} {
/restore
} ifelse
pagesave exch 0 true lpexec
/pindex pindex 1 add def
} def
/endcolumn
{ lindex colines 1 sub add colines idiv colines mul
dup llength ge { pop endpage beginpage } { /lindex exch def } ifelse
} def
/fontheight % fontheight
{ gsave setfont
newpath 0 0 moveto
(|^_j) false charpath
pathbbox exch pop dup 2 index sub 4 -2 roll pop pop
grestore exch 1.25 mul exch 1.25 mul
} def
/wdict {
dup length wosp ( dict\n) ws
{ (dup) ws exch wosp wosp ( put\n) ws } forall
} def
/wosp { ( ) ws wo } def
/wo {
dup type /dicttype eq { wdict } { OutFile exch write==only } ifelse
} def
/ws {
OutFile exch writestring
} def
/outfont { % outfont -
OutFile null ne {
exch wo
dup /FontName get
dup wosp (-ISOLatin1) ws wosp ( RE) ws
/FontMatrix get 0 get 1000 mul round cvi wosp
( scalefont def\n) ws
} {
pop pop
}ifelse
} def
/StringFF (\f) def
/CharFF StringFF 0 get def
/StringTAB (\t) def
/CharTAB StringTAB 0 get def
/showline % line -> leftover_line (handles \f)
{ { showline1 dup length 0 eq { exit } if
dup 0 get CharFF ne { exit } if
EjectFF { endpage beginpage } { endcolumn } ifelse
skip1
}
loop
} def
/showline1 % line -> leftover_line (handles page break)
{ lindex llength eq { endpage beginpage } if
lindex colines idiv cowidth mul % x
lindex colines mod 1 add lheight mul neg fascent sub % y
1 index cowidth add
showline2
/lindex lindex 1 add def
} def
/setxy {
/ty exch def /tx exch def
} def
/showline2 { % string x y xlimit -> leftover_string (handles tabs)
2 index exch 5 2 roll setxy {
% Stack: xinit xlimit string
showline3 dup length 0 eq { exit } if
dup 0 get CharTAB ne { exit } if
tx 3 index sub tabwx div
0.05 add ceiling tabwx mul 3 index add ty setxy
skip1
tx 2 index ge { exit } if
} loop exch pop exch pop
} def
/showline3 { % xlimit string -> xlimit leftover_string
% (finds line break / tab / formfeed)
1 index tx sub
cwx div 0.1 add cvi 0 .max 1 index length .min
1 index 0 3 -1 roll getinterval
% look for \f or \t
StringFF search { exch pop exch pop } if
StringTAB search { exch pop exch pop } if
dup length 0 ne {
tx ty lpmoveto
dup pairkern length 0 eq {
lpshow
} {
{ kproc } exch /kshow 2 true lpexec
} ifelse
currentpoint setxy
} if
length dup 2 index length exch sub getinterval
} def
/kproc { % kproc -
pairkern currentfont /Encoding get 3 index get
2 copy known {
get currentfont /Encoding get 2 index get
2 copy known {
get currentfont /FontMatrix get 0 get mul
} {
pop pop 0
} ifelse
} {
pop pop 0
} ifelse
addwidth add 2 index 32 eq { addspace add } if
dup 0 eq { pop } { 0 rmoveto } ifelse
pop pop
} def
/skip1
{ dup length 1 sub 1 exch getinterval
} def
/e== { %