PATH:
usr
/
share
/
ghostscript
/
lib
% 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. % % Print Linearized PDF hint streams % Utilities /read1 { % <file> read1 <value> read not { (**** Unexpected EOF) = flush quit } if } bind def /read2 { % <file> read2 <value> dup read1 8 bitshift exch read1 add } bind def /read4 { % <file> read4 <value> dup read2 16 bitshift exch read2 add } bind def % Free variables: Bits, Bitsleft /readninit { % - <readninit> - /Bits 0 def /Bitsleft 0 def } bind def /pdftoken { % <file> pdftoken <token> dup token pop dup type /nametype eq 1 index xcheck and { dup dup (<<) cvn eq exch ([) eq or { exec exch { dup pdftoken dup dup (>>) cvn eq exch (]) eq or { exch pop exec exit } if exch } loop } { exch pop } ifelse } { exch pop } ifelse } bind def /makemask { % <nbits> makemask <mask> 1 exch bitshift 1 sub } bind def /readn { % <file> <nbits> readn <value> dup Bitsleft le { exch pop /Bitsleft Bitsleft 2 index sub def makemask Bits Bitsleft neg bitshift and } { Bitsleft makemask Bits and exch Bitsleft sub exch 1 index bitshift 3 1 roll /Bits 2 index read1 def /Bitsleft 8 def readn add } ifelse } bind def /sread { % <string> sread <file> 0 () /SubFileDecode filter } bind def /ptag { % <pre-tag> <proc> <post-tag> ptag - 3 -1 roll print (: ) print exch exec ( % ) print = } bind def % Print the linearization parameters dictionary. /plpkeys << /E (end of p. 1 objects) /L (total file length) /H (PHS start + length) /N (# of pages) /O (p. 1 object #) /T (offset of first main xref entry) >> def /plpdict { % <dict> plpdict - (<<) = plpkeys { 2 index 2 index .knownget { % Stack: dict key label value ( ) print 3 -1 roll ===only ( ) print ===only ( % ) print = } { pop pop } ifelse } forall { plpkeys 2 index known { pop pop } { ( ) print exch ===only ( ) print === } ifelse } forall (>>) = } bind def % Print the Page Offset Hint Table. /ppoht { % <npages> <file> ppoht - 20 dict begin /f exch def /npages exch def readninit (1) { f read4 =only } (least # objs/page) ptag (2) { f read4 =only } (offset of p. 1 object (+PHS length if beyond PHS)) ptag (3) { f read2 dup =only /nb3 exch def } (# bits for # objs/page delta) ptag (4) { f read4 =only } (least # bytes/page) ptag (5) { f read2 dup =only /nb5 exch def } (# bits for # bytes/page delta) ptag (6) { f read4 =only } (least content stream offset-in-page) ptag (7) { f read2 dup =only /nb7 exch def } (# bits for content stream offset delta) ptag (8) { f read4 =only } (least content stream length) ptag (9) { f read2 dup =only /nb9 exch def } (# bits for content stream length delta) ptag (10) { f read2 dup =only /nb10 exch def } (# bits for # of shared obj refs) ptag (11) { f read2 dup =only /nb11 exch def } (# bits for shared obj indices) ptag (12) { f read2 dup =only /nb12 exch def } (# bits for shared obj ref pos numerators) ptag (13) { f read2 =only } (shared obj ref pos denominator) ptag (*1) { [ npages { f nb3 readn } repeat ] ==only } (# objs/page deltas (see 1,3)) ptag (*2) { [ npages { f nb5 readn } repeat ] ==only } (# bytes/page deltas (see 4,5)) ptag (*3) { [ npages { f nb10 readn } repeat ] dup ==only /nso exch def } (# of shared obj refs (see 10)) ptag (*4) { [ nso { [ exch { f nb11 readn } repeat ] } forall ] ==only } (shared obj indices (see 11)) ptag (*5) { [ nso { [ exch { f nb12 readn } repeat ] } forall ] ==only } (shared obj ref pos numerators (see 12)) ptag (*6) { [ npages { f nb7 readn } repeat ] ==only } (content stream offset-in-page deltas (see 6,7)) ptag (*7) { [ npages { f nb9 readn } repeat ] ==only } (content stream length deltas (see 8,9)) ptag end % temp dict } bind def % Print the Shared Objects Hint Table. /psoht { % <file> psoht - 20 dict begin /f exch def readninit (1) { f read4 =only } (first shared obj #) ptag (2) { f read4 =only } (first shared obj offset (+PHS length if beyond PHS)) ptag (3) { f read4 dup =only /n3 exch def } (# of p. 1 shared objs) ptag (4) { f read4 dup =only /n4 exch def } (total # of shared objs) ptag (5) { f read2 dup =only /nb5 exch def } (# bits for # of shared objs/group) ptag (6) { f read4 =only } (least shared obj group length) ptag (7) { f read2 dup =only /nb7 exch def } (# bits for shared obj group length delta) ptag /nse n4 def (*1) { [ nse { f nb7 readn } repeat ] ==only } (shared obj group length deltas (see 6,7)) ptag (*2) { [ nse { f 1 readn } repeat ] dup ==only /md5s exch def } (MD5 present?) ptag (*3:) = md5s { 0 ne { ( ) print f 16 string readstring pop (%stdout) (w) file dup 3 -1 roll writehexstring closefile () = } if } forall (*4) { [ nse { f nb5 readn } repeat ] ==only } (# objs/group (see 5)) ptag end % temp dict } bind def % Print the Primary Hint Stream of a PDF file. /pphs { % <file> pphs - /pdf exch def % Read the linearization parameter dictionary. { pdf pdftoken /obj eq { exit } if } loop pdf pdftoken /lpdict exch def /lpdict type /dicttype eq { lpdict /Linearized known } { false } ifelse { (Not a linearized PDF file.) = stop } if lpdict plpdict flush % Read the primary hint stream. null { pdf pdftoken dup /stream eq { pop exit } if exch pop } loop /phsdict exch def % Remove Length if indirect reference. phsdict 0 known { phsdict 0 undef phsdict /Length undef } if (PHS: ) print phsdict === flush pdf 0 (endstream) /SubFileDecode filter dup 64000 string readstring pop exch closefile sread /phsdata exch def % Decode the hint stream data if necessary. phsdict /Filter .knownget { phsdata exch filter dup 5000 string readstring pop exch closefile sread /phsdata exch def } if % Adobe says we can assume /P = 0. (Page Offset Hint Table:) = lpdict /N get phsdata phsdict /S get string readstring pop sread ppoht (Shared Objects Hint Table:) = phsdata psoht } bind def % Check for command line arguments. [ shellarguments { ] dup length 1 eq { 0 get (r) file dup pphs closefile } { (Usage: pphs filename.pdf\n) print flush } ifelse } { pop } ifelse
[-] rollconv.ps
[edit]
[-] acctest.ps
[edit]
[-] bjc610b7.upp
[edit]
[-] viewps2a.ps
[edit]
[-] ras3.upp
[edit]
[-] stc1520h.upp
[edit]
[-] stc800p.upp
[edit]
[-] PM820p.upp
[edit]
[-] st640ih.upp
[edit]
[-] stc_l.upp
[edit]
[-] bj8gc12f.upp
[edit]
[-] bj8oh06n.upp
[edit]
[-] viewmiff.ps
[edit]
[-] docie.ps
[edit]
[-] viewgif.ps
[edit]
[-] gs_wl2_e.ps
[edit]
[-] printafm.ps
[edit]
[-] Stp720p.upp
[edit]
[-] st640plg.upp
[edit]
[-] sipixa6.upp
[edit]
[-] lines.ps
[edit]
[-] caption.ps
[edit]
[-] bjc610a0.upp
[edit]
[-] cbjc600.ppd
[edit]
[-] pphs.ps
[edit]
[-] bjc6000a1.upp
[edit]
[-] dnj750m.upp
[edit]
[-] cdj690ec.upp
[edit]
[-] viewpbm.ps
[edit]
[-] Stp720pl.upp
[edit]
[-] cdj550.upp
[edit]
[-] Stc670p.upp
[edit]
[+]
..
[-] gs_il2_e.ps
[edit]
[-] ras24.upp
[edit]
[-] gs_t.xpm
[edit]
[-] bjc610b6.upp
[edit]
[-] stocht.ps
[edit]
[-] viewpcx.ps
[edit]
[-] gs_l_m.xbm
[edit]
[-] gs_s.xbm
[edit]
[-] image-qa.ps
[edit]
[-] landscap.ps
[edit]
[-] dmp_site.ps
[edit]
[-] bjc610a4.upp
[edit]
[-] necp2x.upp
[edit]
[-] align.ps
[edit]
[-] ps2epsi.ps
[edit]
[-] gslp.ps
[edit]
[-] stc740ih.upp
[edit]
[-] bj8.rpd
[edit]
[-] gs_ce_e.ps
[edit]
[-] st640ihg.upp
[edit]
[-] ghostpdf.ppd
[edit]
[-] stc600ih.upp
[edit]
[-] Stc680pl.upp
[edit]
[-] stc.upp
[edit]
[-] stcany_h.upp
[edit]
[-] gs_t_m.xbm
[edit]
[-] stcinfo.ps
[edit]
[-] gs_wl5_e.ps
[edit]
[-] stc500ph.upp
[edit]
[-] gs_wl1_e.ps
[edit]
[-] stc300bl.upp
[edit]
[-] gs_l.xpm
[edit]
[-] ras32.upp
[edit]
[-] winmaps.ps
[edit]
[-] stc500p.upp
[edit]
[-] bjc6000b1.upp
[edit]
[-] mkcidfm.ps
[edit]
[-] pdf2dsc.ps
[edit]
[-] bjc610b8.upp
[edit]
[-] pf2afm.ps
[edit]
[-] s400b1.upp
[edit]
[-] traceimg.ps
[edit]
[-] traceop.ps
[edit]
[-] Stc760pl.upp
[edit]
[-] stc300bm.upp
[edit]
[-] st640pg.upp
[edit]
[-] stc600p.upp
[edit]
[-] st640p.upp
[edit]
[-] Stc777p.upp
[edit]
[-] uninfo.ps
[edit]
[-] ps2ai.ps
[edit]
[-] gs_l.xbm
[edit]
[-] bjc610a2.upp
[edit]
[-] gs_t.xbm
[edit]
[-] bj8hg12f.upp
[edit]
[-] Stp870pl.upp
[edit]
[-] prfont.ps
[edit]
[-] bj8pa06n.upp
[edit]
[-] gs_lgo_e.ps
[edit]
[-] gs_ksb_e.ps
[edit]
[-] stc800pl.upp
[edit]
[-] gs_kanji.ps
[edit]
[-] font2pcl.ps
[edit]
[-] Stc740p.upp
[edit]
[-] stc200_h.upp
[edit]
[-] bjc610a8.upp
[edit]
[-] viewjpeg.ps
[edit]
[-] pfbtopfa.ps
[edit]
[-] bjc610b2.upp
[edit]
[-] necp2x6.upp
[edit]
[-] gs_s.xpm
[edit]
[-] jispaper.ps
[edit]
[-] ppath.ps
[edit]
[-] ras4.upp
[edit]
[-] bjc610a1.upp
[edit]
[-] Stc777pl.upp
[edit]
[-] Stc760p.upp
[edit]
[-] stc300.upp
[edit]
[-] stcany.upp
[edit]
[-] gs_s_m.xbm
[edit]
[-] stc_h.upp
[edit]
[-] ras8m.upp
[edit]
[-] bjc610a6.upp
[edit]
[-] gs_m_m.xbm
[edit]
[-] gs_m.xpm
[edit]
[-] stc600pl.upp
[edit]
[-] stc2s_h.upp
[edit]
[-] bjc610a7.upp
[edit]
[-] PM820pl.upp
[edit]
[-] cid2code.ps
[edit]
[-] bjc610a5.upp
[edit]
[-] stc640p.upp
[edit]
[-] ht_ccsto.ps
[edit]
[-] cdj690.upp
[edit]
[-] st640pl.upp
[edit]
[-] PDFX_def.ps
[edit]
[-] bjc610a3.upp
[edit]
[-] zeroline.ps
[edit]
[-] dmp_init.ps
[edit]
[-] Stc680p.upp
[edit]
[-] PM760p.upp
[edit]
[-] bjc610b3.upp
[edit]
[-] PM760pl.upp
[edit]
[-] sharp.upp
[edit]
[-] stc2_h.upp
[edit]
[-] bj8ts06n.upp
[edit]
[-] stc800ih.upp
[edit]
[-] bjc610b4.upp
[edit]
[-] dnj750c.upp
[edit]
[-] bj8pp12f.upp
[edit]
[-] stc2.upp
[edit]
[-] s400a1.upp
[edit]
[-] bjc610b1.upp
[edit]
[-] viewcmyk.ps
[edit]
[-] PDFA_def.ps
[edit]
[-] cbjc800.ppd
[edit]
[-] ras1.upp
[edit]
[-] gs_lgx_e.ps
[edit]
[-] Stp870p.upp
[edit]
[-] escp_24.src
[edit]
[-] stcolor.ps
[edit]
[-] Stc740pl.upp
[edit]
[-] gs_m.xbm
[edit]
[-] Stc670pl.upp
[edit]
[-] gsnup.ps
[edit]