태그 보관물: x-server

x-server

X-server는 DPI를 어떻게 계산합니까? 렌더링 할 때 사용할 해상도를

에서 Xfce와 문서 도구 :

X 서버 에서 계산 한 DPI (dots per inch) 값을 무시하려면 확인란을 선택하고 스핀 상자를 사용하여 화면에서 글꼴을 렌더링 할 때 사용할 해상도를 지정할 수 있습니다.

그러나 방법 X-서버는 계산합니까? 프로세스에서 어떤 가정이 이루어지고 일부 매개 변수를 무시할 수 있습니까?

내 디스플레이에 몇 개의 픽셀이 있는지 알 수 있지만 충분합니까?



답변

내가 아는 한, 버전 1.7부터 xorg 기본값은96 dpi 입니다. 구성 파일을 DisplaySize통해 지정하지 않으면 아무것도 계산하지 않습니다 Xorg. 또한 xdpyinfo출력에 의존하지 마십시오 .
내 노트북은 Intel SandyBridge에서 실행됩니다. Xorg.0.log새로운 Archlinux 설치 에서 발췌 :

(==) intel(0): DPI set to (96, 96)

달리는

xdpyinfo | grep -E 'dimensions|resolution'

보고:

dimensions:    1600x900 pixels (423x238 millimeters)
resolution:    96x96 dots per inch

그것은 사실이 아닙니다. 내가 알고 내 화면 크기는 것을 344x193이렇게 분명히 mm xdpyinfo픽셀 해상도 (에 따라 실제 크기 산출 1600x900) 및 기본 96 DPI. 내가 추가하면

........
DisplaySize     344 193
........

들어 /etc/X11/xorg.conf.d/monitor.conf오고 다시 시작하면 Xorg.0.log올바르게보고합니다.

(**) intel(0): Display dimensions: (344, 193) mm
(**) intel(0): DPI set to (118, 118)

그러나 xdpyinfo | grep -E 'dimensions|resolution'항상 다음을 반환합니다.

dimensions:    1600x900 pixels (423x238 millimeters)
resolution:    96x96 dots per inch

그래도 Gnome을 사용하면서 시각적으로 변경되지 않으며에 96 DPI하드 코딩되어 gnome-settings-daemon있습니다. 후자를 패치 한 후, 나는 내 원주민을 즐길 수 있습니다 118 DPI. 그러나 결국에도 xdpyinfo여전히 다음을 반환합니다.

dimensions:    1600x900 pixels (423x238 millimeters)
resolution:    96x96 dots per inch

답변

X-server는 DPI를 어떻게 계산합니까?

X 서버의 DPI는 다음과 같은 방식으로 결정됩니다.

  1. -dpi명령 줄 옵션은 가장 높은 우선 순위를가집니다.
  2. 이를 사용하지 않으면 DisplaySizeX 구성 파일 의 설정이 화면 해상도에 따라 DPI를 도출하는 데 사용됩니다.
  3. DisplaySize값을 지정 하지 않으면 DDC의 모니터 크기 값이 화면 해상도에 따라 DPI를 도출하는 데 사용됩니다.
  4. DDC가 크기를 지정하지 않으면 기본적으로 75 DPI가 사용됩니다.

내 디스플레이에 몇 개의 픽셀이 있는지 알 수 있지만 충분합니까?

아니요, 가상 화면 크기를 픽셀 단위로 알뿐만 아니라 물리적 디스플레이 크기 (밀리미터)도 알고 있습니다. 터미널 창에서 다음을 실행하여 디스플레이 크기를 확인할 수 있습니다.

 ~ $ xdpyinfo | grep dimension
dimensions:    1366x768 pixels (361x203 millimeters)

X 서버에서 수행하는 계산은 다음과 같습니다.

  • 1366 픽셀을 361 밀리미터로 나눈 값은 인치당 25.4 밀리미터 = 96.11191136 인치당 도트 (DPI)로 곱해집니다.
  • 768 픽셀을 203 밀리미터로 나눈 값은 인치당 25.4 밀리미터 = 96.09458128 도트입니다.

다음 명령을 사용하여 X 서버가 계산 한 DPI를 확인할 수 있습니다.

 ~ $ xdpyinfo | grep resolution
 resolution:    96x96 dots per inch

좋아 보이지 않나요?

더 읽을 거리 :