Hi
I try to draw a text using gdi function DrawText, the letters overlaps when the size of the font is too small (3 points)?
I attached a jpeg showing the output.Code://FONT CFont font; LOGFONT lgFont; memset(&lgFont, 0, sizeof(LOGFONT)); lgFont.lfCharSet = DEFAULT_CHARSET; lgFont.lfClipPrecision = CLIP_DEFAULT_PRECIS; lgFont.lfItalic = fontStyle & FontStyleItalic;//IsItalic(m_strFontStyle); lgFont.lfOrientation = 0; lgFont.lfStrikeOut = FALSE; lgFont.lfUnderline = FALSE; lgFont.lfOutPrecision = OUT_SCREEN_OUTLINE_PRECIS; lgFont.lfQuality = ANTIALIASED_QUALITY | PROOF_QUALITY; strcpy(lgFont.lfFaceName ,m_strFont); lgFont.lfHeight = -fFontSize;//MulDiv(fFontSize, pDC->GetDeviceCaps(LOGPIXELSY), 96); lgFont.lfWeight = (fontStyle & FontStyleBold)?FW_BOLD:FW_REGULAR;//GetBoldWeightNew(m_strFontStyle); lgFont.lfEscapement = 0; font.CreateFontIndirect(&lgFont); { int nBkMode = emfDC.SetBkMode(TRANSPARENT); int nGraphicMode = emfDC.SetGraphicsMode(GM_ADVANCED); int nMapMode = emfDC.SetMapMode( MM_TEXT); CFont* pOldFont = emfDC.SelectObject(&font); emfDC.DrawTextEx(sText,rcDest,uFormat,NULL); rcDest.OffsetRect(0,-nY); emfDC.SetTextColor(oldColor); emfDC.SelectObject(pOldFont); nGraphicMode = emfDC.SetGraphicsMode(nGraphicMode); nMapMode = emfDC.SetMapMode( nMapMode); nBkMode = emfDC.SetBkMode(nBkMode); }
thank you




Reply With Quote