An image forming apparatus comprising: - a determination unit configured to determine whether or not input image data has a color space based on subtractive color mixing; - a first color conversion unit configured to convert image data having a color space based on mixing other than subtractive color mixing into image data having a color space based on subtractive color mixing; - an overprint detection unit configured to detect whether or not overprinting has been specified for the image data having the color space based on subtractive color mixing; - a drawing processing unit configured to: - perform overprint processing for the image data having the color space based on subtractive color mixing in such a manner that, if a color value of a foreground object corresponding to the image data, for which it has been detected that overprinting has been specified, indicates that a region where the foreground object overlaps a background object, corresponding to image data, behind the foreground object is colored, a color value of the overlapping region is overwritten with the color value of the foreground object, and the overlapping region is not overwritten with the foreground object if the color value of the foreground object indicates that the region where the foreground object overlaps the background object is colorless, and - perform drawing processing other than overprint processing, if overprinting has not been specified for the image data having the color space based on subtractive color mixing or if the input image data has a color space based on mixing other than subtractive color mixing; - a second color conversion unit configured to convert image data subsequent to the overprint processing or processing other than the overprint processing performed by the image drawing processing unit into image data having output colors in accordance with characteristics of the image forming apparatus; and - an allocation unit configured to deliver the input image data to the overprint detection unit if the input image data has the color space based on subtractive color mixing and configured to deliver the input image data to the first color conversion unit if the input image data has a color space based on mixing other than subtractive color mixing. - a determination unit configured to determine whether or not input image data has a color space based on subtractive color mixing; - a first color conversion unit configured to convert image data having a color space based on mixing other than subtractive color mixing into image data having a color space based on subtractive color mixing; - an overprint detection unit configured to detect whether or not overprinting has been specified for the image data having the color space based on subtractive color mixing; - a drawing processing unit configured to: - perform overprint processing for the image data having the color space based on subtractive color mixing in such a manner that, if a color value of a foreground object corresponding to the image data, for which it has been detected that overprinting has been specified, indicates that a region where the foreground object overlaps a background object, corresponding to image data, behind the foreground object is colored, a color value of the overlapping region is overwritten with the color value of the foreground object, and the overlapping region is not overwritten with the foreground object if the color value of the foreground object indicates that the region where the foreground object overlaps the background object is colorless, and - perform drawing processing other than overprint processing, if overprinting has not been specified for the image data having the color space based on subtractive color mixing or if the input image data has a color space based on mixing other than subtractive color mixing; - perform overprint processing for the image data having the color space based on subtractive color mixing in such a manner that, if a color value of a foreground object corresponding to the image data, for which it has been detected that overprinting has been specified, indicates that a region where the foreground object overlaps a background object, corresponding to image data, behind the foreground object is colored, a color value of the overlapping region is overwritten with the color value of the foreground object, and the overlapping region is not overwritten with the foreground object if the color value of the foreground object indicates that the region where the foreground object overlaps the background object is colorless, and - perform drawing processing other than overprint processing, if overprinting has not been specified for the image data having the color space based on subtractive color mixing or if the input image data has a color space based on mixing other than subtractive color mixing; - a second color conversion unit configured to convert image data subsequent to the overprint processing or processing other than the overprint processing performed by the image drawing processing unit into image data having output colors in accordance with characteristics of the image forming apparatus; and - an allocation unit configured to deliver the input image data to the overprint detection unit if the input image data has the color space based on subtractive color mixing and configured to deliver the input image data to the first color conversion unit if the input image data has a color space based on mixing other than subtractive color mixing.