훈, IT 공부/C,C++,MFC

[MFC]CreateFont

IT훈이 2018. 8. 31.
반응형

폰트 관련하여서.

 

▶ CFont::CreateFont

BOOL CreateFont(
   int nHeight,
   int nWidth,
   int nEscapement,
   int nOrientation,
   int nWeight,
   BYTE bItalic,
   BYTE bUnderline,
   BYTE cStrikeOut,
   BYTE nCharSet,
   BYTE nOutPrecision,
   BYTE nClipPrecision,
   BYTE nQuality,
   BYTE nPitchAndFamily,
   LPCTSTR lpszFacename 
);

nHeight

- 글자의 원하는 높이 지정.

- 16~384 단위를 넘어가지 않도록 설정해야한다.

 

nWidth

- 글자의 넓이를 지정한다. 

- 0을 입력할 경우에는 사용가능한 글꼴의 가장 가까운 크기의 값을 사용한다.

 

nEscapement

- 글자의 각도를 지정한다. 

- 0.1도 단위로 지정한다. 1이면 0.1도 10이면 1도가 된다. 즉 90도 회전을 원한다면 900의 값을 넣도록 하자.

 

nOrientation ( 이해가 잘 안됨 )

- 문자의 기준선과 x 축 사이의 각도를 0.1도 단위로 지정한다. 

각도는 y-방향이 위쪽에 있는 좌표계의 x축과 시계 반대방향으로 측정된다.

 

nWeight- 잉크가 픽셀 당 1000 단위로 글꼴 두께를 지정한다.- 일부 글꼴은 FW_NORMAL, FW_REGULAR, FW_BOLD, 이렇게 있고 FW_DONTCARE 를 사용하면 기본으로 사용된다.

 

bltalic

- 글꼴이 기울임꼴인지에 대한 여부 지정.

 

bUnderline

- 글꼴에 밑줄이 있는지에 대한 여부 지정.

 

cStrikeOut

- 0이 아닐경우 문자 글꼴에서의 취소선 여부를 지정한다. 

 

nCharSet

- 문자 인코딩에 관한 입력을한다.

- ANSI_CHARSET

 

nOutPrecision

- 출력 정밀도 지정

- 출력이 요청된 글꼴의 높이, 너비, 문자 방향, 이탈 및 피치와 얼마나 밀접하게 일치해야하는지 정의.

OUT_DEFAULT_PRECIS

 

nClipPrecision

- 원하는 클리핑의 정밀도를 지정한다.

- CLIP_DEFAULT_PRECIS

 

nQuality

- 글꼴의 출력 품질을 지정한다.

- DEFAULT_QUALITY

 

nPitchAndFamily

- 글꼴의 피치 및 패밀리를 지정한다.

VARIABLE_PITCH|FF_SWISS

 

lpszFacename

- 사용가능한 글꼴을 넣는다.

- 문자열 길이 30자를 넘지말아야한다.

 

 

 

▶ LOGFONT structure

typedef struct tagLOGFONTA {
  LONG lfHeight;
  LONG lfWidth;
  LONG lfEscapement;
  LONG lfOrientation;
  LONG lfWeight;
  BYTE lfItalic;
  BYTE lfUnderline;
  BYTE lfStrikeOut;
  BYTE lfCharSet;
  BYTE lfOutPrecision;
  BYTE lfClipPrecision;
  BYTE lfQuality;
  BYTE lfPitchAndFamily;
  CHAR lfFaceName[LF_FACESIZE];
} LOGFONTA, *PLOGFONTA, *NPLOGFONTA, *LPLOGFONTA;

- CreateFont() 함수를 사용하기 위해서 담을 수 있는 구조체

- CreateFont를 사용하기위한 조력자 정도??

 

LOGFONT MSDN 링크

 

반응형

댓글