[comp.windows.x] bdf.Z -> snf.Z

grunwald@FOOBAR.COLORADO.EDU (Dirk Grunwald) (01/06/90)

In order to cut the X fonts in BDF format from 14.5Mb to 4.6Mb, I
compressed them. What I'd like to do is be able to have people
install them automatically from their compressed form.

In config/Imake.rules, I find the following rules.
----------------------------------------------------------------------
/*
 * FontTarget - generate rules to convert a .bdf file into a .snf file.
 */
#ifndef FontTarget
#define FontTarget(basename)						@@\
basename.snf:  basename.bdf						@@\
	$(FONTC) $(FONTCFLAGS) $? >$@
#endif /* FontTarget */


/*
 * CompressedFontTarget - generate rules to convert a .bdf file into a 
 * compressed .snf file.
 */
#ifndef CompressedFontTarget
#define CompressedFontTarget(basename)					@@\
basename.snf.Z:  basename.bdf						@@\
	$(FONTC) $(FONTCFLAGS) $? >basename.snf				@@\
	$(COMPRESS) basename.snf					@@\
	rm -f basename.snf
#endif /* CompressedFontTarget */
----------------------------------------------------------------------

Would the following be a correct rule for installing from .bdf.Z -> .snf.Z?

/*
 * CompressedCompressedFontTarget - generate rules to convert a .bdf.Z file
 * into a .snf.Z file.
 */
#ifndef CompressedCompressedFontTarget
#define CompressedCompressedFontTarget(basename)			@@\
basename.snf.Z:  basename.bdf.Z						@@\
	$(COPY) $? /tmp/basename.bdf.Z					@@\
	$(UNCOMPRESS) /tmp/basename.bdf.Z				@@\
	$(FONTC) $(FONTCFLAGS) $? >basename.snf				@@\
	$(COMPRESS) basename.snf					@@\
	rm -f basename.snf /tmp/basename.bdf.Z
#endif /* CompressedCompressedFontTarget */

the reason for copying it to /tmp is that uncompressing a linked file
will remove the link, and recompressing it would leave you with a copy
of the compressed bdf file. It would be easier if there was a $(ZCAT)
available.

After this, I assume I need to change site.def to include..

#define FontTarget CompressedCompressedFontTarget

right?

thanks.

Dirk Grunwald -- Univ. of Colorado at Boulder	(grunwald@foobar.colorado.edu)
						(grunwald@boulder.colorado.edu)