%! % Copyright (C) 2001-2018 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. % % uninfo.ps: Utilities for "printing" PostScript items, especially dictionaries % Usage: % (prefix-string) dict unprint % Maximum Print-Width /HSpwidth 80 def % any HScvs string /HScvs { % Number-Syntax dup type % stack: any /anytype dup /integertype eq 1 index /realtype eq or { pop 16 string cvs }{ % Logical-Type dup /booleantype eq { pop 5 string cvs }{ % Identifiers dup /nametype eq { pop dup length 1 add string dup 0 (/) putinterval exch 1 index 1 1 index length 1 sub getinterval cvs pop }{ % Strings dup /stringtype eq { pop % ------- Compute Length 2 1 index { % stack: str len item dup 32 lt 1 index 126 gt or { % need 4 pop 4 add }{ dup 40 eq 1 index 41 eq or 1 index 92 eq or { pop 2 add }{ pop 1 add } ifelse } ifelse } forall % ------- Allocate & Fill String string dup 0 (\() putinterval 1 3 -1 roll { % outstr pos item dup 32 lt 1 index 126 gt or { dup 7 le { 2 index 2 index (\\00) putinterval 8 3 index 3 index 3 add 1 getinterval cvrs }{ dup 63 le { 2 index 2 index (\\0) putinterval 8 3 index 3 index 2 add 2 getinterval cvrs }{ 2 index 2 index (\\) putinterval 8 3 index 3 index 1 add 3 getinterval cvrs } ifelse } ifelse pop 4 add }{ dup 40 eq 1 index 41 eq or 1 index 92 eq or { 2 index 2 index (\\) putinterval exch 1 add exch } if 2 index exch 2 index exch put 1 add } ifelse } forall 1 index exch (\)) putinterval }{ exch pop dup length 1 add string dup 0 (-) putinterval exch 1 index 1 1 index length 1 sub getinterval cvs pop dup dup length 4 sub (-) putinterval 0 1 index length 3 sub getinterval } ifelse } ifelse } ifelse } ifelse } bind def % int HSpindent - indent-spaces /HSpindent { dup 0 gt { 1 1 3 -1 roll { pop ( ) print } for }{ pop } ifelse } bind def % indent array HSaprint -> Print an Array /HSaprint { dup type /arraytype eq { ( [) print exch 1 add dup 1 add 3 -1 roll { % rind pos item HScvs dup length % rind pos str len dup 3 index add HSpwidth ge { (\n) print 3 index HSpindent 3 -1 roll pop 2 index add exch }{ ( ) print 2 index add 1 add 3 -1 roll pop exch } ifelse print } forall ( ]) print pop pop }{ ( ) print HScvs print pop } ifelse (\n) print } bind def % dict HSdnames dict names (creates sorted name-strings) /HSdnames { % Build namelist, stack: dic dup length 0 eq { [] }{ [ 1 index { pop dup type /nametype eq { dup length string cvs }{ pop } ifelse } forall ] % Sort the namelist, stack: dic nam 0 1 2 index length 2 sub { % stack: dic nam I 2 copy get % stack: pre dic nam I nam[I] 1 index 1 add 1 4 index length 1 sub { % stack: dic nam I nam[I] J 3 index 1 index get % dic nam I S[I] J S[J] 2 index 1 index gt { % swap them 4 index 2 index 4 index put 4 index 4 index 2 index put 3 1 roll } if pop pop } for pop pop } for } ifelse } bind def % string:prefix dict:which unprint /unprint { HSdnames % pre dic nam % compute the maximum length 0 1 index { % pre dic nam maxlen nam[I] length 2 copy lt { exch } if pop } forall % Print out all the items, stack: pre dic nam maxlen (\n) print exch { % pre dic maxlen nam[I] % no prefix yet, -> flush right 3 index length 0 eq { dup length 2 index exch sub HSpindent }{ 3 index print (/) print } ifelse % print the name dup print % prefix: fill up with blanks 3 index length 0 ne { dup length 2 index exch sub HSpindent } if % now print the item itself, stack: pre dic maxlen nam[I] 2 index 1 index cvn get dup type % stack: pre dic maxlen nam[i] item typ % Dict-Syntax dup /dicttype eq { pop % stack: pre dic maxlen nam[i] item ( ) print dup HScvs print 4 index length 0 eq { % brand new prefix 2 index string 0 1 5 index 1 sub { 1 index exch 32 put } for dup 4 index 4 index length sub 5 -1 roll putinterval }{ 4 index length 1 add 2 index length add string dup 0 7 index putinterval dup 6 index length (/) putinterval dup 6 index length 1 add 5 -1 roll putinterval } ifelse exch unprint }{ 3 -1 roll pop % tack: pre dic maxlen item typ % Array-Syntax dup /arraytype eq { pop % stack: pre dic maxlen item 3 index length dup 0 ne { 1 add } if 2 index add exch HSaprint }{ pop ( ) print HScvs print (\n) print } ifelse } ifelse } forall pop pop length -1 eq { (\n) print } if } bind def /currentpagedevice where { % check for currentpagedevice /currentpagedevice get exec () exch unprint } if
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
PDFA_def.ps | File | 1.25 KB | 0644 |
|
PDFX_def.ps | File | 1.77 KB | 0644 |
|
PM760p.upp | File | 1.13 KB | 0644 |
|
PM760pl.upp | File | 1.1 KB | 0644 |
|
PM820p.upp | File | 1.12 KB | 0644 |
|
PM820pl.upp | File | 1.09 KB | 0644 |
|
Stc670p.upp | File | 1.13 KB | 0644 |
|
Stc670pl.upp | File | 1.1 KB | 0644 |
|
Stc680p.upp | File | 1.11 KB | 0644 |
|
Stc680pl.upp | File | 1.09 KB | 0644 |
|
Stc740p.upp | File | 1.01 KB | 0644 |
|
Stc740pl.upp | File | 1.09 KB | 0644 |
|
Stc760p.upp | File | 1.11 KB | 0644 |
|
Stc760pl.upp | File | 1.09 KB | 0644 |
|
Stc777p.upp | File | 1.11 KB | 0644 |
|
Stc777pl.upp | File | 1.09 KB | 0644 |
|
Stp720p.upp | File | 1.13 KB | 0644 |
|
Stp720pl.upp | File | 1.09 KB | 0644 |
|
Stp870p.upp | File | 1.11 KB | 0644 |
|
Stp870pl.upp | File | 1.09 KB | 0644 |
|
acctest.ps | File | 4.17 KB | 0644 |
|
align.ps | File | 2.11 KB | 0644 |
|
bj8.rpd | File | 639 B | 0644 |
|
bj8gc12f.upp | File | 1.5 KB | 0644 |
|
bj8hg12f.upp | File | 1.5 KB | 0644 |
|
bj8oh06n.upp | File | 1.48 KB | 0644 |
|
bj8pa06n.upp | File | 1.49 KB | 0644 |
|
bj8pp12f.upp | File | 1.51 KB | 0644 |
|
bj8ts06n.upp | File | 1.49 KB | 0644 |
|
bjc6000a1.upp | File | 1.62 KB | 0644 |
|
bjc6000b1.upp | File | 1.62 KB | 0644 |
|
bjc610a0.upp | File | 1.49 KB | 0644 |
|
bjc610a1.upp | File | 1.48 KB | 0644 |
|
bjc610a2.upp | File | 1.48 KB | 0644 |
|
bjc610a3.upp | File | 1.49 KB | 0644 |
|
bjc610a4.upp | File | 1.49 KB | 0644 |
|
bjc610a5.upp | File | 1.48 KB | 0644 |
|
bjc610a6.upp | File | 1.48 KB | 0644 |
|
bjc610a7.upp | File | 1.48 KB | 0644 |
|
bjc610a8.upp | File | 1.49 KB | 0644 |
|
bjc610b1.upp | File | 1.48 KB | 0644 |
|
bjc610b2.upp | File | 1.48 KB | 0644 |
|
bjc610b3.upp | File | 1.49 KB | 0644 |
|
bjc610b4.upp | File | 1.49 KB | 0644 |
|
bjc610b6.upp | File | 1.48 KB | 0644 |
|
bjc610b7.upp | File | 1.49 KB | 0644 |
|
bjc610b8.upp | File | 1.49 KB | 0644 |
|
caption.ps | File | 1.72 KB | 0644 |
|
cbjc600.ppd | File | 10.89 KB | 0644 |
|
cbjc800.ppd | File | 11.22 KB | 0644 |
|
cdj550.upp | File | 1.65 KB | 0644 |
|
cdj690.upp | File | 1.95 KB | 0644 |
|
cdj690ec.upp | File | 2.01 KB | 0644 |
|
cid2code.ps | File | 4.39 KB | 0644 |
|
dmp_init.ps | File | 7.08 KB | 0644 |
|
dmp_site.ps | File | 459 B | 0644 |
|
dnj750c.upp | File | 2.74 KB | 0644 |
|
dnj750m.upp | File | 1.93 KB | 0644 |
|
docie.ps | File | 7.32 KB | 0644 |
|
escp_24.src | File | 350 B | 0644 |
|
font2pcl.ps | File | 18.01 KB | 0644 |
|
ghostpdf.ppd | File | 25.04 KB | 0644 |
|
gs_ce_e.ps | File | 2.17 KB | 0644 |
|
gs_il2_e.ps | File | 2.57 KB | 0644 |
|
gs_kanji.ps | File | 3.91 KB | 0644 |
|
gs_ksb_e.ps | File | 3.07 KB | 0644 |
|
gs_l.xbm | File | 1.9 KB | 0644 |
|
gs_l.xpm | File | 2.69 KB | 0644 |
|
gs_l_m.xbm | File | 1.91 KB | 0644 |
|
gs_lgo_e.ps | File | 2.67 KB | 0644 |
|
gs_lgx_e.ps | File | 1.72 KB | 0644 |
|
gs_m.xbm | File | 945 B | 0644 |
|
gs_m.xpm | File | 1.4 KB | 0644 |
|
gs_m_m.xbm | File | 955 B | 0644 |
|
gs_s.xbm | File | 594 B | 0644 |
|
gs_s.xpm | File | 957 B | 0644 |
|
gs_s_m.xbm | File | 604 B | 0644 |
|
gs_t.xbm | File | 345 B | 0644 |
|
gs_t.xpm | File | 605 B | 0644 |
|
gs_t_m.xbm | File | 355 B | 0644 |
|
gs_wl1_e.ps | File | 2.44 KB | 0644 |
|
gs_wl2_e.ps | File | 2.44 KB | 0644 |
|
gs_wl5_e.ps | File | 2.45 KB | 0644 |
|
gslp.ps | File | 20.24 KB | 0644 |
|
gsnup.ps | File | 2.57 KB | 0644 |
|
ht_ccsto.ps | File | 222.8 KB | 0644 |
|
image-qa.ps | File | 71.34 KB | 0644 |
|
jispaper.ps | File | 784 B | 0644 |
|
landscap.ps | File | 1.43 KB | 0644 |
|
lines.ps | File | 3.65 KB | 0644 |
|
mkcidfm.ps | File | 21.8 KB | 0644 |
|
necp2x.upp | File | 1.02 KB | 0644 |
|
necp2x6.upp | File | 1.04 KB | 0644 |
|
pdf2dsc.ps | File | 7.87 KB | 0644 |
|
pf2afm.ps | File | 14.94 KB | 0644 |
|
pfbtopfa.ps | File | 995 B | 0644 |
|
ppath.ps | File | 1.78 KB | 0644 |
|
pphs.ps | File | 6.68 KB | 0644 |
|
prfont.ps | File | 7.04 KB | 0644 |
|
printafm.ps | File | 4.78 KB | 0644 |
|
ps2ai.ps | File | 21.78 KB | 0644 |
|
ps2epsi.ps | File | 8.34 KB | 0644 |
|
ras1.upp | File | 215 B | 0644 |
|
ras24.upp | File | 219 B | 0644 |
|
ras3.upp | File | 214 B | 0644 |
|
ras32.upp | File | 196 B | 0644 |
|
ras4.upp | File | 220 B | 0644 |
|
ras8m.upp | File | 209 B | 0644 |
|
rollconv.ps | File | 12.23 KB | 0644 |
|
s400a1.upp | File | 1.42 KB | 0644 |
|
s400b1.upp | File | 1.57 KB | 0644 |
|
sharp.upp | File | 1.89 KB | 0644 |
|
sipixa6.upp | File | 529 B | 0644 |
|
st640ih.upp | File | 2.23 KB | 0644 |
|
st640ihg.upp | File | 1.47 KB | 0644 |
|
st640p.upp | File | 1.87 KB | 0644 |
|
st640pg.upp | File | 1.11 KB | 0644 |
|
st640pl.upp | File | 1.83 KB | 0644 |
|
st640plg.upp | File | 1.08 KB | 0644 |
|
stc.upp | File | 1.88 KB | 0644 |
|
stc1520h.upp | File | 2.1 KB | 0644 |
|
stc2.upp | File | 1.86 KB | 0644 |
|
stc200_h.upp | File | 1.8 KB | 0644 |
|
stc2_h.upp | File | 1.83 KB | 0644 |
|
stc2s_h.upp | File | 2.22 KB | 0644 |
|
stc300.upp | File | 2.09 KB | 0644 |
|
stc300bl.upp | File | 1.31 KB | 0644 |
|
stc300bm.upp | File | 1.4 KB | 0644 |
|
stc500p.upp | File | 1.86 KB | 0644 |
|
stc500ph.upp | File | 1.86 KB | 0644 |
|
stc600ih.upp | File | 2.23 KB | 0644 |
|
stc600p.upp | File | 1.12 KB | 0644 |
|
stc600pl.upp | File | 1.09 KB | 0644 |
|
stc640p.upp | File | 1.07 KB | 0644 |
|
stc740ih.upp | File | 2.07 KB | 0644 |
|
stc800ih.upp | File | 2.11 KB | 0644 |
|
stc800p.upp | File | 1.09 KB | 0644 |
|
stc800pl.upp | File | 1.07 KB | 0644 |
|
stc_h.upp | File | 1.87 KB | 0644 |
|
stc_l.upp | File | 734 B | 0644 |
|
stcany.upp | File | 673 B | 0644 |
|
stcany_h.upp | File | 681 B | 0644 |
|
stcinfo.ps | File | 24.92 KB | 0644 |
|
stcolor.ps | File | 4.95 KB | 0644 |
|
stocht.ps | File | 2.44 KB | 0644 |
|
traceimg.ps | File | 1.35 KB | 0644 |
|
traceop.ps | File | 2.51 KB | 0644 |
|
uninfo.ps | File | 5.85 KB | 0644 |
|
viewcmyk.ps | File | 1.94 KB | 0644 |
|
viewgif.ps | File | 5.27 KB | 0644 |
|
viewjpeg.ps | File | 5.56 KB | 0644 |
|
viewmiff.ps | File | 4.15 KB | 0644 |
|
viewpbm.ps | File | 10.04 KB | 0644 |
|
viewpcx.ps | File | 5.11 KB | 0644 |
|
viewps2a.ps | File | 1.11 KB | 0644 |
|
winmaps.ps | File | 3.52 KB | 0644 |
|
zeroline.ps | File | 2.26 KB | 0644 |
|