Category : Files from Magazines
Archive   : CUJ0894.ZIP
Filename : README

Output of file : README contained in archive : CUJ0894.ZIP
Notes on the Minimalist Scaler
April 18, 1994

David Weber
Box 1376
Paonia, CO 81428

This zip file contains the source code, test bench and sample image
files for a minimalist scaler. It was developed for a fax engine. As
a consequence, the byte width of the scaled line is always the standard
fax width, 216 bytes. Images which scale too large for this width are
clipped. Those too small have the right side white filled. The intent
of the scaler was to produce a device driver that used a minimum of
computer resources and yet still had quality output and acceptable
speed. The algorithm is explained in detail in the magazine article.
Call or write me if you have any comments or questions.

Packing List:

README This file
FAXASM ASM Essential algorithm in assembly
ARGS C Auxiliary file for test bench
FAXSCALE C Essential algorithm in C
PCX C Auxiliary file for test bench
SCALE C Main test bench file
SCALE EXE BCC 4.0 compiled assembly version of the scaler
ARGS H Auxiliary file for test bench
FAXSCALE H Prototypes for the scaler
PCX H Auxiliary file for test bench
SCALE MAK Polymake 3.1 make file for C version
SCALEASM MAK Polymake 3.1 make file for assembly version
FAXSCALE OLD FAXSCALE.C without white space optimization
100 PCX 100 dpi test file
200 PCX 200 dpi test file
300 PCX 300 dpi test file
FISH PCX dithered/half toned test file

The test bench program and the accompanying test images allow you
to verify the quality and speed of the scaler. It is a simple command
line program which uses the following format.

scale -x50 -y50 input output

Where 50 in this case means scale to 50% of the original. The
scale range is 3% to 3200%. Note that x and y are independently
scaled. This means you can change the aspect ratio. The independent
x/y scaling is necessary because a fax can be either high resolution
(200 dpi x 200 dpi) or standard resolution (200 dpi x 100 dpi). The
input parameter is the file name of a monochrome PCX file. Since faxes
are monochrome, color images are not supported. The output argument is
the file name of the scaled result. The test pictures are 8 1/2 by
11 inch pages scanned at various resolutions. The 300 dpi image has
over a million pixels. Scale the sample pictures to the standard fax
width using these commands.

scale -x200 -y200 100.pcx junk.pcx
scale -x100 -y100 200.pcx junk.pcx
scale -x66 -y66 300.pcx junk.pcx

View the output with any standard paint program. The fish.pcx image
is a tough test for any scaler. It is dithered and half toned, both of
which are usually scrambled by a low quality scaler. As you can see,
it does fine.

Tested with Borland C++ 4.0, Zortech C++ 3.1 and Microsoft C 5.1

Copyright Restrictions:
Copyright (C) 1992 by David Weber. Unlimited use is granted
for noncommercial use or for commercial distribution in EXE,
OBJ, or LIB formats. Do not sell as source without asking first.

  3 Responses to “Category : Files from Magazines
Archive   : CUJ0894.ZIP
Filename : README

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: