NEWTEXTMETRICA 구조체(wingdi.h)

NEWTEXTMETRIC 구조에는 실제 글꼴을 설명하는 데이터가 포함되어 있습니다.

구문

typedef struct tagNEWTEXTMETRICA {
  LONG  tmHeight;
  LONG  tmAscent;
  LONG  tmDescent;
  LONG  tmInternalLeading;
  LONG  tmExternalLeading;
  LONG  tmAveCharWidth;
  LONG  tmMaxCharWidth;
  LONG  tmWeight;
  LONG  tmOverhang;
  LONG  tmDigitizedAspectX;
  LONG  tmDigitizedAspectY;
  BYTE  tmFirstChar;
  BYTE  tmLastChar;
  BYTE  tmDefaultChar;
  BYTE  tmBreakChar;
  BYTE  tmItalic;
  BYTE  tmUnderlined;
  BYTE  tmStruckOut;
  BYTE  tmPitchAndFamily;
  BYTE  tmCharSet;
  DWORD ntmFlags;
  UINT  ntmSizeEM;
  UINT  ntmCellHeight;
  UINT  ntmAvgWidth;
} NEWTEXTMETRICA, *PNEWTEXTMETRICA, *NPNEWTEXTMETRICA, *LPNEWTEXTMETRICA;

멤버

tmHeight

문자의 높이(상승 + 하강)입니다.

tmAscent

문자의 상승(기준선 위의 단위)입니다.

tmDescent

문자의 하강(기준선 아래 단위)입니다.

tmInternalLeading

tmHeight 멤버가 설정한 경계 내 선행(공간)의 양입니다. 강조 표시 및 기타 분음 부호 문자는이 영역에서 발생할 수 있습니다. 디자이너는 이 멤버를 0으로 설정할 수 있습니다.

tmExternalLeading

애플리케이션이 행 사이에 추가하는 추가 선행(공간)의 양입니다. 이 영역은 글꼴 외부에 있으므로 표시를 포함하지 않으며 OPAQUE 또는 TRANSPARENT 모드의 텍스트 출력 호출에 의해 변경되지 않습니다. 디자이너는 이 멤버를 0으로 설정할 수 있습니다.

tmAveCharWidth

글꼴의 평균 문자 너비입니다(일반적으로 x 문자의 너비로 정의됨). 이 값에는 굵게 또는 기울임꼴 문자에 필요한 오버행이 포함되지 않습니다.

tmMaxCharWidth

글꼴에서 가장 넓은 문자의 너비입니다.

tmWeight

글꼴 두께입니다.

tmOverhang

통합된 글꼴에서 문자열당 사용할 수 있는 추가 너비입니다. 굵게 또는 기울임꼴과 같은 일부 특성을 합성할 때 GDI(그래픽 디바이스 인터페이스) 또는 디바이스는 문자별 및 문자열 단위로 문자열에 너비를 추가해야 할 수 있습니다. 예를 들어 GDI는 각 문자의 간격을 확장하고 오프셋 값으로 오버스트림하여 문자열을 굵게 만듭니다. 문자열을 전단하여 글꼴을 기울임꼴로 바꿉니다. 두 경우 모두 기본 문자열을 지나면 오버행이 발생합니다. 굵은 문자열의 경우 오버행은 오버스트립이 오프셋되는 거리입니다. 기울임꼴 문자열의 경우 오버행은 글꼴의 위쪽이 글꼴의 아래쪽을 지나 전단되는 양입니다.

tmOverhang 멤버를 사용하면 애플리케이션에서 단일 문자에서 GetTextExtentPoint32 함수 호출에서 반환된 문자 너비의 양과 문자열당 추가 너비의 양을 확인할 수 있습니다. 실제 너비는 오버행을 뺀 범위입니다.

tmDigitizedAspectX

글꼴이 디자인된 대상 디바이스의 가로 비율입니다.

tmDigitizedAspectY

글꼴이 디자인된 대상 디바이스의 세로 비율입니다. tmDigitizedAspectXtmDigitizedAspectY 멤버의 비율은 글꼴이 디자인된 디바이스의 가로 세로 비율입니다.

