NEWTEXTMETRICW 구조체(wingdi.h)
NEWTEXTMETRIC 구조체에는 실제 글꼴을 설명하는 데이터가 포함되어 있습니다.
통사론
typedef struct tagNEWTEXTMETRICW {
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmInternalLeading;
LONG tmExternalLeading;
LONG tmAveCharWidth;
LONG tmMaxCharWidth;
LONG tmWeight;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
WCHAR tmFirstChar;
WCHAR tmLastChar;
WCHAR tmDefaultChar;
WCHAR tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
DWORD ntmFlags;
UINT ntmSizeEM;
UINT ntmCellHeight;
UINT ntmAvgWidth;
} NEWTEXTMETRICW, *PNEWTEXTMETRICW, *NPNEWTEXTMETRICW, *LPNEWTEXTMETRICW;
회원
tmHeight
문자의 높이(상승 + 하강)입니다.
tmAscent
문자의 상승(기준선 위의 단위)입니다.
tmDescent
문자의 하강(기본 줄 아래 단위)입니다.
tmInternalLeading
tmHeight 멤버가 설정한 범위 내의 선행(공간)의 양입니다. 이 영역에서 악센트 표시 및 기타 음색 문자가 발생할 수 있습니다. 디자이너는 이 멤버를 0으로 설정할 수 있습니다.
tmExternalLeading
애플리케이션이 행 사이에 추가하는 추가 선행(공간)의 양입니다. 이 영역은 글꼴 외부에 있으므로 표시를 포함하지 않으며 OPAQUE 또는 TRANSPARENT 모드의 텍스트 출력 호출에 의해 변경되지 않습니다. 디자이너는 이 멤버를 0으로 설정할 수 있습니다.
tmAveCharWidth
글꼴의 평균 문자 너비입니다(일반적으로 문자 x의 너비로 정의됨). 이 값에는 굵게 또는 기울기 문자에 필요한 오버행이 포함되지 않습니다.
tmMaxCharWidth
글꼴에서 가장 넓은 문자의 너비입니다.
tmWeight
글꼴의 가중치입니다.
tmOverhang
합성된 일부 글꼴에 추가할 수 있는 문자열당 추가 너비입니다. 굵게 또는 기울인 특성과 같은 일부 특성을 합성할 때 GDI(그래픽 디바이스 인터페이스) 또는 디바이스는 문자별 및 문자열 단위로 문자열에 너비를 추가해야 할 수 있습니다. 예를 들어 GDI는 각 문자의 간격을 확장하고 오프셋 값으로 오버스트림하여 문자열을 굵게 만듭니다. 문자열을 전단하여 글꼴을 기울입니다. 두 경우 모두 기본 문자열을 지나면 오버행이 발생합니다. 굵은 문자열의 경우 오버행은 오버스트림이 오프셋되는 거리입니다. 기울임꼴 문자열의 경우 오버행은 글꼴의 위쪽이 글꼴의 아래쪽을 지나 전단되는 양입니다.
tmOverhang 멤버를 사용하면 애플리케이션에서 단일 문자에 대한 GetTextExtentPoint32 함수 호출에서 반환된 문자 너비의 양과 문자열당 추가 너비를 확인할 수 있습니다. 실제 너비는 오버행을 뺀 범위입니다.
tmDigitizedAspectX
글꼴이 디자인된 디바이스의 가로 측면입니다.
tmDigitizedAspectY
글꼴이 디자인된 디바이스의 세로 측면입니다. tmDigitizedAspectX 및 tmDigitizedAspectY 멤버의 비율은 글꼴이 디자인된 디바이스의 가로 세로 비율입니다.
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
글꼴이 기울기, 밑줄, 윤곽선, 굵게 등인지 여부를 지정합니다. 다음 값의 적절한 조합일 수 있습니다.
비트 | 이름 | 의미 |
---|---|---|
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 | 여러 마스터 글꼴 |
20 | NTM_TYPE1 | 유형 1 글꼴 |
21 | NTM_DSIG | 디지털 서명이 있는 글꼴입니다. 이렇게 하면 추적 가능성이 허용되고 글꼴이 테스트되었으며 손상되지 않았는지 확인합니다. |
ntmSizeEM
글꼴의 em 사각형 크기입니다. 이 값은 명목 단위(즉, 글꼴이 디자인된 단위)입니다.
ntmCellHeight
글꼴의 높이(명목 단위)입니다. 이 값은 ntmSizeEM 멤버의 값과 비교되어야 합니다.
ntmAvgWidth
글꼴의 평균 문자 너비(명목 단위)입니다. 이 값은 ntmSizeEM 멤버의 값과 비교되어야 합니다.
발언
NEWTEXTMETRIC 구조체의 마지막 4개 멤버는 TEXTMETRIC 구조에 포함되지 않습니다. 다른 모든 면에서 구조체는 동일합니다.
NEWTEXTMETRIC 구조체의 크기는 일반적으로 논리 단위로 지정됩니다. 즉, 표시 컨텍스트의 현재 매핑 모드에 따라 달라집니다.
메모
wingdi.h 헤더는 NEWTEXTMETRIC을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
헤더 | wingdi.h(Windows.h 포함) |
참고 항목
GetTextExtentPoint32
GetTextMetrics
LOGFONT