はじめに

Windows XPサポート終了、および消費税率引き上げに伴ってPC買い替え特需の発生した昨年の春ごろから「x-アプリ」、「文字」、「フォントサイズ」、「小さい」、「大きくしたい」などの検索ワードで当サイトに来られる方が目立って多くなっています。
x-アプリにそういった要望が多いことはおそらくSonyも把握していて、次回バージョンアップがあるとしたら対策をしてくるのではないかと考えていたら、先日のx-アプリ 6.0.01へのバージョンアップでは見事にスルーされてしまいました(´・ω・`)
<追記> その後の6.0.02(2015/10/05公開)、6.0.03(2016/03/29公開)、6.0.04(2016/09/06公開)へのバージョンアップでも対応されませんでした。

そういうわけで、このページではちょっと裏技的な方法でx-アプリの文字やアイコンなど画面項目全体を大きく拡大する方法を紹介したいと思います。

参考までにビフォー/アフター画像をそれぞれ載せておきます。
(参考画像のディスプレイは解像度:1680×1050、DPIスケールは150%に設定しています)

 

ビフォー

拡大化実施前のデスクトップ画像

比較対象の電卓やデスクトップアイコンに比べると、x-アプリはやっぱり文字が小さめですね

アフター

拡大化実施後のデスクトップ画像

大きくなったo(^▽^)o

 

なお、このページで紹介する方法はWindows XPは対象外です。 また、ディスプレイのDPIスケールが100%に設定されているPCでは効果はありません。

…といっても、DPI100%の環境でx-アプリ“だけ”文字が小さいと感じる人はまずいないはずです。
あと、ついでながら補足するとWindows 7以降のコントロールパネルではDPIという用語はあまり使われなくなっています。「すべての項目のサイズ」という名称だったりします。
DPIスケール設定の確認・変更についてはエプソンダイレクトのユーザーサポートページが参考になります。

次項以降で、このページの方法がどのようなものなのか理解するための予備知識的な話から始めていきます。
方法だけを手っ取り早く知りたい方は、Windows SDKのインストールの項まで読み飛ばしてください。

 

なぜx-アプリだけ文字が小さいの?

新しく買い替えたPCにx-アプリをインストールし、前項のビフォー画像のような状況を目にしたとき、表題のような疑問を浮かべる方も多いのではないでしょうか?
システム的な話をすると、これ実は「x-アプリだけ文字が小さい」というよりも、正確には「x-アプリ以外の文字が拡大して表示されている」という状況だったりします

最近になって急速に普及してきた高精細なディスプレイでは、画面を広く使えるというメリットと引き換えに、文字が小さく表示されるというデメリットもあります。
これを解消するためにWindows XPからは全ての文字・アイコン等を100%、125%、150%、200%・・・(XPの時点では100%か125%の2択)と倍率を選択して拡大表示できる設定が用意されており、最近のPCでは工場出荷状態から100%超の倍率に設定されているものも登場しだしました。
「x-アプリだけ文字が小さい」という不満をもっているのは、大抵このような高DPI設定のPCを使用されている方たちです。

では、「なぜx-アプリだけ文字が拡大されないのか?」についてですが、この理由を知るには少々Windowsに関する知識が必要です。 次項からその辺を少し説明します。

 

DPI仮想化

前項でWindows XPからは文字の大きさを選択できる設定が用意されていると書きましたが、Windowsがそういった設定を用意すればそれだけで万事OKなわけではなくて、個々のアプリケーション側がそれに対応した作り方になっていないと意味がありません。

例えば、ある個所のテキストを表示するのに普通は16ptフォントを使うところを、DPIが150%の設定になっていたら24ptのフォントを使う、といったDPIスケールに適した処理を実装しておく必要があります。 フォントの大きさだけでなくあらゆる画面項目の大きさ・位置(座標)指定にも対応が求められ、規模の大きなアプリでこういった処理を完璧に実装して動作テストするのはそれなりに労力が必要だったりします。

Windows標準機能や多数のユーザを抱える商用ソフトウェアの最近のバージョンでは、ちゃんとDPI処理を実装しているものが多いですが、フリーソフトなど含めてもっと広くを見渡すとそれほど多くはありません。

そういった状況もあり、Windows Vistaからは少し問題点があるもののDPI未対応アプリでもWindows側で拡大表示する仕組み、言わば「救済措置」を用意してくれました。
この救済措置は「DPI仮想化」といって、アプリケーションのウィンドウ内部に表示されているもの全体を1枚の画像とみなして、それを拡大表示する、という方法で実現されています。
これにまつわる問題点とは具体的には「文字や画像・アイコンなどがぼやける」、「ドラッグ アンド ドロップなどの入力に問題が発生する可能性がある」といったものです。
実際には後者の問題が発生した実例はあまりきいたことはありませんが、文字がぼやけて表示されるアプリは結構見かけせんか? これらはDPI仮想化によって単純な画像引き伸ばしで拡大表示されているからです。

Windows標準のものでも「デバイス マネージャー」「イベント ビューアー」など古くからあまりリニューアルされずに残っているものは、DPI仮想化の恩恵に頼っているものもあります。

 

マニフェスト

DPI仮想化という仕組みができたことで、ちゃんとDPIに対応して作られているアプリまでもがWindowsに勝手に「DPI仮想化」されてしまわないように、EXEファイルに埋め込まれるマニフェストというものを使って、Windowsに対して「DPIに対応している!」と宣言することできるようになりました。

マニフェストで宣言できる事柄はもっと多くの種類があります。EXEファイルに特有の、プロパティの一種と考えれば大きく間違ってないと思います。 また、オーディオ/ビデオファイルに埋めこまれる”タグ”ともちょっと似ていますね。

 

x-アプリのマニフェスト

ここでやっと、x-アプリについての話に戻ります。 x-アプリは初期バージョンから現在の最新バージョン(6.0.02)に至るまでDPIに対応して作られていないのにも関わらず、なぜかVersion5.0.00からはマニフェストに「DPIに対応している!」との宣言が追加されていて、それ以降、救済措置の「DPI仮想化」が働かなくなっているのです。 だからx-アプリだけ文字が拡大されない(=小さい)のですね。
じゃあ、なんでDPI仮想化が働かないようにマニフェスト宣言が追加されたのかと言うと、ここからは予想になってしまいますが、前述したDPI仮想化の問題点を考慮すると以下のような理由が考えられます。

  • 文字や画像・アイコンなどがぼやけるのを(美的センス等の理由から)我慢できなかった
  • ドラッグ アンド ドロップなどの入力に問題が実際に発生したため

逆に言えば、これらの問題を厭わないのであれば、DPI仮想化によって拡大表示させることも可能です。 それにはx-APPLICATION.exeに埋め込まれたマニフェストを編集する必要があるのですが、そのためのツール(マニフェストツール)をMicrosoftが用意しています。 マニフェストツールはWindows SDK(ソフトウェア開発キット)に含まれるので、次項でそのダウンロード・インストールについて解説します。

 

Windows SDKのインストール

<注意>Windows Vistaをお使いの方は、ここで説明するWindows SDKのバージョンは動作対象外となります。 替わりにこちらのページを参考にしてインストールしてください。

Windows Vista以外の方は、以下のリンク先からインストーラーをダウンロードしてください。
Microsoft | Windows Dev Center

リンク先ページ内の青い四角で囲まれて「Download the standalone SDK」と書かれた箇所をクリックすればダウンロードできます。
なお、”for Windows 10″と書かれていますが、これはSDKのバージョン番号に相当するもので、別にWindows 10専用というわけではなくWindows 7以降であればインストール可能です。

 

ダウンロードしたsdksetup.exeをダブルクリックしてインストーラーを実行してください。 下の画面が表示されます。

Windows SDKのインストール画像1

インストール先の指定画面です。 Cドライブの空き容量が極端に不足している、ということでもなければデフォルトのままで[Next]ボタンをクリックしてしまえばいいと思います。

Windows SDKのインストール画像2

カスタマー満足度向上プログラムに参加するかとの問いかけです。 [Yes][No]どちらかを選択して[Next]ボタンをクリックしてください。 どちらを選んでも構いません。 [Yes]を選択すると、品質向上の為に使用される情報がMicrosoftに送信されることがあります。プライバシーに関わる情報が送信されることはありません。

Windows SDKのインストール画像3

ライセンス条文です。 各条項を読み、同意できるなら[Accept]ボタンをクリックしてください。

Windows SDKのインストール画像4

インストールコンポーネントの選択画面です。 初期状態ではすべての項目にチェックが付いていますが、画像の通りに[Windows App Certification Kit]だけにチェックを入れておけば十分です。 インストール時間・ストレージ容量を節約できます。 [Install]ボタンをクリックすると、管理者権限の確認がされ、インストールが始まります。

Windows SDKのインストール画像5

インストール中の画面です。 必要なファイルがダウンロードされながらインストールされるので回線によっては多少時間を要するかもしれません。

Windows SDKのインストール画像6

インストールが正常に完了したらこの画面が表示されます。 ここにエラーメッセージらしきものが書かれていたら、正常にインストールできていない可能性があります。

 

マニフェスト編集

さて、いよいよマニフェストツール(CUIベースのコンソールアプリケーション)を使用してx-アプリ(x-APPLICATION.exe)のマニフェストを編集するのですが、やるべきことはおおまかに以下の手順となります。

  1. (任意だが安全のために)x-APPLICATION.exeを別名保存してバックアップ
  2. マニフェストツールを使用してx-APPLICATION.exeからマニフェストをxmlファイル形式でエクスポート
  3. xmlエディタまたはテキストエディタを使用してxmlファイルを編集
  4. マニフェストツールを使用してx-APPLICATION.exeにxmlファイルをインポート

 

この行程の一部は少々難易度が高いと思われましたので、全行程を自動で行うスクリプトを用意しました。 これを活用してください。

ダウンロード:x-app_expander.zip (6.08KB)

動作対象は、Windows Vista以降(32ビット/64ビット)、x-アプリ Version 5.0.00以降です。

ダウンロード・解凍したフォルダ内の「x-アプリ マニフェスト編集スクリプト.vbs」をダブルクリックして実行してください。
管理者権限が必要です。ユーザーアカウント制御のダイアログが表示されたら同意してください。 続いて実行確認ダイアログがでるので「OK」ボタンを押せば処理を始めます。

処理が終了したらx-アプリを起動してみてください。 拡大表示されているはずです。

 

最後に

マニフェスト編集後のx-APPLICATION.exeからは電子署名が無くなっています。 これは、マニフェストツールの仕様というよりも、電子署名の仕組みに由来する当然の結果です。
電子署名が無くなってもx-アプリの動作に関して実際的な影響は無いだろうと考えていますが、ひょっとしたら何らかの影響があるかもしれません。その点はご留意ください。
また、途中でも書きましたが、「文字や画像・アイコンなどがぼやける」、「ドラッグ アンド ドロップなどの入力に問題が発生する可能性がある」という点もあわせて了承の上ご利用ください。
ただ、私がある程度、動作確認した範囲では「ぼやけ」以外の不具合は発生しておりません。 「ぼやけ」を許容できるかは人それぞれだと思いますが、そこには目を瞑ってでも拡大表示できることに魅力を感じたのであれば、どうぞ一度お試しください。

また、x-アプリと同様に高DPI環境下で文字が小さいアプリに遭遇して、そちらもなんとかしたいと望んでいるのなら、「x-アプリ マニフェスト編集スクリプト.vbs」の一部を書き換えて実行することで、x-アプリ以外でも処理対象にすることができます。詳細は同梱のReadme.txtをお読みください。