MFC를 사용하고 일반 old GDI를 사용하여 빌드 된 이전 응용 프로그램에 SVG 내보내기 지원을 추가하고 있습니다. SVG 1.1은 텍스트 배치를 지원하지 않으므로 수동으로해야합니다.GDI HFONT의 라인 높이를 어떻게 얻을 수 있습니까?
응용 프로그램에서 CFont
인스턴스 (HFONT
포함)를 제공합니다. CFont::GetTextExtentPoint()
을 사용하여 텍스트의 너비를 계산할 수 있지만 아직 글꼴의 줄 높이를 얻는 방법을 찾지 못했습니다.
내 글꼴의 줄 높이는 어떻게 얻을 수 있습니까? CFont::GetTextExtentPoint()
은 항상 Y 좌표에서 줄 높이를 반환합니다 (대신 텍스트의 꼭 맞게 맞추는 경계 상자의 실제 높이)? ,
CDC desktopDC;
desktopDC.Attach(::GetDC(0));
desktopDC.SelecTObject(&font);
::TEXTMETRIC metrics;
desktopDC.GetTextMetrics(&metrics);
int lineHeight = metrics.tmHeight + metrics.tmExternalLeading;
그것은 조금 성가신, 그래서 거기에 짧은, 더 확실한 해결책을의 경우 (경우 또는 사람이 CFont::GetTextExtentPoint()
실제 라인 높이로 날을 제공하는 것을 확인할 수) :
미안하지만, 내가 찾고있는 것이 아닙니다. 줄 높이가 필요합니다 : 한 줄에서 다음 줄로의 오프셋, 즉 실제 문자열에 의존하지 않는 정적 텍스트 높이와 줄 사이의 간격. – Cygon