The resolution of a printer is different from the screen and even other printers. You need to consider this when creating a font, specifically, the point size.
This is the usual way of calculating a font's point size:
nHeight=-MulDiv( <desired pt size>, GetDeviceCaps(hDC,LOGPIXELSY),72)...