Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
* Merged Dave Coffin <dcoffin@cybercom.net> dcoffin_hbpl1.patch
to 2026-07-29 code base. This was found following the archive
link seen in https://github.com/OpenPrinting/foo2zjs/issues/2
and resolves the initial issue described there. as per patch:
"Fixed all known bugs in foo2hbpl1.c. It now prints multipage
color and grayscale documents without resetting printer."
NOTE: patch was merged, not applied, so it can co-exists with
existing hbpl(2) code, not replace it. Patch date=2014-04-05.

2026-02-06: ValdikSS <iam@valdikss.org.ru>
First release under OpenPrinting umbrella.
https://github.com/OpenPrinting/foo2zjs/releases/tag/20260206
Expand Down Expand Up @@ -234,6 +243,27 @@
Bug with default PageSize.
PLEASE delete and recreate the foo2hbpl2 printers.

2014-03-30 Rick Richardson <rick.richardson@comcast.net>
* foo2hbpl1.c: Cleanup the code

2014-03-25 Rick Richardson <rick.richardson@comcast.net>
* foomatic and PPD stuff for foo2hbpl1 printers: Halftone and ICM

2014-03-24 Rick Richardson <rick.richardson@comcast.net>
* foomatic and PPD stuff for foo2hbpl1 printers
preliminary for: Dell 1250c, Dell C1660w, Dell C1760nw,
Epson AcuLaser C1700, Fuji-Xerox DocuPrint CP105b
* foo2hbpl1-wrapper: allow for gs 7.x or gs 8.x

2014-03-24 Dave Coffin <dcoffin@cybercom.net>
* foo2hbpl1, foo2hbpl1-wrapper, et al: first cut at revision 1
stuff. Color works, mono doesn't. No multiple pages. Printer
shows:
Restart Printer
Contact Support
IfMessageReturns
016-313

2014-03-22 Rick Richardson <rick.richardson@comcast.net>
* hbpldecode: another redundancy from Dave Coffin

Expand Down
46 changes: 42 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ SHARESLX=$(PREFIX)/share/foo2slx
SHAREHC=$(PREFIX)/share/foo2hiperc
SHAREHBPL=$(PREFIX)/share/foo2hbpl
SHAREDDST=$(PREFIX)/share/foo2ddst
SHAREHBPL1=$(PREFIX)/share/foo2hbpl1
MANDIR=$(PREFIX)/share/man
DOCDIR=$(PREFIX)/share/doc/foo2zjs/
INSTALL=install
Expand Down Expand Up @@ -148,6 +149,8 @@ FILES = \
foo2hbpl2.1in \
foo2ddst.c \
foo2ddst.1in \
foo2hbpl1.c \
foo2hbpl1.1in \
cups.h \
xqx.h \
xqxdecode.c \
Expand Down Expand Up @@ -187,6 +190,8 @@ FILES = \
foo2hbpl2-wrapper.1in \
foo2ddst-wrapper.in \
foo2ddst-wrapper.1in \
foo2hbpl1-wrapper.in \
foo2hbpl1-wrapper.1in \
gamma.ps \
gamma-lookup.ps \
align.ps \
Expand Down Expand Up @@ -259,6 +264,7 @@ PROGS+= foo2hiperc hipercdecode
PROGS+= foo2hbpl2 hbpldecode
PROGS+= gipddecode
PROGS+= foo2ddst ddstdecode
PROGS+= foo2hbpl1
ifneq ($(CUPS_SERVERBIN),)
ifneq ($(CUPS_DEVEL),)
ifneq ($(CUPS_GOODAPI),)
Expand All @@ -269,7 +275,7 @@ endif
SHELLS= foo2zjs-wrapper foo2oak-wrapper foo2hp2600-wrapper \
foo2xqx-wrapper foo2lava-wrapper foo2qpdl-wrapper \
foo2slx-wrapper foo2hiperc-wrapper foo2hbpl2-wrapper \
foo2ddst-wrapper
foo2ddst-wrapper foo2hbpl1-wrapper
SHELLS+= foo2zjs-pstops
SHELLS+= printer-profile
MANPAGES= foo2zjs-wrapper.1 foo2zjs.1 zjsdecode.1
Expand All @@ -282,6 +288,7 @@ MANPAGES+= foo2slx-wrapper.1 foo2slx.1 slxdecode.1
MANPAGES+= foo2hiperc-wrapper.1 foo2hiperc.1 hipercdecode.1
MANPAGES+= foo2hbpl2-wrapper.1 foo2hbpl2.1 hbpldecode.1
MANPAGES+= foo2ddst-wrapper.1 foo2ddst.1 ddstdecode.1
MANPAGES+= foo2hbpl1-wrapper.1 foo2hbpl1.1
MANPAGES+= gipddecode.1
MANPAGES+= foo2zjs-pstops.1 arm2hpdl.1 usb_printerid.1
MANPAGES+= printer-profile.1
Expand All @@ -308,7 +315,8 @@ GSOPTS= -q -dBATCH -dSAFER -dQUIET -dNOPAUSE -sPAPERSIZE=letter -r$(GXR)x$(GYR)
JBGOPTS=-m 16 -d 0 -p 92 # Equivalent options for pbmtojbg

