'\" t '\" '\" DO NOT EDIT! This file is generated from xqxdecode.1in '\" .TH xqxdecode 1 "Thu Sep 02 12:45:45 2021" "xqxdecode 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 xqxdecode \- Decode a XQX stream into human readable form. .SH SYNOPSIS .B xqxdecode .RI [ options "] <" xqx-file .SH DESCRIPTION .B xqxdecode decodes a XQX stream into human readable form. .P An XQX stream is the printer language used by some HP LaserJet printers, such as the HP LaserJet M1005 (MFP). .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 XQX stream file created by foo2xqx. .nf .ft CW $ xqxdecode \-h < testpage.xm 0: \\033%-12345X@PJL JOB 12: @PJL SET JAMRECOVERY=OFF 2b: @PJL SET DENSITY=3 3e: @PJL SET ECONOMODE=OFF 55: @PJL SET RET=MEDIUM 69: @PJL INFO STATUS 7a: @PJL USTATUS DEVICE = ON 93: @PJL USTATUS JOB = ON a9: @PJL USTATUS PAGE = ON c0: @PJL USTATUS TIMED = 30 10c: @PJL SET JOBATTR="JobAttr4=20061118160242" 10c: XQX_MAGIC, 0x5851582c (,XQX) 110: XQX_START_DOC(1), 7 items 118: XQXI_0x80000000, 84 (0x54) 124: XQXI_0x10000005, 1 (0x1) 130: XQXI_0x10000001, 0 (0x0) 13c: XQXI_DMDUPLEX, 0 (0x0) 148: XQXI_0x10000000, 0 (0x0) 154: XQXI_0x10000003, 1 (0x1) 160: XQXI_END, 3735928559 (0xdeadbeef) 16c: XQX_START_PAGE(3), 15 items [Page 1] 174: XQXI_0x80000000, 180 (0xb4) 180: XQXI_0x20000005, 1 (0x1) 18c: XQXI_DMDEFAULTSOURCE, 7 (0x7) 198: XQXI_DMMEDIATYPE, 1 (0x1) 1a4: XQXI_0x20000007, 1 (0x1) 1b0: XQXI_RESOLUTION_X, 600 (0x258) 1bc: XQXI_RESOLUTION_Y, 600 (0x258) 1c8: XQXI_RASTER_X, 9856 (0x2680) 1d4: XQXI_RASTER_Y, 6432 (0x1920) 1e0: XQXI_VIDEO_BPP, 2 (0x2) 1ec: XQXI_VIDEO_X, 4923 (0x133b) 1f8: XQXI_VIDEO_Y, 6432 (0x1920) 204: XQXI_ECONOMODE, 0 (0x0) 210: XQXI_DMPAPER, 1 (0x1) 21c: XQXI_END, 3735928559 (0xdeadbeef) 228: XQX_START_PLANE(5), 4 items 230: XQXI_0x80000000, 64 (0x40) 23c: XQXI_0x40000000, 0 (0x0) 248: XQXI_BIH(0x40000002) DL = 0, D = 0, P = 1, \- = 0, XY = 9856 x 6432 L0 = 128, MX = 16, MY = 0 Order = 3 ILEAVE SMID Options = 92 LRLTWO TPDON TPBON DPON 51 stripes, 0 layers, 1 planes 264: XQXI_END, 3735928559 (0xdeadbeef) 270: XQX_JBIG(7), 110 items 2e6: XQX_END_PLANE(6), 0 items 2ee: XQX_END_PAGE(4), 0 items 2f6: XQX_END_DOC(2), 0 items Total size: 110 bytes 0: \\033%-12345X@PJL EOJ 12: \\033%-12345X .ft P .fi .SH FILES .BR /usr/bin/xqxdecode .SH SEE ALSO .BR foo2xqx-wrapper (1), .BR foo2xqx (1) .SH "AUTHOR" Rick Richardson .br http://foo2xqx.rkkda.com/ '\" '\" '\" .em pdf_outline