'\" t '\" '\" DO NOT EDIT! This file is generated from hbpldecode.1in '\" .TH hbpldecode 1 "Thu Sep 02 12:45:45 2021" "hbpldecode 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 hbpldecode \- Decode a HBPL stream into human readable form. .SH SYNOPSIS .B hbpldecode .RI [ options "] <" hbpl-file .SH DESCRIPTION .B hbpldecode decodes a HBPL stream into human readable form. HBPL is Host Based Printer Language. .P There are two versions of HBPL in existence. .P Version one is an HBPL stream with JBIG2 (?) data. This data is used by the Dell 1250c, Dell C1660w, Epson AcuLaser C1700, Fuji-Xerox cp105b, and similar printers. These printers are unsupported. .P Version two is an HBPL stream with JBIG encoded data. This data is used by the Xerox WorkCentre 6015, Fuji Xerox DocuPrint CM205, Dell 1355c, and similar printers. These printers are supported by foo2hbpl2-wrapper et al. .P Both versions can be decoded by hbpldecode. .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 HBPL stream file, version 1. .nf .ft CW $ hbpldecode \-h 1250c-mono.prn 0: \\033%-12345X@PJL JOB MODE=PRINTER 1f: @PJL SET STRINGCODESET=UTF8 3b: @PJL COMMENT DATE=06/01/2011 58: @PJL COMMENT TIME=13:28:30 73: @PJL COMMENT DNAME=empty \- Notepad 96: @PJL SET JOBATTR="@LUNA=rick" b4: @PJL SET COPIES=1 c6: @PJL SET QTY=1 d5: @PJL SET JOBATTR="@TRCH=OFF" f2: @PJL SET DUPLEX=OFF 106: @PJL SET BINDING=LONGEDGE 120: @PJL SET RENDERMODE=GRAYSCALE 13e: @PJL SET ECONOMODE=OFF 155: @PJL SET RET=ON 165: @PJL SET JOBATTR="@IREC=OFF" 182: @PJL SET JOBATTR="@HOAD=I0A00020F" 1a5: @PJL SET JOBATTR="@JOAU=rick" 1c3: @PJL SET JOBATTR="@CNAM=RICK-VB" 1e4: @PJL SET IWAMANUALDUP=OFF 1fe: @PJL SET IWAJAMRECOVERY=AUTO 21b: @PJL SET JOBATTR="@MSIP=NORMAL" 23b: @PJL SET PAPERDIRECTION=SEF 257: @PJL SET RESOLUTION=600 26f: @PJL SET BITSPERPIXEL=8 287: @PJL SET JOBATTR="@DRDM=RASTER" 2a7: @PJL SET JOBATTR="@TCPR=33" 2c3: @PJL SET JOBATTR="@TUCR=33" 2df: @PJL SET JOBATTR="@TTRC=33" 2fb: @PJL SET JOBATTR="@TSCR=33" 317: @PJL SET JOBATTR="@GCPR=33" 333: @PJL SET JOBATTR="@GUCR=33" 34f: @PJL SET JOBATTR="@GTRC=33" 36b: @PJL SET JOBATTR="@GSCR=33" 387: @PJL SET JOBATTR="@ICPR=34" 3a3: @PJL SET JOBATTR="@IUCR=34" 3bf: @PJL SET JOBATTR="@ITRC=34" 3db: @PJL SET JOBATTR="@ISCR=34" 3f7: @PJL SET JOBATTR="@TDFT=0" 412: @PJL SET JOBATTR="@GDFT=0" 42d: @PJL SET JOBATTR="@IDFT=0" 448: @PJL ENTER LANGUAGE=HBPL 461: RECTYPE 'A' [0x41]: 462: 81 a1: 0x0 465: 82 a2: 0x7 469: 83 a2: 0x1 46d: RECTYPE 'C' [0x43]: 46e: 91 a1: 0x0 471: 92 a1: 0x1 474: 93 a1: 0x1 477: 94 a1: 0x0 47a: 95 c2: 0x0 480: 96 a1: 0x0 483: 97 c3: 0x0 489: 98 a1: 0x0 48c: 99 a4: 1 [PAGECNT] 492: 9a c4: 5104x6600 [WxH] 49c: 9b a1: 0x0 49f: 9c a1: 0x1 4a2: 9d a1: 0x9 4a5: 9e a1: 0x2 4a8: 9f a1: 0x5 4ab: a0 a1: 0x8 4ae: a1 a1: 0x0 4b1: a2 c4: 5104x6600 [WxH] 4bb: RECTYPE 'Q' [0x51]: 4bc: RECTYPE 'R' [0x52]: 4bd: a3 a1: 0x0 4c0: a4 a2: 6457 (0x1939) bytes of data... 1dfe: RECTYPE 'S' [0x53]: 1dff: RECTYPE 'D' [0x44]: 1e00: RECTYPE 'B' [0x42]: 1dff: \\033%-12345X@PJL EOJ .ft P .fi Decode an HBPL stream file, version 2. .nf .ft CW $ hbpldecode \-h 6015c-color.prn 0: \033%-12345X@PJL JOB NAME=PRINTER 20: @PJL SET JOBATTR="HOST:dual.rkkda.org" 48: @PJL SET JOBATTR="USER:rick" 66: @PJL SET JOBATTR="DOCU:(stdin)" 87: @PJL SET JOBATTR="OWNR:rick" a5: @PJL SET DUPLEX=OFF ba: @PJL SET MEDIASOURCE=0 d2: @PJL SET RENDERMODE=COLOR ed: @PJL SET RESOLUTION=600 106: @PJL SET BITSPERPIXEL=2 11f: @PJL SET COPIES=1 132: @PJL ENTER LANGUAGE=HBPL 14c: RECTYPE JP [Job Parameters] 00000000: 1b 4a 50 04 01 00 00 01 00 00 00 00 00 00 00 00 .JP..... ........ 00000010: b0 bd ac 43 00 f0 cf 08 f4 9f ac 43 59 ba a0 43 ...C.... ...CY..C 00000020: f4 9f ac 43 00 e0 cd 08 9c ba a0 43 00 f0 cf 08 ...C.... ...C.... 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ 18c: RECTYPE PS [Page Start] 00000000: 1b 50 53 3c 00 14 00 00 06 19 00 00 00 78 f4 01 .PS<.... .....x.. 00000010: 90 03 00 00 04 01 01 00 58 02 e0 00 00 00 e0 00 ........ X....... 00000020: 00 00 e0 00 00 00 f0 00 00 00 00 00 00 00 00 00 ........ ........ 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ w,h=5120x6406 res=600 color=1 mediatype=Plain(1) papersize=Letter(4) 1cc: Cyan BIH: DL = 0, D = 0, P = 1, \- = 0, XY = 10240 x 6406 L0 = 128, MX = 0, MY = 0 Order = 0 Options = 64 LRLTWO 51 stripes, 0 layers, 1 planes ...cyan data skipped... 2ac: Magenta BIH: DL = 0, D = 0, P = 1, \- = 0, XY = 10240 x 6406 L0 = 128, MX = 0, MY = 0 Order = 0 Options = 64 LRLTWO 51 stripes, 0 layers, 1 planes ...magenta data skipped... 38c: Yellow BIH: DL = 0, D = 0, P = 1, \- = 0, XY = 10240 x 6406 L0 = 128, MX = 0, MY = 0 Order = 0 Options = 64 LRLTWO 51 stripes, 0 layers, 1 planes ...yellow data skipped... 46c: Black BIH: DL = 0, D = 0, P = 1, \- = 0, XY = 10240 x 6406 L0 = 128, MX = 0, MY = 0 Order = 0 Options = 64 LRLTWO 51 stripes, 0 layers, 1 planes ...black data skipped... 55c: RECTYPE PE [Page End] 00000000: 1b 50 45 3c 00 00 00 00 77 00 00 00 7c 00 00 00 .PE<.... w...|... 00000010: 08 e0 cd 08 00 00 00 00 9c 55 ac bf f4 9f ac 43 ........ .U.....C 00000020: e0 a3 ac 43 00 00 00 00 19 00 00 00 75 9e 99 43 ...C.... ....u..C 00000030: 00 21 99 43 00 00 00 00 01 00 00 00 9a 0e 99 43 .!.C.... .......C 59c: \\033%-12345X@PJL EOJ .ft P .fi .SH FILES .BR /usr/bin/hbpldecode .SH SEE ALSO .BR foo2hbpl2-wrapper (1), .BR foo2hbpl2 (1) .SH "AUTHOR" Rick Richardson .br Peter Korf .br http://foo2hbpl.rkkda.com/ '\" '\" '\" .em pdf_outline