X-serverはDPIをどのように計算しますか?

X-serverはDPIをどのように計算しますか?

~から出荷書類ビーチ:

DPI(インチあたりのドット数)の値をオーバーライドする場合X-serverとして計算された、チェックボックスをオンにして回転ボックスを使用して、画面上のフォントをレンダリングする解像度を指定できます。

しかし、どのようにX-serverは計算を実行しますか?その過程でどのような仮定が行われましたか?特定のパラメータをオーバーライドできますか?

私のモニターにどのくらいのピクセルがあるのか​​わかりますが、それで十分ですか?

答え1

私の知る限り、バージョン1.7からxorg デフォルトは96 dpi。設定ファイルDisplaySizeで指定しない限り、Xorg何も計算しません。また、xdpyinfo出力に依存しないでください。
私のラップトップはIntel SandyBridgeで動作します。Xorg.0.logArchlinuxを新しくインストールしたものから抜粋:

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

走る

xdpyinfo | grep -E 'dimensions|resolution'

返品:

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

これは真実から遠いです。私知る私の画面サイズは344x193ミリメートル単位なので、物理サイズはピクセル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 DPIgnome-settings-daemon118 DPIxdpyinfo

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

答え2

X-serverはDPIをどのように計算しますか?

X サーバの DPI は次のように決定されます。

  1. コマンド-dpiラインオプションの優先順位が最も高いです。
  2. このオプションを使用しない場合は、DisplaySize画面の解像度に応じてX設定ファイルの設定を使用してDPIをエクスポートします。
  3. 指定されていない場合、DisplaySizeDDCの表示サイズ値は画面解像度に基づいてDPIを派生させるために使用されます。
  4. DDC がサイズを指定しない場合、デフォルトは 75DPI です。

私のモニターにどのくらいのピクセルがあるのか​​わかりますが、それで十分ですか?

いいえ、仮想画面サイズ(ピクセル単位)だけでなく、(通常)物理ディスプレイサイズ(ミリメートル単位)も知っています。ターミナルウィンドウで、次のコマンドを実行して表示サイズを確認できます。

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

Xサーバーで実行される計算は次のとおりです。

  • 1366ピクセルを361ミリメートルで割った値xインチあたり25.4ミリメートル= 96.11191136インチあたりのドット数(DPI)。
  • 768ピクセルを203ミリメートルで割った値xインチあたり25.4ミリメートル=インチあたりのドット数は96.09458128です。

次のコマンドを使用して、Xサーバーで計算されたDPIを確認できます。

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

よさそうですが、そうではありませんか?

追加資料:

答え3

1インチあたりのドット数=ドット数(ピクセル)/インチ(モニターの物理サイズ)。

関連情報