*/
float yres;
if (TIFFGetField(tif, TIFFTAG_YRESOLUTION, &yres)) {
- short resunit = RESUNIT_NONE;
+ short resunit = RESUNIT_INCH; // TIFF spec default
(void) TIFFGetField(tif, TIFFTAG_RESOLUTIONUNIT, &resunit);
if (resunit == RESUNIT_INCH)
yres /= 25.4;
+ if (resunit == RESUNIT_NONE)
+ yres /= 720.0; // postscript units ?
} else {
/*
* No vertical resolution is specified, try
#endif
float vres = 3.85; // XXX default
if (TIFFGetField(tif, TIFFTAG_YRESOLUTION, &vres)) {
- uint16 resunit = RESUNIT_NONE;
+ uint16 resunit = RESUNIT_INCH; // TIFF spec default
TIFFGetField(tif, TIFFTAG_RESOLUTIONUNIT, &resunit);
if (resunit == RESUNIT_INCH)
vres /= 25.4;
+ if (resunit == RESUNIT_NONE)
+ vres /= 720.0; // postscript units ?
}
ri.params.setVerticalRes((u_int) vres); // resolution
TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &v);
#endif
float vres = 3.85; // XXX default
if (TIFFGetField(tif, TIFFTAG_YRESOLUTION, &vres)) {
- uint16 resunit = RESUNIT_NONE;
+ uint16 resunit = RESUNIT_INCH; // TIFF spec default
TIFFGetField(tif, TIFFTAG_RESOLUTIONUNIT, &resunit);
if (resunit == RESUNIT_INCH)
vres /= 25.4;
+ if (resunit == RESUNIT_NONE)
+ vres /= 720.0; // postscript units ?
}
params.setVerticalRes((u_int) vres); // resolution
TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &v);
*/
float yres;
if (TIFFGetField(tif, TIFFTAG_YRESOLUTION, &yres)) {
- short resunit = RESUNIT_NONE;
+ short resunit = RESUNIT_INCH; // TIFF spec default
(void) TIFFGetField(tif, TIFFTAG_RESOLUTIONUNIT, &resunit);
if (resunit == RESUNIT_CENTIMETER)
yres *= 25.4f;
+ if (resunit == RESUNIT_NONE)
+ yres *= 720.0f; // postscript units ?
yres = (yres >= 150 ? 196 : 98); // convert to well-known values
} else {
/*