関連ページ
目次
HighDPI(スケーリング100%以上の)環境下で、フォントの表示がぼやける問題について
プログラム内で、フォントサイズの指定が DPIの変化を考慮してない?
pt -> dotの変換計算に手を加える
(端数を切る、存在しないフォントサイズになる場合切り上げ/切り下げるなど)
ユーザが、プロパティから
「高dpi設定では画面のスケーリングを無効にする」を有効にする。
Windows 8 behavior: Not DPI– aware desktop applications are scaled according to the DPI of the primary monitor. Users can change this system-wide scaling factor by selecting a different radio button or entering a custom value.
Windows 8.1 behavior: Not DPI– aware desktop applications are scaled according to the DPI of each monitor individually. Users can further adjust by using the desktop scaling override.
If the user checks the Set one scaling level for all my displays checkbox, the Windows 8 functionality is active and Control Panel displays the Windows 8 radio buttons for applying a system-wide scale factor. In other words, per-monitor scaling is disabled.
If the user does not check the Set one scaling level for all my displays checkbox, the Windows 8.1 per-monitor scaling functionality is active, and Control Panel replaces the radio buttons with a Smaller/Larger slider control. This control sets a desktop scaling override. The slider can have several settings depending on the range of DPI plateaus in the current machine configuration.
If the user applies a new desktop scaling override value, the scaling of each monitor is adjusted up or down accordingly, if possible. If a monitor is already at the minimum (96 DPI = 100% scaling) or maximum (192 DPI = 200% scaling) the override has no effect for that monitor. If scaling up for a monitor would result in its virtual size being less than the minimum resolution of 1024x720, the override has no effect. When the user applies a change to the Smaller/Larger slider control (via the Apply button) the rescaling takes effect immediately. This bitmap rescaling affects all applications.
DPI–aware applications may have some content blurriness until the next sign-in when they re-read the DPI and render themselves accordingly.
例:フォントサイズを12dot , スケーリングが120%の場合
12 * 1.2 = 14.4 dot のサイズでフォントを描画してしまう。
(単純に12dot のフォントが1.2倍のスケーリング処理される。)
例:フォントサイズを12dot , スケーリングが150%の場合
12 * 1.5 = 18 dot のサイズでフォントを描画。
DPI と DIP (デバイス非依存ピクセル) (Windows)
http://msdn.microsoft.com/ja-jp/library/windows/desktop/ff684173(v=vs.85).aspx
フォントサイズをドットで指定する - It_lives_vainlyの日記
http://d.hatena.ne.jp/It_lives_vainly/20100331/1270002338
Windows 8.1 DPI Scaling Enhancements
https://blogs.windows.com/windows/b/extremewindows/archive/2013/07/15/windows-8-1-dpi-scaling-enhancements.aspx?Redirected=true
Writing DPI-Aware Desktop and Win32 Applications (Windows)
http://msdn.microsoft.com/en-us/library/windows/desktop/dn469266(v=vs.85).aspx