このページの本文へ

前へ 1 2 次へ

Windows Info ― 第23回

Windowsと高DPIディスプレイ【その1】 8までのDPIスケーリング

2014年06月05日 15時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

Windows 8.1でようやく高DPIのディスプレイに
本格対応した

 Windows 8.1を使っていると、ときどき、テキストなどがぼけた表示を見かけることがある。たとえば、Windowsの画面拡大率を150%にしているときにデバイスマネージャを起動すると、文字がぼけているウィンドウになることがある。

Windows 8.1でDPIスケーリングを変更する

 これは、デバイスマネージャが古いタイプのアプリケーション(管理コンソール。MMC.exe)がそのままで、Windows Vistaから搭載されたDPI仮想化により、拡大して表示されるためだ。

左が125%、右が150%に設定したところ。デバイスマネージャが古いプログラムであるため、150%に設定すると文字は大きくなるが、ぼやけて見える
3つのdpiスケーリング値で表示されるデバイスマネージャの表示項目を切り出したもの。同じ表示で、文字のドット構成が同じなのにスケーリング値によって1ドット相当の大きさが変わっている

 WindowsにおけるディスプレイのDPI値は、ずっと問題になっていたものの、Windows XPまでは対症療法的な対応しか行なわれていなかった。さらにXP以前は、ディスプレイは解像度に関係なくデフォルトで96dpiであると仮定されてきた。

 XPでようやく、96dpi(100%)と120dpi(120%)の2つの値(およびカスタムDPI設定)が導入された。アプリケーションはDPI値などを入手し、解像度に応じた動作を取ることはできたが、多くのアプリケーションは、固定したdpi値を前提に作られることが多かった。

 実際にアプリケーションによっては、それでも問題なく高い解像度で動作した。しかし、いくつかのアプリケーションでは、ウィンドウやその内部に配置されるボタンなどのオブジェクトが小さすぎる、あるいは文字がはみ出して読めないといった問題を引き起こした。このため、Windows 8.0までは、XPと互換性を持つdpi設定が残されていたのだ。

 ただし、この方法は、画面全体のdpi値を固定した値にするもので、最近のディスプレイではサイズによっては、文字などが小さすぎるという問題が起きてしまう。そして、Windows 8.1では、XP互換のdpi設定そのものが廃止された。

 Windowsでは、こうした設定をdpiスケーリングという。今回はこのdpiスケーリングについて解説するが、少々話がややこしいため、2回に分けて解説を行う。一回目は基本的な部分とWindows 8以前のdpiスケーリングを解説する。

ディスプレイの解像度と物理サイズ

 まずは、画面に関するパラメーターなどについて解説しておこう。一般的なディスプレイには「解像度」および「物理サイズ」の2つのパラメーターがある。解像度は、縦と横のドット数でこれを表す。物理サイズは、画面表示領域(場合によってはディスプレイデバイスの)大きさだが、一般に有効表示領域の対角線の長さを使う。対角線の長さを使うのは、画面の縦横比に依存せずにおおよその画面の大きさを表すことができるからである。なお、画面の縦横比は、解像度から計算できる。こうしたパラメーターは、CRTディスプレイの頃からの慣習である。

 dpi値とは、「Dot Per Inch」の略で、画面上の1インチあたりに何個のドットが並ぶのかを示す値だ。これは「解像度」と「物理サイズ」から計算することができる。一般的には、物理サイズが対角線の長さなので、解像度からピタゴラスの定理を使って、対角線に並ぶドット数を求め、これを物理サイズで除算することで得ることができる。

 dpi値は、物理的な長さとドット数を関連させるパラメーターで、コンピュータにおいて「実寸」を扱う場合に必要となるパラメーターだ。たとえば、文字の大きさは、一般的には「ポイント」や「級数」と呼ばれる数値で表現されるが、これは、実際の寸法に基づく数値であるため、dpi値を使うことで、画面上にポイントなどで指定したフォントを表示可能になる。

 印刷プレビューなどで、実際の印刷に近いものを表示する場合、dpi値を使わないと、正しく画面に表示することができない。画面の解像度がXGA(1024×768ドット)でも、物理サイズが10インチと15インチではdpi値が違うため、1インチに相当する線を表示させる場合のドット数が違って来る。

 もっとも、コンピューターでは常に実寸表示が必要というわけでもなく、多くのグラフィックス描画は、ドット数を指定して行なわれることがほとんどだ。また、ビットマップはそもそも縦横のドット数が決まっており、dpi値に合わせて複数のビットマップを切り替えて使う(あるいは拡大縮小する)ことが求められる。

 「dpiスケーリング」の1つの役割は、前述のように実寸とドット数の対応を行うことだ。ただし、歴史的な経緯からこの機能は、画面に表示されるメニューやメッセージなどの文字のサイズを変更するためにも利用されてきた。メニューやタイトルバーの文字などは、システム側が常に同じポイント数で描画するが、これを大きいと感じるか、小さすぎると感じるかは人によって違う。

 また同じ人でも、15インチと24インチのディスプレイを使う場合に、最適と感じる文字の大きさは違って来る。また、同じ物理サイズ、解像度でも、ノートPCで使うか、タブレットで使うかによって、ユーザーの目からの距離(一般にタブレットは目のそばで使う)が違うため、同じ大きさの文字であっても、体感する文字の大きさは違う。

 こうした問題に対処するため、dpiスケーリングが利用されてきた。「dpiスケーリング」は、本来コンピュータが想定する「1インチ」のサイズを変更するもので、画面に表示される文字の大きさを決定するためのものだったが、使い方やユーザーの好みなどにより、システムの標準文字サイズを変更する機能としても使われているため、実際に画面に表示される長さを実寸通りに完全に一致させればOKというものではない。

 なお、想定したdpi値を使うと、ドット数から逆に「仮想的」な実寸を出すことができる。実際に表示される長さとは別に、コンピューター内で、実寸と想定されるもので、96dpiを設定していれば、96ドットが仮想的な1インチになる。これを「論理インチ」と呼ぶことがある。

文字サイズを表すポイント

 一般に米国では、文字の大きさを「ポイント」で表す。文字の大きさを表すポイントには、国によって違いがあり、米国で利用されているのは「パイカ・ポイント」と呼ばれるもので、「パイカ」という印刷用の単位を基準にしたものだ。米国のパイカ(アメリカン・パイカ)は、35cmが83パイカと定義されており、1パイカは、約4.2175mm(0.177インチ)である。「パイカ・ポイント」では、1パイカが12ポイントとされているため、1ポイントは1/12パイカであり、約0.3514mm(0.01384インチ)になる。

 こうした基準が作られたのは、文字の活字を多数作るのを避けるために、ポイントの定義を1つに定めたからで、ヨーロッパなどではまた違う体系のポイントが使われていた。日本でも印刷の文字サイズの指定にポイントを使用することがあるが、そのときの基準は米国と同じパイカポイントである。

 コンピュータで文字を扱う場合も、それまで使われてきた「ポイント」を基準に文字のサイズを表すことにしたが、1ポイントを1/72インチ(=0.01389インチ、0.3528mm)とした。これは、アメリカンパイカに近い値で、かつコンピュータでの取扱が用意な数から選ばれた。これをDTPポイントという。Windowsでは、このDTPポイントを文字サイズの基準して利用している。

前へ 1 2 次へ

この連載の記事

注目ニュース

ASCII倶楽部

最新記事

ASCII.jp特設サイト

ASCII.jpメール デジタルMac/iPodマガジン

ASCII.jp RSS2.0 配信中

ピックアップ

富士通パソコンFMVの直販サイト富士通 WEB MART