A controller 1, wherein the arbitrary shape of the join region is a slope which creates similarly sloped regions at the non join ends of the sub rows, {HEAD ~ the controller} being configured to supply the dot data in an order in which dots are supplied for the sloped region of one printhead module, dots are then supplied for the adjacent sub rows between the sloped regions, and then dots are supplied for the sloped region of {TAIL ~ the printhead module} adjacent said one printhead module 
A controller 1 , wherein the arbitrary shape of the join region is a slope which creates similarly sloped regions at the non join ends of the sub rows , { HEAD ~ the controller } being configured to supply the dot data in an order in which dots are supplied for the sloped region of one printhead module , dots are then supplied for the adjacent sub rows between the sloped regions , and then dots are supplied for the sloped region of { TAIL ~ the printhead module } adjacent said one printhead module
OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH HEAD HEAD HEAD HEAD HEAD HEAD OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH OTH TAIL TAIL TAIL TAIL TAIL TAIL TAIL OTH OTH OTH OTH OTH