|
文字の描画(Ver8.31対応版)
目次−
動作環境−
表示/操作−
文字の描画
ここの設定は、上級者向け設定をONにすると設定できます。
- 3Dグラフィックスアクセラレータによる文字の描画
-
Windows7の新機能である、Direct2D / DirectWrite の仕組みを使い、3Dグラフィックスアクセラレータを使って文字を描画するかどうか指定します。
編集エリア(エディタ本文部分)の文字の描画について、この仕組みを適用することが出来ます。
この機能を使うには、Windowsの種類がWindows7以上であるか、またはWindows Vistaの場合には「Widows Vistaプラットフォーム更新プログラム」を別途インストールする必要があります。WindowsXP以下では使えません。
Windows Vistaプラットフォーム更新プログラムについては、「kb971644」でインターネット検索すると詳細が出てきます。
ただし、DirectWriteが機能する環境であっても、縦書きモード時と印刷時はDirectWriteは使用しません。
- アンチエイリアスの方式
-
3Dグラフィックスアクセラレータで文字を描画する時の、アンチエイリアスの方式を指定します。アンチエイリアスというのは、いわゆる文字をなめらかに描画する方式のことです。
「ClearType高繊細」にすると、普通のClearTypeと違って上下方向についてもアンチエイリアスが効くようになっていいみたいです。ただ、そのままだとちょっと偽色が出やすいので、ClearTypeのレベルを30%程度に落として、さらにコントラストは100%を指定するのがいいんじゃないかと思います。
「アウトライン式」を指定すると、おかしな描画になります。(作者の環境だと)。これの理由はいまいち分かりませんが、Windows SDKに付属のサンプルでテストしても同じだったので、たぶんそういう物(まだ未サポート)なんだと思います。
「ClearType高繊細」と「アウトライン式」以外については、文字のサイズが小さい場合で日本語用のフォントだと、ほとんどアンチエイリアスが効かないようです。
- コントラストの指定
-
アンチエイリアスをかける時のコントラスト(enhanced cotrast)という値を指定することが出来ます。これは100%にしてやった方が文字がくっきりしていいんじゃないかと思いますが、くっきりさせるとその分なめらか度合いは下がるような気もします。
- ClearTypeLevelの指定
-
ClearTypeでの色の付き具合を指定するようでして、0%を指定すると、ClearTypeじゃなくて普通のアンチエイリアスになります。100%にすると偽色が出やすくなっていまいちな気がします。
- (プロポ)文字間隔拡張
-
プロポーショナルフォントの場合の文字間隔の割合を指定します。ここで指定する文字間隔は0.01ポイント以下の単位で処理されるるので、ごくわずかのパーセンテージを指定しても正確な間隔で文字が描画されます。
- 性能チェック
-
3Dグラフィックスアクセラレータによる文字の描画と通常の描画との性能比較を行って結果表示します。アンチエイリアスの方式やビデオカードの種類によって性能はかなり違ってきます。
- 詳細
-
3Dグラフィックスアクセラレータによる文字の描画での、その他の詳細な設定を行います。
- ちらつき防止の描画方式
-
ここをONにすると、文字入力した時やカーソル移動した時とかに、あまりちらつかないように文字を描画するようになります。
3Dグラフィックスアクセラレータを使う設定の場合はここのオプションはONでもOFFでも、どっちにしてもちらつきは発生しなくなります。
- プロポーショナルフォント時のタブ文字の最低幅
-
プロポーショナルフォントの場合でタブ文字を使った場合、タブ文字の幅が、普通だと最低で1ピクセルになってしまうことがあり、画面上でタブ文字の見分けが難しい場合があります。
ここのオプションを「半角空白1文字分」にすると、タブ文字の表示幅が最低でも半角空白1文字分だけ確保されるので、見た目的にはよくなります。
- 補足
-
アンチエイリアスやコントラスト等の指定については、「DirectWrite Antialias」とかのキーワードでインターネット検索などすると、いろいろとヒントが出てくるようです。その辺も参考にしてほしいです。
噂によると、DirectWrite / Direct2D関係についてはまだドライバーにバグがあったり未サポートの部分があったりしてうまく描画されないケースもあるそうです。そういう場合はアンチエイリアスの方式をいろいろ変えてみるなどしてください。
それとあと、DirectWrite / Direct2D を使うと、Windowsを起動してから一番最初の秀丸エディタの起動はかなり遅くなってしまいます。DirectWrite / Direct2D用のライブラリをロードするのに時間がかかるので、これも仕方が無いと思います。
- 性能(パフォーマンス)について
-
3Dグラフィックスアクセラレータを使って文字を描画する設定にすると、描画性能が極端に遅い場合があります。こちらで確認した所では、以下のケースで極端に遅くなりました。
- 秀丸エディタを起動する用のショートカットの「互換性」ページでの「互換モードでこのプログラムを実行する」をONにしているケース。
- 秀丸エディタのプログラムが保護違反を何回か発生させたことによって、「フォールト トレラント ヒープ」が有効化されてしまったケース。
「2.」のケースについては、レジストリエディタを使って「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers」の中にあるデータを削除することで回復するようです。詳しくは「フォールトトレラントヒープ」でインターネット検索するなどして調べてみてください。
3Dグラフィックスアクセラレータを使った文字の描画の性能は、アンチエイリアスの指定の仕方によってもだいぶ変わるようです。また、たぶんですが、DirectX 11にハードウェアで対応したアクセラレータを使えば、より高速になるんじゃないかと思います。
|