In a printer, when difference in ejection characteristic among nozzles
appears as density non-uniformity and the way of letting the density
non-uniformity appear is different depending upon kind of image, proper
density correction is performed. Specifically, the kind of image to be
printed is judged, and when the kind of image is a halftone image
according to the judgment, a density correction table corresponding to
the halftone image is selected and used to perform the density
correction. Also when the kind of image is judged to be a solid image
(without a portion of the halftone image), a proper table is selected
similarly and used to perform the density correction.