본문 바로가기

김탱 개발자/MFC

GDI 문자 자간(간격) 조정 (GDI+는 자간 조정 안됨)

프린트를 할일이 생겨 텍스트를 출력하는데 GDI+를 사용했다 (그래프 도형 품질때문에)


근데 맑은고딕의 기본 문자폭과 자간이 너무 넓어 줄이려고 했더니.. 안된다..

열심히 뒤져본 결과 GDI+에서는 지원자체를 하지않는다고 한다. 이유 인 즉, 동일한 품질의 텍스트를 제공하기 위해서라나..

하여튼 우회방법으로는 한글자씩 출력하여 MeasureString으로 한글자의 크기를 구해서 자간을 직접 조정하는 방법이 있는데

굳이 그러면서 까지 GDI+ 문자출력을 고집할 필요는 없다.


왜?


GDI에서 제공하니까..

SetTextCharacterExtra() 함수를 이용하면 문자 자간을 조절 할 수있다.


혹시나해서 위 함수로 HDC에 세팅하고 GDI+로 불러와 DrawString 해보았으나, 먹히지 않았다.



문자폭 또한 줄일 수 있는데 CreateFont 함수 인수 중 nWidth값을 조절하면 된다.


근데 이 역시 LOGFONT 나 CFont로 설정하고 GDI+의 Font 객체로 불러와 사용해보았으나, nWidth값이 먹히지 않는다..


그냥 문자 출력은 GDI로 하는게 속이 편할 것 같다.