printing! why the font so small use another printer?

doc/view,
I print some text information,

default mode(MM_TEXT);

I set the fonts is:
memset(&lf,0,sizeof LOGFONT);
lf.lfHeight = -16;
lf.lfWeight = FW_NORMAL;
strcpy(lf.lfFaceName,"Arial");
m_BodyFont.CreateFontIndirect(&lf);

it can print the text what I want!

but when use another printer print the text ,it print so small!
I want to print the same font in the page regardless printer!
how I do ?
thanks!
[480 byte] By [cococut] at [2007-11-18 18:28:56]
# 1 Re: printing! why the font so small use another printer?
Make sure driver settings are correct. Otherwise, if you know a deal of serial programming you should be able to send commands to the printer yourself.
Ness at 2007-11-11 1:21:01 >
# 2 Re: printing! why the font so small use another printer?
I mean the printers are different type!
all the printers setting are correct!
cococut at 2007-11-11 1:21:59 >
# 3 Re: printing! why the font so small use another printer?
Hi,

I believe it may be a problem with the lfHeight member of the LOGFONT struct. The MSDN documentation gives this equation when using MM_TEXT mode.

lfHeight = -MulDiv(PointSize, GetDeviceCaps(hDC, LOGPIXELSY), 72);

However, I have never been able to get good results with that equation. I have been able to get the proper result by simply multiplying the desired height by 10. So, if you want a height of 16 try specifying 160 for the lfHeight member. At least that is what worked for me.

TDM
TDM at 2007-11-11 1:23:08 >