mirror of
https://github.com/koenkooi/foo2zjs.git
synced 2026-01-22 11:44:49 +08:00
287 lines
7.3 KiB
Groff
287 lines
7.3 KiB
Groff
|
|
'\" t
|
||
|
|
'\"
|
||
|
|
'\" DO NOT EDIT! This file is generated from xqxdecode.1in
|
||
|
|
'\"
|
||
|
|
.TH xqxdecode 1 "Sun Apr 25 16:22:30 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 <color> - set the current color (ignores request with old groff)
|
||
|
|
'\"
|
||
|
|
.de color
|
||
|
|
.if mred \m[\\$1]\c
|
||
|
|
..
|
||
|
|
'\"
|
||
|
|
'\" colorword <color> <word> - colorize a word (ignored by old groff)
|
||
|
|
'\"
|
||
|
|
.de colorword
|
||
|
|
.ie m\\$1 \m[\\$1]\\$2\mP\c
|
||
|
|
.el \\$2\c
|
||
|
|
..
|
||
|
|
'\"
|
||
|
|
'\" colbox <fg> <bg> <word> - 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 <rick.richardson@comcast.net>
|
||
|
|
.br
|
||
|
|
http://foo2xqx.rkkda.com/
|
||
|
|
'\"
|
||
|
|
'\"
|
||
|
|
'\"
|
||
|
|
.em pdf_outline
|