DirectWrite
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)にも対応した。
脚注
[編集 ]- ^ DirectWrite (DWrite) - Win32 apps | Microsoft Learn
- ^ What's new in DirectWrite - Win32 apps | Microsoft Learn
- ^ Interoperating with GDI - Win32 apps | Microsoft Learn
- ^ IDWriteGdiInterop (dwrite.h) - Win32 apps | Microsoft Learn
- ^ Rotating Lines of Text - Win32 apps | Microsoft Learn
- ^ Formatting Text (GDI+) - Win32 apps | Microsoft Learn
- ^ Vertical Text - Win32 apps | Microsoft Learn
- ^ §Rendering color fonts : What's new in DirectWrite - Win32 apps | Microsoft Learn
- ^ Color font support - Win32 apps | Microsoft Learn
関連項目
[編集 ]外部リンク
[編集 ]- Microsoft Learn(旧MSDN ライブラリ)
マイクロソフトのAPIとフレームワーク | |
|---|---|
| グラフィック | |
| オーディオ | |
| マルチメディア | |
| ウェブ | |
| データアクセス | |
| ネットワーク | |
| コミュニケーション | |
| 管理 | |
| コンポーネントモデル | |
| ライブラリ | |
| デバイスドライバ | |
| セキュリティ | |
| .NET | |
| ソフトウェアファクトリー | |
| IPC | |
| アクセシビリティ | |
テキストと多言語 サポート | |
| 人工知能 | |
この項目は、ソフトウェアに関連した書きかけの項目 です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。