DirectWriteは、Microsoft DirectXのコンポーネントの1つであり、GDI/GDI+の後継となる文字描画用API群である。略称はDWrite[1]。Direct2Dを経由してハードウェアアクセラレーションによる高速なテキスト描画が可能となるほか、OpenTypeの機能への対応や多数の言語への対応などが含まれる。また縦方向のアンチエイリアス処理が付加されたClearType処理も備えている。Windows 7およびWindows Server 2008 R2以降のOSで標準実装・サポートされているが、バージョン1.0はDirect2DとともにWindows VistaおよびWindows Server 2008にもバックポートされた。
DirectWriteはDirect2Dとともにナンバリングされており、Windows 7とともにリリースされたバージョン1.0、Windows 8とともにリリースされたバージョン1.1、Windows 8.1とともにリリースされたバージョン1.2、Windows 10とともにリリースされたバージョン1.3が存在する。Windows 10の機能更新時に、DirectWriteにも機能が追加されている[2]。
DirectWriteは主にDirect2Dと組み合わせて利用することを想定されているが、GDIとの相互運用もサポートしており、GDIフォントとの相互変換や、デバイスコンテキストを経由したGDIサーフェイスへの描画が可能となっている[3][4]。
従来のGDI/GDI+は縦書きに対応しており、単価記号(アットサイン、アットマーク)@
で始まる名前のフォント(縦書きのグリフを含むフォント)と回転角度指定あるいは縦方向フォーマットフラグを使用することで、日本語などアジア系言語の縦書きを実現することができる[5][6]。Windows 7までのDirectWriteは縦書きに対応していなかったが、Windows 8以降のDirectWriteは縦書きにも対応するようになった[7]。
OpenTypeのカラーフォント(カラー絵文字)への対応は、Windows 8.1から始まった[8][9]。当初はレイヤー方式(COLR/CPAL)のみをサポートしていたが、Windows 10 Anniversary Update (バージョン1607、ビルド14393) でSVG方式や埋め込みビットマップ方式(CBDT/CBLCおよびsbix)にも対応した。
マイクロソフトのAPIとフレームワーク | |
---|---|
グラフィック | |
オーディオ |
|
マルチメディア |
|
ウェブ | |
データアクセス |
|
ネットワーク |
|
コミュニケーション |
|
管理 |
|
コンポーネントモデル | |
ライブラリ | |
デバイスドライバ |
|
セキュリティ | |
.NET | |
ソフトウェアファクトリー |
|
IPC |
|
アクセシビリティ | |
テキストと多言語 サポート |
|