WMF ファイル形式とは?
.wmf は Microsoft によって開発されたベクター画像ファイルで、1990年に Windows 3.0 と共に導入されました。ベクターグラフィックスは、ピクセルのグリッドで構成されるラスターグラフィックスとは対照的に、オブジェクトとその幾何学的な関係で構成されます。.wmf 形式はラスターグラフィックスもサポートしていますが、限定的です。埋め込みビットマップ(DIB)は、ファイル内の GDI 描画コマンドと並んで表示されることがあります。
内部的には、この形式は16ビットの Windows GDI コマンドのシーケンスを記録します。最も一般的なバリアントは Placeable WMF(Aldus APM)で、オフセット 0 にマジックバイト D7 CD C6 9A で識別される 22 バイトのヘッダーが付加されています。
この形式は、他の同様の形式と比較して大きな人気を得ることはありませんでした。画像の拡大縮小機能が限られており、大規模なプロジェクトでの使用は煩雑でした。その理由の一つは、16ビットの符号付き座標により精度が ±32,767 論理ユニットに制限されているためです。Microsoft は 1993 年にこれを 32 ビットの .emf (Enhanced Metafile) に置き換えました。GZIP 圧縮されたバリアントは .wmz として保存されます。
セキュリティと安全性
リスク: MEDIUM通常の WMF にはマクロではなく描画コマンドが含まれているため、画像コンテンツは受動的です。本当の懸念はパーサーの脆弱性です。2005-2006 年の Windows Metafile の脆弱性は、SETABORTPROC メタファイルレコードを悪用して、細工された WMF を表示するだけで任意のコードを実行させるものでした。それ以降も GDI メタファイル解析には定期的に CVE が発生しています。Windows と Office を最新の状態に保ち、未知の送信者からの未承諾の .wmf ファイルには注意してください。通常の古い Office ドキュメント内の WMF は、ほとんどの場合無害なクリップアートです。
形式の詳細
概要WMF ファイルを開くプログラム
技術的詳細
詳細仕様| ファイルタイプ | 16 ビット Windows GDI ベクターメタファイル。再生される GDI 描画コマンドのシーケンスを保存 |
| エンコーディング | バイナリレコードストリーム、リトルエンディアンのバイト順 |
| MIME タイプ | `image/wmf`; 代替案: `image/x-wmf`, `application/x-msmetafile` |
| マジックバイト (Placeable WMF) | Placeable (Aldus APM) バリアントのオフセット 0 に `D7 CD C6 9A` |
| マジックバイト (bare WMF) | `01 00 09 00` (メモリメタファイル) または `02 00 09 00` (ディスクメタファイル) |
| ファイル構造 | オプションの 22 バイト Aldus APM ヘッダー + 18 バイト WMF ヘッダー + GDI レコードシーケンス + EOF レコード |
| 座標精度 | 16 ビット符号付き整数、軸あたり ±32,767 論理ユニット |
| 色深度 | デバイス依存。GDI レコードはパレットまたは RGB 値を使用。埋め込み DIB は 1-24 bpp をサポート |
| 埋め込みビットマップ | デバイス独立ビットマップ (DIB) を、ベクターレコードと並んで GDI レコードストリーム内に含めることが可能 |
| 圧縮 | なし。GZIP 圧縮されたバリアントは `.wmz` |
| チェックサム | Aldus APM placeable ヘッダー内のみにある 16 ビット XOR チェックサムフィールド |
| 後継形式 | `.emf` (Enhanced Metafile)、Windows NT 3.1 (1993) 以降の 32 ビット GDI 代替形式 |
| プラットフォームサポート | Windows (ネイティブ GDI); macOS および Linux (Inkscape, LibreOffice Draw, Adobe Illustrator 経由) |
| セキュリティ上の注意 | `SETABORTPROC` エスケープレコードの脆弱性により、任意のコード実行が可能でした。2005-2006 年に広く悪用されました |
| リリース日 | 1990 (Windows 3.0); documented publicly as MS-WMF |
| 最新バージョン | MS-WMF specification (format frozen; superseded by EMF) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | learn.microsoft.com |
WMF の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。WMF ファイルについて最初の質問をしてみましょう。