.SUFFIXES: .ps .pbm .pgm .pgm2 .ppm .ppm2 .zjs .cmyk .pksm .zc .zm .jbg \
.cups .cupm .1 .1in .fig .gif .xqx .lava .qpdl .slx .hc .hbpl .ddst
.cups .cupm .1 .1in .fig .gif .xqx .lava .qpdl .slx .hc .hbpl \
.ddst .hbpl1

.fig.gif:
fig2dev -L gif $*.fig | giftrans -t "#ffffff" -o $*.gif
Expand Down Expand Up @@ -381,6 +389,9 @@ JBGOPTS=-m 16 -d 0 -p 92 # Equivalent options for pbmtojbg
.pbm.ddst:
./foo2ddst < $*.pbm > $*.ddst

.pbm.hbpl1:
./foo2hbpl1 < $*.pbm > $*.hbpl1

#
# The usual build rules
#
Expand Down Expand Up @@ -450,6 +461,9 @@ all-done:
@echo "yourself."


foo2hbpl1: foo2hbpl1.o
$(CC) $(CFLAGS) -o $@ foo2hbpl1.o $(LDFLAGS)

foo2ddst: foo2ddst.o
$(CC) $(CFLAGS) -o $@ foo2ddst.o $(LIBJBG) $(LDFLAGS)

Expand Down Expand Up @@ -481,6 +495,12 @@ foo2zjs: foo2zjs.o
$(CC) $(CFLAGS) -o $@ foo2zjs.o $(LIBJBG) $(LDFLAGS)


foo2hbpl1-wrapper: foo2hbpl1-wrapper.in Makefile
[ ! -f $@ ] || chmod +w $@
sed < $@.in > $@ \
-e 's@^PREFIX=.*@PREFIX=$(PREFIX)@' || (rm -f $@ && exit 1)
chmod 555 $@

foo2ddst-wrapper: foo2ddst-wrapper.in Makefile
[ ! -f $@ ] || chmod +w $@
sed < $@.in > $@ \
Expand Down Expand Up @@ -838,9 +858,12 @@ install-extra:
$(INSTALL) -c -m 644 $$i $(SHAREHC)/icm/; \
fi; \
done
# foo2hbpl ICM files (if any)
# foo2hbpl(2) ICM files (if any)
$(INSTALL) $(LPuid) $(LPgid) -m 755 -d $(SHAREHBPL)/icm/
for i in hbpl*.icm; do \
if [ $$i = hbpl1*.icm ]; then \
continue; \
fi; \
if [ -f $$i ]; then \
$(INSTALL) -c -m 644 $$i $(SHAREHBPL)/icm/; \
fi; \
Expand All @@ -852,6 +875,13 @@ install-extra:
$(INSTALL) -c -m 644 $$i $(SHAREDDST)/icm/; \
fi; \
done
# foo2hbpl1 ICM files (if any)
$(INSTALL) $(LPuid) $(LPgid) -m 755 -d $(SHAREHBPL1)/icm/
for i in hbpl1*.icm; do \
if [ -f $$i ]; then \
$(INSTALL) -c -m 644 $$i $(SHAREHBPL1)/icm/; \
fi; \
done

