FaceSaver(tm) files sometimes have rectangular pixels. While fstopgm won't re-scale them into square pixels for you, it will give you the precise pnmscale command that will do the job. Because of this, reading a FaceSaver(tm) image is a two-step process. First you do:
fstopgm > /dev/nullThis will tell you whether you need to use pnmscale. Then use one of the following pipelines:
fstopgm | pgmnorm fstopgm | pnmscale -whatever | pgmnormTo go to PBM, you want something more like one of these:
fstopgm | pnmenlarge 3 | pgmnorm | pgmtopbm fstopgm | pnmenlarge 3 | pnmscale <whatever> | pgmnorm | pgmtopbmYou want to enlarge when going to a bitmap because otherwise you lose information; but enlarging by more than 3 does not look good.