TEXTMETRICA 구조체(wingdi.h)
TEXTMETRIC 구조에는 실제 글꼴에 대한 기본 정보가 포함되어 있습니다. 모든 크기는 논리 단위로 지정됩니다. 즉, 표시 컨텍스트의 현재 매핑 모드에 따라 달라집니다.
구문
typedef struct tagTEXTMETRICA {
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;
} TEXTMETRICA, *PTEXTMETRICA, *NPTEXTMETRICA, *LPTEXTMETRICA;
멤버
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
피치, 기술 및 실제 글꼴의 제품군에 대한 정보를 지정합니다.
이 멤버의 낮은 순서 비트 4개는 글꼴의 피치 및 기술에 대한 정보를 지정합니다. 상수는 4비트 각각에 대해 정의됩니다.
상수 | 의미 |
---|---|
TMPF_FIXED_PITCH | 이 비트가 설정된 경우 글꼴은 가변 피치 글꼴입니다. 이 비트가 지워지면 글꼴이 고정 피치 글꼴입니다. 이러한 의미는 상수 이름이 의미하는 것과 반대입니다. |
TMPF_VECTOR | 이 비트가 설정된 경우 글꼴은 벡터 글꼴입니다. |
TMPF_TRUETYPE | 이 비트가 설정된 경우 글꼴은 TrueType 글꼴입니다. |
TMPF_DEVICE | 이 비트가 설정된 경우 글꼴은 디바이스 글꼴입니다. |
애플리케이션은 이러한 낮은 순서 비트로 인코딩된 품질을 신중하게 테스트해야 하므로 임의의 가정을 하지 않아야 합니다. 예를 들어 고유한 비트를 설정하는 것 외에도 TrueType 및 PostScript 글꼴은 TMPF_VECTOR 비트를 설정합니다. 모노스페이스 비트맵 글꼴에는 이러한 낮은 순서 비트가 모두 지워져 있습니다. 비례 비트맵 글꼴은 TMPF_FIXED_PITCH 비트를 설정합니다. Postscript 프린터 디바이스 글꼴은 TMPF_DEVICE, TMPF_VECTOR 및 TMPF_FIXED_PITCH 비트를 설정합니다.
tmPitchAndFamily의 네 가지 상위 비트는 글꼴의 글꼴 패밀리를 지정합니다. 애플리케이션은 값 0xF0 비트 AND 연산자를 사용하여 tmPitchAndFamily의 4개의 하위 비트를 마스킹할 수 있으므로 글꼴 패밀리 이름과 직접 비교하여 동일한 일치 항목을 찾을 수 있는 값을 얻을 수 있습니다. 글꼴 패밀리에 대한 자세한 내용은 LOGFONT 구조체에 대한 설명을 참조하세요.
tmCharSet
글꼴의 문자 집합입니다. 문자 집합은 다음 값 중 하나일 수 있습니다.
- ANSI_CHARSET
- BALTIC_CHARSET
- CHINESEBIG5_CHARSET
- DEFAULT_CHARSET
- EASTEUROPE_CHARSET
- GB2312_CHARSET
- GREEK_CHARSET
- HANGUL_CHARSET
- MAC_CHARSET
- OEM_CHARSET
- RUSSIAN_CHARSET
- SHIFTJIS_CHARSET
- SYMBOL_CHARSET
- TURKISH_CHARSET
- VIETNAMESE_CHARSET
- JOHAB_CHARSET
- ARABIC_CHARSET
- HEBREW_CHARSET
- THAI_CHARSET
설명
참고
wingdi.h 헤더는 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 TEXTMETRIC을 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
머리글 | wingdi.h(Windows.h 포함) |