여러가지로 테스트를 진행했지만 GDI+ DrawString을 이용해서 특정 폰트를 가지고 출력할 때 오류가 발생한다.
원인은 아직까지 확인하지 못했다. 내가 가지고 있는 폰트중에 "HY견고딕" 이라는 폰트가 있다.
폰트 정보는 아래와 같다.
파일 형식: 트루타입 글꼴 파일(.TTF) |
폰트를 확인하면 당연히 ?도 포함되어 있다. 그러나 GDI+로 화면에 출력을 하면 ?가 표시되지 않는다.
어떤 폰트를 가지고 출력을 할 때에는 모든 글자가 출력되지 않는 것도 있었다.
당연히 GDI방식과 Direct2D 방식인 DirectWrite API로 처리를 하면 정상적으로 화면에 출력이 된다.
원인이 밝혀지면 이 페이지를 업데이트 하겠지만 현재로서는 GDI+ 방식에 오류로 결정을 했다.
이 문제로 새로 진행하는 개발은 Direct2D를 이용해야 할 것 같다.
첨부파일로 올리는 폰트는 상용인지 모르겠다. 우선 내글을 보고 테스트를 진행하는 사람이 이용할 수 있도록 올려본다.
아래 소스는 MFC로 만든 테스트 소스이다.
void CGdiplusImageView::OnPaint() CString strTmp = _T("GDI Test 폰트 출력 테스트 ???? 확인"); font.DeleteObject(); Graphics graphics(dc); strTmp = _T("GDI+ Test 폰트 출력 테스트 ???? 확인"); graphics.DrawString(strTmp, strTmp.GetLength(), &myfont, layoutRect, NULL, &blackBrush); void CGdiplusImageView::OnFontSet() LOGFONT lf; m_fontSize = dlg.GetSize(); this->Invalidate(); |
'Digital Image Processing' 카테고리의 다른 글
Hit Testing Lines and Curves (라인, 커브 등 오브젝트를 선택하는 방법) (0) | 2014.07.02 |
---|---|
Use of Two-Dimensional Vectors with Windows NT (0) | 2014.07.02 |
PtInRegion() API 대체 방법 (0) | 2014.07.02 |
Bitmap Memory 저장시 4 바이트 배수 처리 (1) | 2014.07.01 |