I setup our Device contexts for the screen and the printers the following way
SetWindowExtEx(lpHeader->hDC, 1440, 1440, NULL);
GetDeviceCaps(lpHeader->hDC, LOGPIXELSY), NULL);
This is similar to MM_TWIPS mapping mode.
On the screen we do the following when creating fonts
nFactor = 1440 / GetDeviceCaps(lpHeader->hScreenDC, LOGPIXELSX);
logfont.lfHeight = nFactor * FontSize;
The fontsize is normally a negative number. Choosefont would give you -13 for a 10point arial font.
On the screen the nFactor is 15. On the printer its 4. If I do exactly the same thing the font size is way too small. If I substitute a 15 for the 4, its ok. Obvisouly the calculation of the factor is incorrect.
Can anyone help?