WYSIWYG 표시 및 출력
대부분의 애플리케이션은 WYSIWYG(표시되는 내용) 출력을 지원하려고 합니다. 즉, 애플리케이션 창에서 10포인트 Helvetica 굵은 글꼴로 그린 텍스트는 인쇄할 때 비슷한 모양이어야 합니다. 실제 WYSIWYG 출력을 얻는 것은 사실상 불가능하며 대부분의 경우 바람직하지도 않습니다. 이는 비디오 및 프린터 기술의 차이로 인해 부분적으로 발생합니다. 화면의 픽셀은 일반적으로 일반 레이저 프린터의 점보다 큽다. 보기 거리도 다릅니다. 컴퓨터 사용자는 일반적으로 화면에서 약 2피트 떨어진 곳에 있지만, 독자의 눈은 일반적으로 인쇄된 페이지에서 1피트 이하입니다.
화면과 인쇄된 페이지 간의 가독성 차이를 보정하기 위해 시스템은 항상 픽셀 단위로 지정된 논리 인치라는 단위를 지원합니다. 비디오 디스플레이의 경우 논리 인치는 항상 실제 인치보다 크면 더 긴 시야 거리와 (일반적으로) 거친 해상도를 보정합니다. 프린터의 경우 논리 인치는 항상 실제 인치와 같습니다.
텍스트를 그릴 때 WYSIWYG 효과를 얻으려면 개별 문자를 동일하게 보이게 하는 것과 장치 독립적 페이지 레이아웃이라는 두 가지 관련 문제가 있습니다. 첫 번째 문제를 해결하기 위해 애플리케이션은 CreateFont 함수를 사용하여 이상적인(또는 논리적) 글꼴의 글꼴 이름과 크기를 지정한 다음 SelectObject 함수를 호출하여 디스플레이 또는 프린터 디바이스 컨텍스트를 식별할 수 있습니다. 애플리케이션이 SelectObject 호출하면 시스템에서 지정된 논리 글꼴과 가장 일치하는 실제 글꼴을 선택합니다. 시스템에서 표시 글꼴을 선택하면 실제 크기보다 큰 실제 글꼴을 선택합니다. 이는 디스플레이의 논리적 인치가 크기 때문에 발생합니다. 그러나 사용자의 관점에서 볼 때 올바른 높이에 매우 가까운 것으로 보입니다. 시스템에서 프린터의 글꼴을 선택하면 실제로 요청된 크기의 실제 글꼴을 선택합니다. 글꼴 및 텍스트 출력에 대한 자세한 내용은 글꼴 및 텍스트참조하세요.
디바이스 독립적 페이지 레이아웃의 두 번째 문제는 TrueType 메트릭을 사용하여 해결할 수 있습니다. 이는 16비트 버전의 Windows와의 호환성을 유지하는 경우에도 마찬가지입니다. 자세한 내용은 이식 가능한 TrueType 메트릭 사용하는참조하세요.
비트맵 그래픽을 그릴 때 WYSIWYG 효과를 얻기 위해 애플리케이션은 화면과 인쇄된 페이지의 너비와 높이를 논리적 인치 단위로 검색할 수 있습니다. 애플리케이션은 이러한 값을 사용하여 가로 및 세로 배율 인수를 만들어 프린터에 그릴 때 비트맵 이미지의 비율을 유지할 수 있습니다. 비트맵 및 비트맵 출력에 대한 자세한 내용은 비트맵참조하세요.