——1205————18:05————————
1、循环找出轮廓的最左和最右点,差值(1.1倍比较宽松)作为x偏移,像“间”这类的汉字没有左右安全距离。
2、ABC out; GetCharABCWidths(pDC->GetSafeHdc(), m_String.GetAt(i), m_String.GetAt(i),&out);
ptPos.x=ptPos.x+out.abcB+out.abcC+out.abcA;
试验:
————1205-18:25————1206-09:45————
3、汉字在基线右边而字母在基线左边。(意外)
先绘图再修改偏移量,被自己蠢哭。
// ptPos.x+=currentOut.abcA+currentOut.abcB+currentOut.abcC;
LPTTPOLYGONHEADER lpHeader = (LPTTPOLYGONHEADER)buffer; //TTPOLYGON结构的首地址
DrawT2Outline(pDC->GetSafeHdc(),lpHeader,returnBytes,ptPos);
ptPos.x+=currentOut.abcA+currentOut.abcB+currentOut.abcC;