정보: 해당 논리 높이와 글꼴 포인트 크기 계산

기술 자료 번역 기술 자료 번역
기술 자료: 74299 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

요약

필요한 포인트 크기를 경우에만 주어진 Microsoft Windows 그래픽 환경에서 글꼴을 만드는 CreateFont() CreateFontIndirect() 함수의 높이를 지정하려면 논리 단위를 사용하기 때문에 응용 프로그램 논리 글꼴의 높이를 계산해야 합니다.

사용자가 글꼴을 설명하는 응용 프로그램 높이가 지정된 경우 글꼴 크기를 계산할 수 있습니다. 이 문서에서는 MM_TEXT 매핑 모드 이러한 계산을 수행하는 데 필요한 수식을 제공합니다. 다른 매핑 모드에서 글꼴 크기를 계산하려면 새 수식 파생시킬 합니다.

추가 정보

논리 높이를 계산하려면 다음 수식을 사용하여:
                                Point Size * LOGPIXELSY
   height = Internal Leading + -------------------------
                                          72
				
LOGPIXELSY은 장치의 논리적 인치 포함되는 픽셀 수입니다. 이 값은 LOGPIXELSY 인덱스로 GetDeviceCaps() 함수를 호출하여 얻어집니다. 1인치 72포인트 들어 72 값을 중요합니다.

이 계산에 문제가 있는 내부 선행 글꼴에 대한 것이 아닌 아직 만들어진 없으므로 확인하는 방법을 점입니다. 이 난이도를 해결하려면 수식 다음 변형을 사용합니다.:
            -(Point Size * LOGPIXELSY)
   height = --------------------------
                         72
				
이 수식을 같이 작성할 수도 있습니다:
   plf->lfHeight = -MulDiv (nPtSize, GetDeviceCaps (hdc, LOGPIXELSY), 72);
				
글꼴 매퍼는 셀 높이를 아닌 문자 높이 비슷한 제공합니다 응용 프로그램에서 CreateFont() 호출하여 또는 CreateFontIndirect() 함수 및 높이 매개 변수에 대해 음수 값을 지정합니다. 셀 높이 및 문자 높이 차이점은 내부 선행 다음 다이어그램에 볼 수 있듯이:
   ----------  <------------------------------
   |        |           |- Internal Leading  |
   | |   |  |  <---------                    |
   | |   |  |        |                       |- Cell Height
   | |---|  |        |- Character Height     |
   | |   |  |        |                       |
   | |   |  |        |                       |
   ----------  <------------------------------
				
경우 다음 수식은 글꼴의 포인트 크기를 계산합니다:
                (Height - Internal Leading) * 72
   Point Size = --------------------------------
                           LOGPIXELSY
				
TEXTMETRIC 데이터 구조에서, 높이 및 내부 선행 값을 얻은. 위에서 설명한 것처럼 GetDeviceCaps 함수에서 LOGPIXELSY 값을 가져옵니다.

계산된 둥근 크기 가장 가까운 정수로 가리킵니다. Windows MulDiv() 함수의 결과를 반올림합니다 및 이전 계산을 수행하려면 훌륭한 선택입니다.

속성

기술 자료: 74299 - 마지막 검토: 2006년 11월 21일 화요일 - 수정: 3.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Windows Software Development Kit 3.1
  • Microsoft Win32 Application Programming Interface?을(를) 다음과 함께 사용했을 때
    • Microsoft Windows NT Server 3.5
    • Microsoft Windows NT Server 3.51
    • Microsoft Windows NT Server 4.0 Standard Edition
    • Microsoft Windows NT Workstation 3.5
    • Microsoft Windows NT Workstation 3.51
    • Microsoft Windows NT Workstation 4.0 Developer Edition
키워드:?
kbmt kbinfo KB74299 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com