/usr/share/ghostscript/8.70/lib
NameSizeModeActions
acctest.ps43240644editdlrm
addxchar.ps98480644editdlrm
align.ps23130644editdlrm
bdftops.ps234030644editdlrm
bj8.rpd6390644editdlrm
bj8gc12f.upp15280644editdlrm
bj8hg12f.upp15270644editdlrm
bj8oh06n.upp15130644editdlrm
bj8pa06n.upp15210644editdlrm
bj8pp12f.upp15380644editdlrm
bj8ts06n.upp15260644editdlrm
bjc610a0.upp15230644editdlrm
bjc610a1.upp15120644editdlrm
bjc610a2.upp15130644editdlrm
bjc610a3.upp15180644editdlrm
bjc610a4.upp15260644editdlrm
bjc610a5.upp15130644editdlrm
bjc610a6.upp15130644editdlrm
bjc610a7.upp15160644editdlrm
bjc610a8.upp15220644editdlrm
bjc610b1.upp15120644editdlrm
bjc610b2.upp15130644editdlrm
bjc610b3.upp15180644editdlrm
bjc610b4.upp15260644editdlrm
bjc610b6.upp15130644editdlrm
bjc610b7.upp15170644editdlrm
bjc610b8.upp15220644editdlrm
bjc6000a1.upp16600644editdlrm
bjc6000b1.upp16600644editdlrm
caption.ps17210644editdlrm
cbjc600.ppd110400644editdlrm
cbjc800.ppd113830644editdlrm
cdj550.upp16860644editdlrm
cdj690.upp19950644editdlrm
cdj690ec.upp20560644editdlrm
cid2code.ps44750644editdlrm
decrypt.ps3500644editdlrm
dmp_init.ps72460644editdlrm
dmp_site.ps4590644editdlrm
dnj750c.upp28040644editdlrm
dnj750m.upp19710644editdlrm
docie.ps73730644editdlrm
dumphint.ps200440644editdlrm
escp_24.src3500644editdlrm
font2c.ps195910644editdlrm
font2pcl.ps175680644editdlrm
ghostpdf.ppd256430644editdlrm
gslp.ps196430644editdlrm
gsnup.ps27250644editdlrm
gs_ce_e.ps23640644editdlrm
gs_cmdl.ps48440644editdlrm
gs_fform.ps31620644editdlrm
gs_il2_e.ps27770644editdlrm
gs_kanji.ps39420644editdlrm
gs_ksb_e.ps32910644editdlrm
gs_l.xbm19450644editdlrm
gs_l.xpm27510644editdlrm
gs_lgo_e.ps28860644editdlrm
gs_lgx_e.ps19120644editdlrm
gs_l_m.xbm19550644editdlrm
gs_m.xbm9450644editdlrm
gs_m.xpm14370644editdlrm
gs_m_m.xbm9550644editdlrm
gs_pfile.ps43490644editdlrm
gs_rdlin.ps8620644editdlrm
gs_s.xbm5940644editdlrm
gs_s.xpm9570644editdlrm
gs_s_m.xbm6040644editdlrm
gs_t.xbm3450644editdlrm
gs_t.xpm6050644editdlrm
gs_t_m.xbm3550644editdlrm
gs_wl1_e.ps25300644editdlrm
gs_wl2_e.ps25280644editdlrm
gs_wl5_e.ps25460644editdlrm
ht_ccsto.ps2281940644editdlrm
image-qa.ps733230644editdlrm
impath.ps55380644editdlrm
jispaper.ps9300644editdlrm
landscap.ps15250644editdlrm
level1.ps1100644editdlrm
lines.ps38680644editdlrm
markhint.ps34730644editdlrm
markpath.ps18900644editdlrm
mkcidfm.ps73050644editdlrm
necp2x.upp10410644editdlrm
necp2x6.upp10650644editdlrm
packfile.ps103580644editdlrm
pcharstr.ps35840644editdlrm
pdf2dsc.ps83770644editdlrm
PDFA_def.ps11700644editdlrm
pdfopt.ps365160644editdlrm
pdfwrite.ps116760644editdlrm
PDFX_def.ps18680644editdlrm
pf2afm.ps153510644editdlrm
pfbtopfa.ps11410644editdlrm
PM760p.upp11600644editdlrm
PM760pl.upp11240644editdlrm
PM820p.upp11420644editdlrm
PM820pl.upp11170644editdlrm
ppath.ps19740644editdlrm
pphs3910644editdlrm
pphs.ps69220644editdlrm
prfont.ps64870644editdlrm
printafm.ps37750644editdlrm
ps2ai.ps224850644editdlrm
ps2ascii.ps446180644editdlrm
ps2epsi.ps81870644editdlrm
quit.ps50644editdlrm
ras1.upp2110644editdlrm
ras3.upp2100644editdlrm
ras4.upp2160644editdlrm
ras8m.upp2050644editdlrm
ras24.upp2150644editdlrm
ras32.upp1920644editdlrm
rollconv.ps117650644editdlrm
s400a1.upp14540644editdlrm
s400b1.upp16030644editdlrm
sharp.upp19360644editdlrm
showchar.ps29320644editdlrm
showpage.ps90644editdlrm
sipixa6.upp5290644editdlrm
st640ih.upp22770644editdlrm
st640ihg.upp15040644editdlrm
st640p.upp19100644editdlrm
st640pg.upp11370644editdlrm
st640pl.upp18740644editdlrm
st640plg.upp11010644editdlrm
stc.upp19190644editdlrm
stc2.upp19000644editdlrm
stc2s_h.upp22680644editdlrm
stc2_h.upp18750644editdlrm
stc200_h.upp18440644editdlrm
stc300.upp21320644editdlrm
stc300bl.upp13370644editdlrm
stc300bm.upp14260644editdlrm
stc500p.upp18990644editdlrm
stc500ph.upp18990644editdlrm
stc600ih.upp22770644editdlrm
stc600p.upp11470644editdlrm
stc600pl.upp11110644editdlrm
stc640p.upp10910644editdlrm
Stc670p.upp11590644editdlrm
Stc670pl.upp11240644editdlrm
Stc680p.upp11400644editdlrm
Stc680pl.upp11150644editdlrm
stc740ih.upp21230644editdlrm
Stc740p.upp10390644editdlrm
Stc740pl.upp11150644editdlrm
Stc760p.upp11410644editdlrm
Stc760pl.upp11150644editdlrm
Stc777p.upp11400644editdlrm
Stc777pl.upp11150644editdlrm
stc800ih.upp21540644editdlrm
stc800p.upp11110644editdlrm
stc800pl.upp10930644editdlrm
stc1520h.upp21500644editdlrm
stcany.upp6690644editdlrm
stcany_h.upp6770644editdlrm
stcinfo.ps257330644editdlrm
stcolor.ps52210644editdlrm
stc_h.upp19090644editdlrm
stc_l.upp7300644editdlrm
stocht.ps26460644editdlrm
Stp720p.upp11580644editdlrm
Stp720pl.upp11150644editdlrm
Stp870p.upp11400644editdlrm
Stp870pl.upp11150644editdlrm
traceimg.ps15280644editdlrm
traceop.ps27340644editdlrm
type1enc.ps25360644editdlrm
type1ops.ps75760644editdlrm
uninfo.ps61360644editdlrm
unprot.ps19040644editdlrm
viewcmyk.ps21130644editdlrm
viewgif.ps45730644editdlrm
viewjpeg.ps49490644editdlrm
viewmiff.ps37780644editdlrm
viewpbm.ps53070644editdlrm
viewpcx.ps43450644editdlrm
viewps2a.ps12820644editdlrm
wftopfa.ps89230644editdlrm
winmaps.ps37430644editdlrm
wrfont.ps181680644editdlrm
zeroline.ps24630644editdlrm
Edit: /usr/share/ghostscript/8.70/lib/dumphint.ps (20044B)
% Copyright (C) 2000, 2001 Aladdin Enterprises. 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. % % For more information about licensing, please refer to % http://www.ghostscript.com/licensing/. For information on % commercial licensing, go to http://www.artifex.com/licensing/ or % contact Artifex Software, Inc., 101 Lucas Valley Road #110, % San Rafael, CA 94903, U.S.A., +1(415)492-9861. % $Id: dumphint.ps 8284 2007-10-10 17:40:38Z giles $ % Linearized PDF hint formatting utility. % % Linearized PDF hints generated by Acrobat suite seem to deviate from % the published specification. % % /P (page offset hint table) key in hint stream is not generated by % Adobe products. The key is no longer required in PDF 1.5. % % Per-page items 4 and 5 of the page offset hint table start from 1st % page rather than 2nd page as the spec claims. % % All array entries start from the new byte boundary. % /table_width 79 def /col1_width 66 def % Skip bits to the next byte boundary /bytealign { % bytealign - begin /N 0 def /B 0 def end } bind def % Set bit stream position and align it to byte boundary /set_align { % <<>> pos set_align - exch begin S exch setfileposition /N 0 def /B 0 def end } bind def % Read requested number of bits from the bit stream. /bitread { % bitwrite exch begin 0 % bit val { 1 index N .min % bit val m dup 3 1 roll % bit m val m bitshift % bit m val<>(N-m) 3 -1 roll % m val' bit 2 index sub % m val' bit' 3 -1 roll % val' bit' m N exch sub dup % val' bit' N' N' 1 exch bitshift % val' bit' N' 1<)= } { hint_stream /S get 128 string readstring pop dup length 128 eq { == } { pop (Error reading nd5 string.) == } ifelse } ifelse } forall } { () = (none) = } ifelse (4. The number of objects in the group.) array_header hint_stream bytealign /shint_group_cnt [ shint_all_shared { hint_stream shint_group_bits bitread } repeat ] readonly def shint_group_cnt dump_array } bind def % Analyze the thumbnail hint table. /dump_thumbnail_table { hint_stream dup 32 bitread dup /thint_1st_obj_id exch def (1. Object number of the first thumbnail image.) two_column dup 32 bitread dup /thint_1st_obj_pos exch def (2. Location of the first thumbnail image.) two_column dup 32 bitread dup /thint_page_cnt exch def (3. Number of pages that have thumbnail images.) two_column dup 16 bitread dup /thint_no_thumbnail_bits exch def (4. Bits for the max number of consecutive pages without a thumbnail image.) two_column dup 32 bitread dup /thint_min_sz exch def (5. The least length of a thumbnail image in bytes.) two_column dup 15 bitread dup /thint_obj_sz_bits exch def (6. Bits for the difference between max and min length of a thumbnail image.) two_column dup 32 bitread dup /thint_min_obj_cnt exch def (7. The least number of objects in a thumbnail image.) two_column dup 16 bitread dup /thint_obj_cnt_bits exch def (8. Bits for the difference between max and min number of objects in a thumbnail image.) two_column dup 32 bitread dup /thint_1st_shared_obj exch def (9. First object in the thumbnail shared objects section.) two_column dup 32 bitread dup /thint_1st_shared_pos exch def (10. Location of the first object in the thumbnail shared objects section.) two_column dup 32 bitread dup /thint_shared_cnt exch def (11. Number of thumbnail shared objects.) two_column dup 32 bitread dup /thint_shared_section_sz exch def (12. Length of the thumbnail shared objects section in bytes.) two_column pop LinearizationParams /N get (1. The number of preceding pages lacking a thumbnail image.) array_header hint_stream bytealign /thint_no_thumbnail_pages [ 2 index { hint_stream thint_no_thumbnail_bits bitread } repeat ] readonly def thint_no_thumbnail_pages dump_array (2. Number of objects in this page's thumbnail image.) array_header hint_stream bytealign /thint_page_obj_cnt [ 2 index { hint_stream thint_obj_cnt_bits bitread thint_min_obj_cnt add } repeat ] readonly def thint_page_obj_cnt dump_array (3. Length of this page's thumbnail image in bytes.) array_header hint_stream bytealign /thint_page_obj_sz [ 2 index { hint_stream thint_obj_sz_bits bitread thint_min_sz add } repeat ] readonly def thint_page_obj_sz dump_array pop } bind def % Analyze the generic hint table. % The hint field names are re-used. /dump_generic_table { hint_stream dup 32 bitread dup /ghint_1st_obj exch def (1. Object number of the first object in the group.) two_column dup 32 bitread dup /ghint_1st_obj_pos exch def (2. Location of the first object in the group.) two_column dup 32 bitread dup /ghint_obj_cnt exch def (3. Number of objects in the group.) two_column dup 32 bitread dup /ghint_group_sz exch def (4. Length of the object group in bytes.) two_column pop } bind def % Analyze the interactive hint table. % The hint field names are re-used. /dump_interactive_table { hint_stream dup 32 bitread dup /ihint_1st_obj exch def (1. Object number of the first object in the group.) two_column dup 32 bitread dup /ihint_1st_obj_pos exch def (2. Location of the first object in the group.) two_column dup 32 bitread dup /ihint_obj_cnt exch def (3. Number of objects in the group.) two_column dup 32 bitread dup /ihint_group_sz exch def (4. Length of the object group in bytes.) two_column dup 32 bitread dup /ihint_shared_cnt exch def (5. Number of shared object references.) two_column dup 16 bitread dup /ihint_shared_obj_bits exch def (6. Bits for the max shared object id used by the interactive form or the logical structure hierarchy.) 1 index hint_sobits ne { (\n*** This fiels is not equal to max shared object ID bits ***) concatstrings } if pop (7. Shared object identifier.) array_header hint_stream bytealign /ihint_shared_obj_id [ ihint_shared_cnt { hint_stream hint_sobits bitread } repeat ] readonly def ihint_shared_obj_id dump_array } bind def % Enumerate all documented hint tables. /dump_all_tables { % <> dump_all_tables - (Page offset hint table) table_header hint_stream 0 set_align dump_page_offset_table (S, Shared object hint table) table_header dup /S .knownget { hint_stream exch set_align dump_shared_object_table } { (Required table is not found.) error_msg } ifelse dup /T .knownget { (T, Thumbnail hint table) table_header hint_stream exch set_align dump_thumbnail_table } if dup /O .knownget { (O, Outline hint table) table_header hint_stream exch set_align dump_generic_table } if dup /A .knownget { (A, Thread information hint table) table_header hint_stream exch set_align dump_generic_table } if dup /E .knownget { (E, Named destination hint table) table_header hint_stream exch set_align dump_generic_table } if dup /V .knownget { (V, Interactive form hint table) table_header hint_stream exch set_align dump_interactive_table } if dup /I .knownget { (I, Information dictionary hint table) table_header hint_stream exch set_align dump_generic_table } if dup /C .knownget { (C, Logical structure hint table) table_header hint_stream exch set_align dump_interactive_table } if dup /L .knownget { (L, Page label hint table) table_header hint_stream exch set_align dump_generic_table } if pop } bind def % Load PDF file and extract the hint stream. /pdf_dump_hints { % pdf_dump_hints - dup (r) file % fname false exch % fname F file { dup 7 string readstring pop % fname F file () (%PDF-1.) ne { pop exit } if % fname F file dup 0 setfileposition dup token not { pop exit } if % fname F file obj dup type /integertype ne { pop exit } if % fname F file obj 1 index token not { pop pop exit } if % fname F file obj gen dup type /integertype ne {pop pop exit}if % fname F file obj gen 4 2 roll % fname obj gen F file dup 0 setfileposition exch true or % fname obj gen file T exit } loop { pdfdict begin pdfopenfile dup begin 40 dict begin /IDict exch def .setsafe % Read all objects into memory. Trailer touch resolveR % fname <<>> dup /Linearized known { dup /L get % fname <<>> Len 3 -1 roll status not { 0 0 0 0 } if % <<>> Len pop pop exch pop % <<>> Len len eq { /LinearizationParams exch def LinearizationParams /H get dup length 2 eq { 0 get PDFoffset add PDFfile exch setfileposition PDFfile token pop PDFfile token pop resolveR dup true resolvestream /ReusableStreamDecode filter bitstream dup bytealign /hint_stream exch def dump_all_tables } { pop (Overflow hint stream is not supported.) = } ifelse } { pop (Wrong file length in linearization dictionary.) = } ifelse } { pop (The file is not linearized.) = } ifelse end % temporary dict end % IDict end } { pop (Input file is not a valid PDF file.) = } ifelse } bind def % Initial setup /dump_hints { counttomark 1 eq { exch pop save exch 3000000 setvmthreshold pdfoptdict begin pdf_dump_hints end restore true } { cleartomark false } ifelse } bind def /shellarguments {false} def (pdfopt.ps) runlibfile currentdict /shellarguments undef % Check for command line arguments. mark shellarguments { dump_hints not { (Usage: gs -dNODISPLAY -- dumphint.ps input.pdf) = flush } if } { pop } ifelse % EOF