2009-12-22 3 views
3

.Net 2.0 SP2 Windows Forms 응용 프로그램을 만들고 있습니다. 내 컴퓨터에서 양식 글꼴이 잘 보이는 것처럼 보였습니다. 다른 컴퓨터에서 시도했을 때 글꼴이 더 커 보입니다. (해상도 차이가 있기 때문에 글꼴이 다른 아이콘과 비교하여 더 큽니다.).Net 일관되지 않은 글꼴 렌더링

문제를 디버깅하려고 시도했는데 다음 코드가 다른 컴퓨터에서 다른 크기를 반환합니다.

//inside a windows form 
private void checkfont() 
{ 
    var g = this.CreateGraphics(); 
    MessageBox.Show(g.MeasureString("Hello World", this.Font) + "," + this.Font); 
} 

graphics.measurestring()은 다른 컴퓨터에서 동일한 인수에 대해 동일한 값을 반환합니다. 글꼴

'굴림 8.25'기계에

  • 1에 "Hello World"조치 69.0px, 기계 2에 "Hello World"조치 86.3px에 14.7px
  • , 18.4px

왜이 차이가 있습니까? 이 때문에 내 응용 프로그램 글꼴이 더 커 보이고 레이아웃에 영향을줍니다.

alt text alt text

편집 :

두 기계는 닷넷 2.0 SP2를 가지고 있지만, 자신의 해상도와 화면 크기가 다릅니다. 글꼴 크기 (실제 화면)는 해상도와 화면 크기에 따라 다릅니다. 하지만 제 질문은 왜 픽셀 단위의 치수가 다른가요?

2 번 기계는 Windows XP의 터치 스크린 시스템과 함께 기본적으로 모든 데스크탑 글꼴이 더 커지 만 기본 Windows 테마/Windows 글꼴을 재설정했습니다.

+1

컴퓨터에 다른 비디오 카드, 글꼴 설정, 서비스 팩, 드라이버 등이 있습니까? 이 모든 것들이 이것에 영향을 줄 수 있습니다. – GrayWizardx

답변

4

"Verdana 8.25"를 구별하면이 8.25는 픽셀과 직접 관련이 없으며 화면 DPI가 다른 경우 "점"으로 간주되며 다른 컴퓨터에서 다르게 렌더링됩니다.

Windows의 경우 바탕 화면 설정에서 해상도를 변경하지 않고 화면 글꼴 크기를 늘릴 수 있습니다. 화면 글꼴 크기를 늘리면 픽셀 당 점 (Dot per Pixel)이 변경되어 다른 컴퓨터의 동일한 텍스트에 대해 서로 다른 픽셀 크기를 측정 할 수 있습니다.

노인이 작은 글꼴을 읽을 수 없기 때문에 이는 바탕 화면 설정에서 글꼴 크기를 늘릴 수있는 이유 때문입니다. 글꼴 크기를 점 단위로만 지정할 수 있습니다. 글꼴 크기를 픽셀 단위로 고정하면 오래된 또는 시각 장애가있는 사람들이 텍스트를 올바르게 읽을 수 없습니다. 이렇게하면 전체 운영 체제의 텍스트 크기가 사용자가 제어 할 수 있습니다.

+0

"디스플레이 등록 정보> 어커런스> 글꼴 크기> 일반"도움 안됨 "디스플레이 등록 정보> 설정> 고급> 디스플레이 dpi 설정> 일반 크기 96 Dpi"로 문제가 해결되었습니다. – Palani

1

DPI 글꼴 크기 조정이 "큰 글꼴"로 설정된 것처럼 보입니까?

편집
참조 아카 쉬 카바의 대답은 - 그는 "큰 글꼴"설정에 대한 자세한 내용이수록.