A computer program for executing on a computer system a computer process for generating 1-bit image data from multiple-bit image data, the process comprising the steps of: receiving multiple-bit image data comprising multiple-bit pixel values; and deriving from the multiple-bit pixel values 1-bit image data comprising "on" and "off" pixel values, each pixel value of the 1-bit image data corresponding to a pixel of an output medium, which pixel an output device would attempt to mark when printing the 1-bit image data if the pixel value were "on", the 1-bit image data producing an image constituted by a plurality of densities of dots, the dots being irregularly spaced throughout the image, and ensuring that the dots are arranged such that, at least for densities of dots greater than a first threshold density, at least a majority of dots form a pair with at least one horizontally or vertically adjacent dot, and for densities of dots less than a second threshold density, the image is substantially free of blocks of 2*2 horizontally and vertically adjacent dots, the second threshold density being greater than the first threshold density, wherein said ensuring step is achieved by the steps of: for each pixel value of the multiple bit image data for which the corresponding 1-bit value has not already been set to 'on', determining from the pixel value and any diffused error whether the corresponding pixel should be set to 'on'; if it is so determined, applying a test, whereby, if the pixel value is less than or equal to the second threshold density, and setting the pixel value to 'on' would cause a block of 2*2 horizontally and vertically adjacent 'on' values, setting the 1-bit pixel to 'off' and wherein, for densities of dots greater than the first threshold density, if a pixel value of the output medium is set to "on", and has no horizontally or vertically adjacent pixel value that is also already "on", then a horizontally or vertically adjacent pixel value, chosen at random, must also be set to "on", so that the image contains a pair of horizontally or vertically adjacent dots. receiving multiple-bit image data comprising multiple-bit pixel values; and deriving from the multiple-bit pixel values 1-bit image data comprising "on" and "off" pixel values, each pixel value of the 1-bit image data corresponding to a pixel of an output medium, which pixel an output device would attempt to mark when printing the 1-bit image data if the pixel value were "on", the 1-bit image data producing an image constituted by a plurality of densities of dots, the dots being irregularly spaced throughout the image, and ensuring that the dots are arranged such that, at least for densities of dots greater than a first threshold density, at least a majority of dots form a pair with at least one horizontally or vertically adjacent dot, and for densities of dots less than a second threshold density, the image is substantially free of blocks of 2*2 horizontally and vertically adjacent dots, the second threshold density being greater than the first threshold density, wherein said ensuring step is achieved by the steps of: for each pixel value of the multiple bit image data for which the corresponding 1-bit value has not already been set to 'on', determining from the pixel value and any diffused error whether the corresponding pixel should be set to 'on'; if it is so determined, applying a test, whereby, if the pixel value is less than or equal to the second threshold density, and setting the pixel value to 'on' would cause a block of 2*2 horizontally and vertically adjacent 'on' values, setting the 1-bit pixel to 'off' and wherein, for densities of dots greater than the first threshold density, if a pixel value of the output medium is set to "on", and has no horizontally or vertically adjacent pixel value that is also already "on", then a horizontally or vertically adjacent pixel value, chosen at random, must also be set to "on", so that the image contains a pair of horizontally or vertically adjacent dots. for each pixel value of the multiple bit image data for which the corresponding 1-bit value has not already been set to 'on', determining from the pixel value and any diffused error whether the corresponding pixel should be set to 'on'; if it is so determined, applying a test, whereby, if the pixel value is less than or equal to the second threshold density, and setting the pixel value to 'on' would cause a block of 2*2 horizontally and vertically adjacent 'on' values, setting the 1-bit pixel to 'off' and wherein, for densities of dots greater than the first threshold density, if a pixel value of the output medium is set to "on", and has no horizontally or vertically adjacent pixel value that is also already "on", then a horizontally or vertically adjacent pixel value, chosen at random, must also be set to "on", so that the image contains a pair of horizontally or vertically adjacent dots.