'\" t '\" '\" DO NOT EDIT! This file is generated from ddstdecode.1in '\" .TH ddstdecode 1 "Thu Sep 02 12:45:45 2021" "ddstdecode 0.0" '\" '\" '\"========================================================================== '\" STRINGS and MACROS '\"========================================================================== '\" '\" Define strings for special characters that nroff doesn't have '\" '\" N.B. using .if cua to test for special characters did not work. '\" .if !'\*[.T]'ps' .ds ua up .if '\*[.T]'ps' .ds ua \(ua .if !'\*[.T]'ps' .ds da down .if '\*[.T]'ps' .ds da \(da .if !'\*[.T]'ps' .ds <- left .if '\*[.T]'ps' .ds <- \(<- .if !'\*[.T]'ps' .ds -> right .if '\*[.T]'ps' .ds -> \(-> '\" '\" bx - box a Courier string for making keycaps '\" '\" N.B. this mess is to make the line drawing come out only '\" if we are really generating postscript '\" .de bx .ie !'\*[.T]'ps' \{\ . RB [ \\$1 ]\\$2 .\} .el \{\ . ie !r ps4html \{\ '\" \(br\|\s\-1\f(CB\\$1\fP\s+1\|\(br\l'|0\(rn'\l'|0\(ul' . ft CW . nr par*bxw \w'\\$1'+.4m \Z'\v'.25m'\D'l 0 \-1m'\D'l \\n[par*bxw]u 0'\D'l 0 1m'\D'l \-\\n[par*bxw]u 0''\ \Z'\h'.2m'\s\-1\\$1\s+1'\ \h'\\n[par*bxw]u'\\$2 . ft P . \} . el \{\ . RB [ \\$1 ]\\$2 . \} .\} .. '\" '\" strings to set current color (null with old groff) '\" .if mred .ds red \m[red] .if mgreen .ds green \m[green] .if mblue .ds blue \m[blue] .if mblack .ds black \m[black] .if mblack .ds mP \mP '\" '\" fix for grotty + xterm. We call for orange, grotty outputs yellow, '\" but xterm displays yellow as orange. The cycle is complete. '\" .if n .defcolor orange rgb #ffff00 '\" '\" color \- set the current color (ignores request with old groff) '\" .de color .if mred \m[\\$1]\c .. '\" '\" colorword \- colorize a word (ignored by old groff) '\" .de colorword .ie m\\$1 \m[\\$1]\\$2\mP\c .el \\$2\c .. '\" '\" colbox \- colorize a word in a filled box '\" .de colbox .ie mred \M[\\$2]\ \v'+.167v'\ \D'P 0 \-0.9v \w'\\$3'u 0 0 +0.9v \-\w'\\$3'u 0'\ \v'\-.167v'\ \m[\\$1]\\$3\mP\MP .el \\$3\c .. '\" '\" Macros for doing pdfmarks '\" .de specialps .if '\*[.T]'ps' \\k_\X'ps: \\$*'\h'|\\n_u'\c .. '\" '\" pdfmark PDFMARKCODE '\" .ds pdfmarks .if d pdfmarks \{\ .de pdfmark . specialps exec [\\$1 pdfmark .. '\" '\" pdfdest LINKNAME '\" .de pdfdest .pdfmark "/Dest /\\$1 /View [/XYZ \-5 PL null] /DEST" .. '\" '\" pdfbookmark COUNT LINKNAME STRING '\" .de pdfbookmark . pdfmark "/View [/XYZ 44 730 1.0] /Count \\$1 /Dest /\\$2 /Title (\\$3) /OUT" .. '\" '\" Define the SH and SS macros to save pdfmark information '\" in "arrays" of numbers and strings. '\" .if !r rr_n \{\ .nr rr_n 0 1 .am SH . nr rr_levels!\\n+[rr_n] 2 . ds rr_labels!\\n[rr_n] \\$* . pdfdest Link\\n[rr_n] .. .am SS . nr rr_levels!\\n+[rr_n] 3 . ds rr_labels!\\n[rr_n] \\$* . pdfdest Link\\n[rr_n] .. .\} '\" '\" Called at the end of the document to generate the pdfmark outline '\" .de pdf_outline .nr rr_levels!\\n+[rr_n] 1 .nr rr_i 0 1 .while \\n+[rr_i]<\\n[rr_n] \{\ . nr rr_ip1 \\n[rr_i]+1 . nr rr_count 0 . if \\n[rr_levels!\\n[rr_ip1]]>\\n[rr_levels!\\n[rr_i]] \{\ . nr rr_j \\n[rr_i] 1 . while \\n+[rr_j]<\\n[rr_n] \{\ . if \\n[rr_levels!\\n[rr_j]]<=\\n[rr_levels!\\n[rr_i]] \{\ . break . \} . if \\n[rr_levels!\\n[rr_j]]==(\\n[rr_levels!\\n[rr_i]]+1) \{\ . nr rr_count \\n[rr_count]+1 . \} . \} . \} . ds hhh \\*[rr_labels!\\n[rr_i]] . pdfbookmark \-\\n[rr_count] Link\\n[rr_i] "\\*[hhh]" .\} .. '\" '\" Some postscript to make pdfmarks harmless on old interpreters... '\" .specialps "def /pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse" '\" '\" Force display of Bookmarks in Acrobat when document is viewed. '\" .pdfmark "[/PageMode /UseOutlines /Page 1 /View [/XYZ null null null] /DOCVIEW" '\" '\" Output the document info in pdfmarks '\" .pdfmark "\ /Title (\*[an-title](\*[an-section])) \ /Subject (\*[an-title] Manual Page) \ /Author (Rick Richardson) \ /Keywords (printing) \ /Creator (groff \n(.x.\n(.y.\n(.Y \-man) \ /CreationDate (\*[an-extra1]) \ /ModDate (\*[an-extra1]) \ /DOCINFO" \} '\" '\" The manual page name is only 1st level mark '\" .nr rr_levels!\n+[rr_n] 1 .ds rr_labels!\n[rr_n] \*[an-title](\*[an-section]) .pdfdest Link\n[rr_n] '\" '\"========================================================================== '\" MANUAL PAGE SOURCE '\"========================================================================== .SH NAME ddstdecode \- Decode a Ricoh DDST stream into human readable form. .SH SYNOPSIS .B ddstdecode .RI [ options "] <" ddst-file .SH DESCRIPTION .B ddstdecode decodes a Ricoh DDST stream into human readable form. .P A Ricoh DDST stream is the printer language used by some Ricoh printers. From what I can tell, it is pbmtojbg(1) wrapped with some PJL. .SH COMMAND LINE OPTIONS These are the options that can appear on the command line. .TP .BI \-d\0 basename Basename of .pbm file for saving decompressed planes. .TP .BI \-h Print hex file offsets. .TP .BI \-o Print file offsets. .TP .BI \-D\0 level Set Debug level [0]. .SH EXAMPLES Decode an Ricoh DDST stream file created by a Ricoh SP112. .nf .ft CW $ ddstdecode -h ~/testpage-ricoh-sp112.prn 0: \033%-12345X@PJL f: @PJL SET TIMESTAMP=2017/03/16 16:53:16 37: @PJL SET FILENAME=testpage.pdf 57: @PJL SET COMPRESS=JBIG 6f: @PJL SET USERNAME=rick 87: @PJL SET COVER=OFF 9b: @PJL SET HOLD=OFF ae: @PJL SET PAGESTATUS=START c9: @PJL SET COPIES=1 dc: @PJL SET MEDIASOURCE=TRAY1 f8: @PJL SET MEDIATYPE=PLAINRECYCLE 119: @PJL SET PAPER=LETTER 130: @PJL SET PAPERWIDTH=5100 14a: @PJL SET PAPERLENGTH=6600 165: @PJL SET RESOLUTION=600 17e: @PJL SET IMAGELEN=60604 197: DDST_JBIG_DATA_BEGIN 60604 bytes DL = 0, D = 0, P = 1, - = 0, XY = 5100 x 6600 L0 = 128, MX = 0, MY = 0 Order = 3 ILEAVE SMID Options = 72 LRLTWO TPBON 52 stripes, 0 layers, 1 planes ee53: DDST_JBIG_DATA_END ee53: @PJL SET DOTCOUNT=1765571 ee6e: @PJL SET PAGESTATUS=END ee87: @PJL EOJ ee91: \033%-12345X .ft P .fi .SH FILES .BR /usr/bin/ddstdecode .SH SEE ALSO .BR foo2ddst-wrapper (1), .BR foo2ddst (1), .BR pbmtojbg (1) .SH "AUTHOR" Rick Richardson .br http://foo2xqx.rkkda.com/ '\" '\" '\" .em pdf_outline