tmFirstChar

글꼴에 정의된 첫 번째 문자의 값입니다.

tmLastChar

글꼴에 정의된 마지막 문자의 값입니다.

tmDefaultChar

글꼴에 없는 문자로 대체할 문자의 값입니다.

tmBreakChar

텍스트 근거에 대한 단어 나누기를 정의하는 데 사용할 문자의 값입니다.

tmItalic

0이 아닌 경우 기울임꼴 글꼴입니다.

tmUnderlined

0이 아닌 경우 밑줄이 그은 글꼴입니다.

tmStruckOut

0이 아닌 경우 취소선 글꼴입니다.

tmPitchAndFamily

선택한 글꼴의 피치 및 패밀리입니다. 낮은 순서의 비트(비트 0)는 글꼴의 피치를 지정합니다. 1인 경우 글꼴은 가변 피치(또는 비례)입니다. 0인 경우 글꼴은 고정 피치(또는 모노스페이스)입니다. 비트 1과 2는 글꼴 유형을 지정합니다. 두 비트가 모두 0이면 글꼴은 래스터 글꼴이고, 비트 1이 1이고 비트 2가 0이면 글꼴은 벡터 글꼴입니다. 비트 1이 0이고 비트 2가 설정되거나 두 비트가 1이면 글꼴이 다른 형식입니다. 글꼴이 디바이스 글꼴인 경우 비트 3은 1입니다. 그렇지 않으면 0입니다.

네 개의 상위 비트는 글꼴 패밀리를 지정합니다. tmPitchAndFamily 멤버는 비트 AND 연산자를 사용하여 0xF0 16진수 값과 결합한 다음 동일한 일치 항목의 글꼴 패밀리 이름과 비교할 수 있습니다. 글꼴 패밀리에 대한 자세한 내용은 LOGFONT를 참조하세요.

tmCharSet

글꼴의 문자 집합입니다.

ntmFlags

글꼴이 기울임꼴, 밑줄, 윤곽선, 굵게 등인지 여부를 지정합니다. 다음 값의 합당한 조합일 수 있습니다.

bit Name 의미
0 NTM_ITALIC 기울임꼴
5 NTM_BOLD 굵게
8 NTM_REGULAR 레귤러
16 NTM_NONNEGATIVE_AC 어떤 크기의 글꼴에 문자 모양도 음수 A 또는 C 공간이 없습니다.
17 NTM_PS_OPENTYPE PostScript OpenType 글꼴
18 NTM_TT_OPENTYPE TrueType OpenType 글꼴
19 NTM_MULTIPLEMASTER 여러 master 글꼴
20 NTM_TYPE1 1 글꼴 입력
21 NTM_DSIG 디지털 서명이 있는 글꼴입니다. 이렇게 하면 추적 가능성이 허용되고 글꼴이 테스트되었으며 손상되지 않았는지 확인합니다.

ntmSizeEM

글꼴에 대한 em 정사각형의 크기입니다. 이 값은 명목 단위(즉, 글꼴이 디자인된 단위)입니다.

ntmCellHeight

글꼴의 높이(명목 단위)입니다. 이 값은 ntmSizeEM 멤버의 값과 비교되어야 합니다.

ntmAvgWidth

글꼴의 평균 문자 너비(명목 단위)입니다. 이 값은 ntmSizeEM 멤버의 값과 비교되어야 합니다.

설명

NEWTEXTMETRIC 구조의 마지막 4개 멤버는 TEXTMETRIC 구조에 포함되지 않습니다. 다른 모든 면에서 구조체는 동일합니다.

NEWTEXTMETRIC 구조의 크기는 일반적으로 논리 단위로 지정됩니다. 즉, 표시 컨텍스트의 현재 매핑 모드에 따라 달라집니다.

참고

wingdi.h 헤더는 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 NEWTEXTMETRIC을 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 wingdi.h(Windows.h 포함)

추가 정보

EnumFontFamilies

글꼴 및 텍스트 구조체

글꼴 및 텍스트 개요

GetTextExtentPoint32

GetTextMetrics

Logfont