MODEL=$(PREFIX)/share/cups/model
LOCALMODEL=$(DESTDIR)/local/share/cups/model
Expand Down Expand Up @@ -1173,8 +1203,9 @@ uninstall: uninstall-aa
-rm -f $(MANDIR)/man1/foo2xqx*.1 $(MANDIR)/man1/xqxdecode.1
-rm -f $(MANDIR)/man1/opldecode.1 $(MANDIR)/man1/rodecode.1
-rm -f $(MANDIR)/man1/foo2hiperc*.1 $(MANDIR)/man1/hipercdecode.1
-rm -f $(MANDIR)/man1/foo2hbpl*.1 $(MANDIR)/man1/hbpldecode.1
-rm -f $(MANDIR)/man1/foo2hbpl2*.1 $(MANDIR)/man1/hbpldecode.1
-rm -f $(MANDIR)/man1/foo2ddst*.1 $(MANDIR)/man1/ddstdecode.1
-rm -f $(MANDIR)/man1/foo2hbpl1*.1
-rm -f $(MANDIR)/man1/gipddecode.1
-rm -f $(MANDIR)/man1/arm2hpdl.1 $(MANDIR)/man1/usb_printerid.1
-rm -rf /usr/share/foo2zjs/
Expand All @@ -1187,6 +1218,7 @@ uninstall: uninstall-aa
-rm -rf /usr/share/foo2hiperc/
-rm -rf /usr/share/foo2hbpl/
-rm -rf /usr/share/foo2ddst/
-rm -rf /usr/share/foo2hbpl1/
-rm -f /usr/bin/arm2hpdl
-rm -f /usr/bin/foo2zjs-wrapper /usr/bin/foo2zjs /usr/bin/zjsdecode
-rm -f /usr/bin/foo2oak-wrapper /usr/bin/foo2oak /usr/bin/oakdecode
Expand All @@ -1200,6 +1232,7 @@ uninstall: uninstall-aa
-rm -f /usr/bin/foo2hbpl2-wrapper /usr/bin/foo2hbpl2
-rm -f /usr/bin/hbpldecode
-rm -f /usr/bin/foo2ddst-wrapper /usr/bin/foo2ddst /usr/bin/ddstdecode
-rm -f /usr/bin/foo2hbpl1-wrapper /usr/bin/foo2hbpl1
-rm -f /usr/bin/gipddecode
-rm -f /usr/bin/opldecode
-rm -f /usr/bin/rodecode
Expand Down Expand Up @@ -1233,6 +1266,7 @@ clean:
-rm -f foo2hbpl2.o hbpldecode.o
-rm -f opldecode.o gipddecode.o
-rm -f foo2dsst.o ddstdecode.o
-rm -f foo2hbpl1.o
-rm -f command2foo2lava-pjl.o
-rm -f foo2oak.html foo2zjs.html foo2hp.html foo2xqx.html foo2lava.html
-rm -f foo2slx.html foo2qpdl.html foo2hiperc.html foo2hbpl.html
Expand Down Expand Up @@ -1540,6 +1574,7 @@ endif
-e "s@\$${URLHC}@$(URLHC)@" \
-e "s@\$${URLHBPL}@$(URLHBPL)@" \
-e "s@\$${URLDDST}@$(URLDDST)@" \
-e "s@\$${URLHBPL1}@$(URLHBPL1)@" \
-e "s/\$${MODpage}/$$MODpage/" \
-e "s/\$${MODver}/$$MODver/"
chmod a-w $*.1
Expand Down Expand Up @@ -1580,6 +1615,8 @@ install-man: man
$(INSTALL) -c -m 644 foo2ddst.1 $(MANDIR)/man1/
$(INSTALL) -c -m 644 foo2ddst-wrapper.1 $(MANDIR)/man1/
$(INSTALL) -c -m 644 ddstdecode.1 $(MANDIR)/man1/
$(INSTALL) -c -m 644 foo2hbpl1.1 $(MANDIR)/man1/
$(INSTALL) -c -m 644 foo2hbpl1-wrapper.1 $(MANDIR)/man1/
$(INSTALL) -c -m 644 gipddecode.1 $(MANDIR)/man1/
$(INSTALL) -c -m 644 foo2zjs-pstops.1 $(MANDIR)/man1/
$(INSTALL) -c -m 644 arm2hpdl.1 $(MANDIR)/man1/
Expand Down Expand Up @@ -1693,6 +1730,7 @@ URLSLX=http://foo2slx.rkkda.com
URLHC=http://foo2hiperc.rkkda.com
URLHBPL=http://foo2hbpl.rkkda.com
URLDDST=http://foo2ddst.rkkda.com
URLHBPL1=https://github.com/OpenPrinting/foo2zjs
FTPSITE=~/.ncftp-website
FTPOPTS=
FTPOPTS=-S
Expand Down
12 changes: 12 additions & 0 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,18 @@ GENERAL
- Oki C5100n/C5150n/C5200n
- Oki C5500n/C5600n/C5800n

FOO2HBPL1
---------
foo2hbpl1 converts Ghostscript pbmraw, pgmraw, ppmraw, or pamcmyk32
output formats to monochrome or color HBPL version 1 streams. Only
foo2hbpl1 and the wrapper are added here, and they work with:

- Dell 1250c
- Dell C1660
- Dell C1760
- Epson AcuLaser C1700
- Fuji-Xerox DocuPrint CP105

FOO2HBPL2
---------
foo2hbpl2 converts Ghostscript pbmraw, bitcmyk, or pksmraw output for‐
Expand Down
12 changes: 12 additions & 0 deletions README.in
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,18 @@ GENERAL
- Oki C5100n/C5150n/C5200n
- Oki C5500n/C5600n/C5800n

FOO2HBPL1
---------
foo2hbpl1 converts Ghostscript pbmraw, pgmraw, ppmraw, or pamcmyk32
output formats to monochrome or color HBPL version 1 streams. Only
foo2hbpl1 and the wrapper are added here, and they work with:

- Dell 1250c
- Dell C1660
- Dell C1760
- Epson AcuLaser C1700
- Fuji-Xerox DocuPrint CP105

FOO2HBPL2
---------
foo2hbpl2 converts Ghostscript pbmraw, bitcmyk, or pksmraw output for‐
Expand Down
Loading