Windows メタファイル( WMF ) は、1990 年代にMicrosoft Windows用に設計された画像ファイル形式です。元の Windows メタファイル形式はデバイスに依存しておらず (配置ヘッダーを使用するとデバイスに依存しにくくなりますが)、ベクター グラフィックとビットマップコンポーネントの両方を含めることができます。SVG ファイルと同様に動作します。WMF ファイルは、後にデバイスに依存しない拡張メタファイル(EMF ファイル) に置き換えられました。その後、EMF ファイル自体がEMF+ファイルによって拡張されました。
本質的に、メタファイルは、画面に画像を表示するための描画コマンド、プロパティ定義、グラフィックスオブジェクトで構成されるレコードのリストを格納します。[1]使用される描画コマンドは、Microsoft Windowsでの描画に使用されるグラフィックスデバイスインターフェイス(GDI)APIのコマンドと密接に関連しています。
メタファイルには主に3つの種類があります。WMFは、Windows 3.0で導入された16ビット形式です。これは、 Word、PowerPoint、PublisherなどのMicrosoft Officeアプリケーションのネイティブベクター形式です。2023年現在、Windowsメタファイル形式仕様のリビジョン17が利用可能です。[2] WMFファイルに代わるEMFファイルは、同じ原理で動作しますが、32ビットファイル形式で、「コメント」レコード内にプライベートデータを埋め込むこともできます。[3] EMF+はEMFファイルの拡張機能であり、これらのコメントレコードに埋め込まれ、Windows GDI+に似たコマンド、オブジェクト、プロパティを使用して画像やテキストを使用できます。[4][アップデート]
歴史
オリジナルの16 ビットWMF ファイル形式は、1992 年のWindows 3.1 SDK ドキュメント[5]の第 4 巻で完全に指定されていました (少なくとも、他の巻の個々の関数と構造の説明と組み合わせた場合) が、その仕様ではいくつかの詳細があいまいでした。これらのマニュアルは、書店で入手できる印刷本として発行され、クリックスルー EULAやその他の通常とは異なるライセンス制限はありませんでした (ソフトウェア バンドルの一部として購入された場合、ソフトウェアはバンドルの対象となるという一般的な警告のみ)。
時が経つにつれ、その歴史的な仕様の存在は忘れ去られ、いくつかの代替実装では、既存のWMFファイルからファイル形式を解明するためにリバースエンジニアリングに頼りましたが、これは困難でエラーが発生しやすいものでした。[6] 2006年9月、マイクロソフトは、 Microsoft Open Specific Promiseの文脈で、より完全な形式[7]でWMFファイル形式の仕様を再度公開し、ファイル形式の実装者に特許権を主張しないことを約束しました。[8]
マイクロソフトはその後、基本的なデバイス独立性を提供する「配置可能な」ファイル ヘッダーを使用しているにもかかわらず、WMF ファイルはデバイス独立性に関する実際の問題を抱えていたため、 32 ビットEMF ファイルを採用して WMF ファイルを廃止しました。マイクロソフトは、この形式を使用する開発者が「メタファイルにアプリケーション、場所、またはスケーリングに関するコメントを埋め込んでいる... 他の開発者は、さまざまなアプリケーション固有の情報を提供するヘッダーをメタファイルに追加している」ため、大きな互換性の問題が発生することを発見しました。[9]そのため、1992 年にWindows NT 3.1で、マイクロソフトは拡張メタファイル形式 (EMF) [10]を導入しました。これはWin32 APIに基づいており、デバイス独立性を組み込んだ形式です。 [11] [9]これらは NT メタファイルとも呼ばれていました。[12] Windows XPと GDI+のリリースにより、レコード セットを大幅に増やす必要があったため、マイクロソフトは既存の EMF ファイル形式の拡張として EMF+ をリリースしました。[10] [13]
メタファイルの構造

WMF、EMF、EMF+ ファイルはすべて、再生されてグラフィック出力を生成する一連のレコードで構成されています。一部のレコードは、グラフィックの描画方法を決定するために使用されるグラフィック オブジェクトを指定できるオブジェクトを定義します (例: ペンは線の色と幅を指定します)。これらの各オブジェクトはメタファイルに格納され、メタファイルの処理中にグラフィック オブジェクトの使用状況を追跡するオブジェクト テーブルに配置されます。オブジェクト テーブルは、メタファイル内で定義されたグラフィック オブジェクト構造へのインデックスの連想配列です。
WMF および EMF ファイルは、EMF ファイルの EMF+ レコードとは異なる方法でオブジェクトを処理します。WMF および EMF ファイルが処理されている間、オブジェクトが定義されると、レコードはオブジェクト テーブルに読み込まれます。オブジェクトが削除されると、オブジェクトはテーブルから解放され、識別子を再利用できます。特に、オブジェクトは、レコードの再生中に明示的に選択されるまで使用されません。[14] [15]これは EMF+ ファイルの場合とは異なります。EMF+ ファイルでも、オブジェクト識別子とともにオブジェクトを記録するハッシュマップを介して連想配列が使用されます。ただし、オブジェクトを削除できる WMF ファイルや EMF ファイルとは異なり、既存のオブジェクトと同じインデックスを持つ新しいオブジェクトが作成されると、テーブル内のエントリが新しいオブジェクトに置き換えられます。EMF ファイルでは、オブジェクトを使用する前に明示的に選択する必要もありません。[16]
世界経済フォーラム
| ファイル名拡張子 |
.wmf |
|---|---|
| インターネットメディアの種類 |
画像/wmf [10] |
| 統一型識別子 (UTI) | マイクロソフト[10] |
| フォーマットの種類 | ベクターグラフィック |
| 延長 | 電磁場 |

WMF ファイルは元々デバイスに依存しないように設計されていなかったため、ファイルが記録された元のデバイスとは異なる出力デバイスではファイルを再生できませんでした。この問題の部分的な解決策は、Aldus Corporationによって発明され、「APM ヘッダー」と呼ばれる追加の「配置可能な」ヘッダーが追加されました。 [18]これにより、境界矩形、メタファイル バージョン、メタファイル サイズ、メタファイル内のオブジェクト数、およびメタファイル内の最大レコード サイズが追加されました。[19] [20]これは後にMicrosoftによってWindows 2000からWMF 形式に組み込まれました。[21]
WMFファイルは、一連のレコードによって構造化されており、いくつかの制御レコード(ヘッダーレコード[19] [22]、前述のオプションの配置可能レコード[23])から始まり、ファイル終了レコードで終了します。[19] [24]
制御レコードには、画像自体を構成するレコードがカプセル化されています。これらのレコードは、再生デバイス コンテキストと呼ばれる領域内で動作します。再生デバイス コンテキストとは、メタファイルがこの出力デバイスで「再生」されるときにデバイスのグラフィカル環境を構成するプロパティとオブジェクトの集合です。[25]
制御レコード以外のレコードは、ビットマップ レコード、描画レコード、オブジェクト レコード、状態レコード、エスケープ レコードに大別できます。
ビットマップレコード
ビットマップ レコードはビットマップ イメージを管理および出力します。
記録の描画
描画レコードはグラフィック出力を生成します。
オブジェクトレコード
オブジェクト レコードは、グラフィックス オブジェクトの作成と管理を行います。WMF ファイルには、グラフィックス オブジェクトと構造オブジェクトという 2 つの大きなカテゴリのオブジェクトがあります。構造オブジェクトは WMF で明示的に作成または削除されるのではなく、複雑な構造になります。たとえば、BitmapCoreHeader には、デバイスに依存しないビットマップの寸法とカラー フォーマットに関する情報が含まれています。[52]このビットマップ自体は DeviceIndependentBitmap オブジェクトの一部です。[53]ただし、グラフィックス オブジェクトはグラフィックス出力のパラメーターを指定し、WMF の再生中に再生デバイス コンテキストを設定します。[54]
グラフィックスオブジェクトには、ブラシ(ブラシのスタイル、色、パターンを定義し、グラフィックスの領域をどのようにペイントするかを定義します)、フォント(テキストの表示方法に影響するプロパティを定義します)、パレット(アプリケーションによって定義されたデバイスに依存しない値として色を指定します)、ペン(線のグラフィック属性を指定します)、および領域(形状を定義する線分と曲線セグメントを指定します)があります。[54]
州の記録
状態レコードは再生デバイスコンテキストのグラフィックスプロパティを管理します。[67]
脱出記録

エスケープ レコードは、WMF レコード タイプとして定義されていないレコードを介してメタファイルの機能を拡張する手段です。各エスケープ レコードには、レコード関数、エスケープ関数、およびエスケープ データが含まれます。
次のエスケープ レコードが WMF ファイルを構成します。
中止エスケープ レコードの周辺で、中止プロシージャ コードをレコード自体に格納するエスケープ レコードに重大な脆弱性が見つかりました。これは、Windows システム ( CVE - 2005-4560 を参照) とWine プロジェクト( CVE - 2006-0106 を参照) に影響しました。Secuniaによると、「この脆弱性は、特別に細工された SETABORTPROC エスケープ レコードを含む Windows メタファイル ファイル (.wmf) の処理エラーが原因で発生します。このようなレコードにより、WMF ファイルのレンダリングが失敗したときに任意のユーザー定義関数を実行できます。」[142] Windows 3.1 SDK ドキュメントによると、SETABORTPROC エスケープは廃止され、WMF 脆弱性が発見されるずっと前に Windows 3.1 で同じ名前の関数に置き換えられました。[143]ただし、廃止されたエスケープ コードは、Windows 3.0 用に作成された (または少なくとも下位互換性がある) 16 ビット プログラムとの互換性のために保持されました。この変更は、Microsoft が Windows NT 用の GDI の 32 ビット再実装を作成していたのとほぼ同時に発生し、この作業中に脆弱性が発生した可能性があります。
スティーブ・ギブソンがマイクロソフトが意図的にコードにバックドアを実装したと非難した後、 [144] [145] マーク・ラッシノビッチは反論し、次のように述べた。
...このフォーマットが設計された当時は状況が異なっていました。Windows 3.1 の「大規模」メモリ モデルでは、コードは本質的に場所に依存せず、Windows はパッチ適用されませんでした。そのため、Windows とアプリケーションの両方が、アプリケーション関数を WMF ファイルにコピーするだけで、後で同じアプリケーションで実行したときにそれが機能すると想定できました。いずれにせよ、開発者がアプリケーションが中止手順を含むディスク上のメタファイルを作成することを想定していたかどうかは明らかではありません。また、Microsoft の Stephen Toulouse が Steve の主張に対する Microsoft の反論で指摘したように、1990 年代初頭のセキュリティ環境は現在とは非常に異なり、WMF ファイルに保存されているものも含め、すべてのコードは本質的に信頼されていました。[146]
米国シマンテック・セキュリティ・レスポンスのピーター・フェリー氏もギブソン氏に反対し、次のように述べている。
ギブソンは、SetAbortProc ハンドラを実行するためにスレッドが作成されると主張しました。実際には、ハンドラを実行するためにスレッドは作成されません。これはパーサーによって呼び出されるコールバックであり、パーサーはコールバックが返されるまで待機する必要があります。そうしないと、関数の全体的なポイント (印刷を中止する) が失われます。ギブソン自身が認めているように、ギブソンはドキュメントを読んでおらず (実際、Microsoft の Web サイトで無料で入手できるにもかかわらず、見つけられなかったと主張しています)、デバイス コンテキストは関数ハンドラでは利用できないと主張しました。もちろん、デバイス コンテキストは関数ハンドラで利用できます。これは、関数ハンドラに渡される 2 つのパラメータの 1 つであり (上記を参照)、印刷を中止するために必要です。最後に、ギブソンは、制御フローは Windows に戻ることができないと主張しました。これは、関数がスタックに渡されたパラメータを返して破棄するだけのことです。レコードが適切に形成されていれば、Windows は以前と同様にファイルの解析を続行します。 ...ギブソンは多くのことについて推測していたことを認めている。残念ながら、彼の推測は間違っていた。今では私たちはよりよく知っていると思う。[147]
電磁場
| ファイル名拡張子 |
.emf |
|---|---|
| インターネットメディアの種類 |
画像/EMF [10] |
| 統一型識別子 (UTI) | com.microsoft.emf [10] |
| フォーマットの種類 | ベクターグラフィック |
| 延長 | 世界経済フォーラム |
| 延長 | EMF+ |

EMFファイルには3つのバージョンのヘッダーがあります。オリジナルのヘッダーは単なる画像のコンテナで、2番目と3番目のバージョンはオリジナルのヘッダーをカプセル化し、ピクセル形式のレコードとOpenGLレコードのサポートを含みます。3番目のバージョンは2番目のヘッダー拡張をカプセル化し、メートル法を使用してデバイス表面の距離を測定する機能を追加することでEMFの精度とスケーラビリティを向上させます。[148]
各 EMF ヘッダーは EMR_HEADER レコードで始まり、メタファイル イメージが記録されたデバイスの関連プロパティを記録します。元の EMF ヘッダーには、80 バイトのヘッダーと、オプションの可変長の説明文字列があります。[149]他のメタファイルには、元のヘッダーをカプセル化する拡張フィールドが含まれています。EmfMetafileHeaderExtension1は、元の EMF ヘッダーの直後に挿入されるレコードで、ピクセル形式記述子があるかどうか、ヘッダー内の記述子オブジェクトへのオフセット、およびメタファイルにOpenGLレコードが存在するかどうかを指定するフィールドを指定します。 [150]ピクセル形式記述子は、描画面の機能と、ピクセルがRGBAでエンコードされているか、カラー テーブルへのインデックスであるかを指定します。[151] EmfMetafileHeaderExtension2は、レコードの直後に挿入されるレコードでEmfMetafileHeaderExtension1、デバイス表面をマイクロメートル単位で測定するための X 値と Y 値の 2 つのフィールドが含まれています。[152]
WMF ファイルと同様に、レコードは機能別に分類できますが、EMF ファイルには WMF ファイルよりも多くのレコード タイプがあります。レコードは、コントロール、ビットマップ、クリッピング、コメント、描画、エスケープ、オブジェクト作成、オブジェクト操作、OpenGL、パス ブラケット、状態、および変換レコードに分類できます。
EMF+
Windows XPのリリースにより、Enhanced Metafile Format Plus Extensions (EMF+) 形式が導入されました。EMF+ は、WMF/EMF が GDI への呼び出しを保存するのと同じ方法で、 GDI+ API への呼び出しをシリアル化する方法を提供します。
Windowsメタファイルの圧縮バージョンとして、圧縮Windowsメタファイル(WMZ)や圧縮Windows拡張メタファイル(EMZ) [153]も存在し、これらは基本的にgzip圧縮されたWMFファイルとEMFファイルです。
実装
WMF 形式は、画像を復元するために Windows GDI レイヤーによって実行されるように設計されていますが、WMF バイナリ ファイルにはこの画像を構成する GDI グラフィック プリミティブの定義が含まれているため、WMF バイナリ ファイルをレンダリングしたり、他のグラフィック形式に変換したりする代替ライブラリを設計することが可能です。
参照
- ポストスクリプト
- ベクター マークアップ言語(VML)
- スケーラブルベクターグラフィックス(SVG)
参考文献
- ^ Windows メタファイル形式(PDF)、Microsoft、p. 16
- ^ "[MS-WMF]: Windows メタファイル形式". MSDN 2021-04-26 . 2023-09-13閲覧。
- ^ [MS-EMF]: 拡張メタファイル形式(PDF)、Microsoft、p. 17
- ^ [MS-EMFPLUS]: 拡張メタファイル形式プラス拡張機能(PDF)、Microsoft、p. 19
- ^ Microsoft Windows 3.1 プログラマーズ リファレンス、第 4 巻リソース、Microsoft Press 1992、ISBN 1-55615-494-1、第 3 章 21-45 ページ
- ^ Caolan McNamara. 「ウィンドウ メタファイル (wmf) リファレンス」。2008 年 6 月 1 日取得。
これらのオペコードは、それが何であるかがわからず、既知のドキュメントもないため、実装されていません。
- ^ 「[MS-WMF]: Windows メタファイル形式の仕様」 。2008年 6 月 1 日閲覧。
- ^ 「Microsoft Open Specific Promise」。Microsoft 。 2008年6月1日閲覧。
- ^ ab Win32 の拡張メタファイル、Microsoft Developer Network Technology Group、1993 年 6 月 10 日
- ^ abcdef Leonard, Sean (2016 年 9 月). 「Windows メタファイル」. Windows Image Media Types. IETF . p. 1. doi : 10.17487/RFC7903 . ISSN 2070-1721. RFC 7903. 2020 年2 月 8 日閲覧。
- ^ 「EMF」、FileFormat、Aspose Pty Ltd、2019年10月11日、 2020年1月20日閲覧
- ^ Petzold, Charles (1994 年 10 月 11 日)、「NT メタファイルと GDI オブジェクト」、PC Magazine、pp. 343–347
- ^ Polyakov, Alex; Brusentsev, Vitaly (2005). GDI+ と DirectX によるグラフィックス プログラミング。A-List Publishing。p. 68。ISBN 1-931769-39-7。
- ^ 「3.1.4.1 WMF オブジェクト テーブル」、[MS-WMF]: 拡張メタファイル形式(PDF)、Microsoft、p. 187
- ^ 「3.1.1.1 EMF オブジェクト テーブル」、[MS-EMF]: Windows メタファイル形式仕様(PDF)、Microsoft、pp. 212–214
- ^ [MS-EMFPLUS]: 拡張メタファイル形式プラス拡張機能(PDF)、Microsoft、pp. 204–205
- ^ 「図 1: 元の Windows メタファイルと配置可能な Windows メタファイルの構造」、Windows メタファイル形式(PDF)、Microsoft、p. 17
- ^ Q66949: 情報: Windows メタファイル関数と Aldus 配置可能メタファイル、Microsoft – KnowledgeBase アーカイブ経由: 初期の Microsoft KnowledgeBase のアーカイブ
- ^ abc 「1.3.1 メタファイル構造」、Windows メタファイル形式(PDF)、Microsoft、p. 17
- ^ 「2.3.2.3 META_PLACEABLE レコード」、Windows メタファイル形式(PDF)、Microsoft、p. 115
- ^ Windows メタファイル形式(PDF)、Microsoft、p. 55、
<55> セクション 2.3.2.3: Windows NT 3.1、Windows NT 3.5、Windows NT 3.51、および Windows 95: この機能はサポートされていません。
- ^ 「2.3.2.2 MTF_HEADERRECORD レコード」、Windows メタファイル形式(PDF)、Microsoft、p. 114
- ^ 「2.3.2.2 MTF_HEADERRECORD レコード」、Windows メタファイル形式(PDF)、Microsoft、p. 114
- ^ 「2.3.2.1 MTF_EOF レコード」、Windows メタファイル形式(PDF)、Microsoft、p. 114
- ^ 「1.1 用語集」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、Microsoft、p. 13、2020 年 1 月24 日取得
- ^ 「2.3.1.1 META_BITBLTレコード」、[MS-WMF]: Windowsメタファイル形式仕様(PDF)、pp. 101–103 、 2020年1月24日取得
- ^ 「2.3.1.2 META_DIBBITBLT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、Microsoft、pp. 103–106、2020年 1 月 24 日取得
- ^ 「2.3.1.3 META_DIBSTRETCHBITBLT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、Microsoft、pp. 106–108、2020年 1 月 24 日取得
- ^ 「2.3.1.4 META_SETDIBTODEV レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、Microsoft、pp. 108–109、2020年 1 月 24 日取得
- ^ 「2.3.1.5 META_STRETCHBLTレコード」、[MS-WMF]: Windowsメタファイル形式の仕様(PDF)、Microsoft、pp. 109–110 、 2020年1月24日取得
- ^ 「2.3.1.6 META_STRETCHDIB レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、Microsoft、pp. 103–106、2020年 1 月 24 日取得
- ^ 「2.3.3.1 META_ARC レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 101–103、2020年 1 月 24 日取得
- ^ 「2.3.3.2 META_CHORD レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 117–118、2020年 1 月 24 日取得
- ^ 「2.3.3.3 META_ELLIPSE レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 119、2020年 1 月24 日取得
- ^ 「2.3.3.4 META_EXTFLOODFILL レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 119–120、2020年 1 月 24 日取得
- ^ 「2.3.3.5 META_EXTTEXTOUT レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 119–120、2020年 1 月 24 日取得
- ^ 「2.3.3.6 META_FILLREGION レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 121、2020 年 1 月24 日取得
- ^ 「2.3.3.7 META_FLOODFILL レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 119–120、2020年 1 月 24 日取得
- ^ 「2.3.3.8 META_FRAMEREGION レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 122–123、2020年 1 月 24 日取得
- ^ 「2.3.3.9 META_INVERTREGION レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 123、2020 年 1 月24 日取得
- ^ 「2.3.3.10 META_LINETO レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 123–124、2020年 1 月 24 日取得
- ^ 「2.3.3.11 META_PAINTREGION レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 124、2020 年 1 月24 日取得
- ^ 「2.3.3.12 META_PATBLTレコード」、[MS-WMF]: Windowsメタファイル形式仕様(PDF)、pp. 124–125 、 2020年1月24日取得
- ^ 「2.3.3.13 META_PIE レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 125–126、2020年 1 月 24 日取得
- ^ 「2.3.3.14 META_POLYLINE レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 126、2020年 1 月 24 日取得
- ^ 「2.3.3.15 META_POLYGON レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 127、2020年 1 月 24 日取得
- ^ 「2.3.3.16 META_POLYPOLYGON レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 127–128、2020年 1 月 24 日取得
- ^ 「2.3.3.17 META_RECTANGLE レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 127–128、2020年 1 月 24 日取得
- ^ 「2.3.3.18 META_ROUNDRECT レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 128–129、2020年 1 月 24 日取得
- ^ 「2.3.3.19 META_SETPIXEL レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 129–130、2020年 1 月 24 日取得
- ^ 「2.3.3.20 META_TEXTOUT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 130、2020 年 1 月24 日取得
- ^ 「2.2.2.2. BitmapCoreHeader オブジェクト」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 85、2020 年 1 月25 日取得
- ^ 「2.2.2.9. DeviceIndependentBitmap オブジェクト」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 91、2020 年 1 月25 日取得
- ^ ab "2.2.1. グラフィックス オブジェクト", [MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 79 、2020 年 1 月 25 日取得
- ^ 「2.3.4.1 META_CREATEBRUSHINDIRECT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 131–132、2020年 1 月 25 日取得
- ^ 「2.3.4.2 META_CREATEFONTINDIRECT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 132、2020 年 1 月25 日取得
- ^ 「2.3.4.4 META_CREATEPATTERNBRUSH レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 133–135、2020年 1 月 25 日取得
- ^ 「2.3.4.3 META_CREATEPALETTE レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 132–133、2020年 1 月 25 日取得
- ^ 「2.3.4.5 META_CREATEPENINDIRECT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 134–135、2020年 1 月 25 日取得
- ^ 「2.3.4.6 META_CREATEREGION レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 135、2020 年 1 月25 日取得
- ^ 「2.3.4.7 META_DELETEOBJECT レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 135、2020 年 1 月25 日取得
- ^ 「2.3.4.8 META_CREATEBRUSHINDIRECT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 135–136、2020年 1 月 25 日取得
- ^ 「2.3.4.9 META_DIBCREATEPATTERNBRUSH レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 136–137 、 2020 年 1 月 25 日取得
- ^ 「2.3.4.10 META_SELECTCLIPREGION レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 137、2020年 1 月 25 日取得
- ^ 「2.3.4.11 META_SELECTOBJECT レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 137–138、2020年 1 月 25 日取得
- ^ 「2.3.4.11 META_SELECTPALETTE レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 139、2020 年 1 月25 日取得
- ^ 「2.3.5 状態レコードの種類」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 138、2020年 1 月28 日取得
- ^ 「2.3.5.1 META_ANIMATEPALETTE レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 140、2020 年 1 月28 日取得
- ^ 「2.3.5.2 META_EXCLUDECLIPRECT レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 140–141 、 2020 年 1 月 28 日取得
- ^ 「2.3.5.3 META_INTERSECTCLIPRECT レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 141–142、2020年 1 月 28 日取得
- ^ 「2.3.5.1 META_MOVETO レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 142、2020 年 1 月28 日取得
- ^ 「2.3.5.4 META_OFFSETCLIPRGN レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 142–143、2020年 1 月 28 日取得
- ^ 「2.3.5.5 META_OFFSETVIEWPORTORG レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 143、2020 年 1 月28 日取得
- ^ 「2.3.5.6 META_OFFSETWINDOWORG レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 131–132、2020年 1 月 28 日取得
- ^ 「2.3.5.7 META_REALIZEPALETTE レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 143–144、2020年 1 月 28 日取得
- ^ 「2.3.5.8 META_RESIZEPALETTE レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 144、2020年 1 月28 日取得
- ^ 「2.3.5.9 META_RESTOREDC レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 145、2020年 1 月 28 日取得
- ^ 「2.3.5.10 META_SAVEDC レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 145、2020年 1 月 28 日取得
- ^ 「2.3.5.11 META_SCALEVIEWPORTEXT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 145–146、2020年 1 月 28 日取得
- ^ 「2.3.5.12 META_SCALEWINDOWEXT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 146–147、2020年 1 月 28 日取得
- ^ 「2.3.5.13 META_SETBKCOLOR レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 147、2020 年 1 月28 日取得
- ^ 「2.3.5.14 META_SETBKMODE レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 147–148、2020年 1 月 28 日取得
- ^ 「2.3.5.15 META_SETLAYOUT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 148、2020 年 1 月28 日取得
- ^ 「2.3.5.16 META_SETMAPMODE レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 148–149、2020年 1 月 28 日取得
- ^ 「2.3.5.17 META_SETMAPPERFLAGS レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 131–132、2020年 1 月 28 日取得
- ^ 「2.3.5.18 META_ANIMATEPALETTE レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 149、2020 年 1 月28 日取得
- ^ 「2.3.5.19 META_SETPALENTRIES レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 149–150、2020年 1 月 28 日取得
- ^ 「2.3.5.20 META_SETRELABS レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 150、2020 年 1 月28 日取得
- ^ 「2.3.5.21 META_SETROP2 レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 151、2020 年 1 月28 日取得
- ^ 「2.3.5.1 META_SETSTRETCHBLTMODE レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 151–152、2020年 1 月 28 日取得
- ^ 「2.3.5.22 META_SETTEXTALIGN レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 152、2020 年 1 月28 日取得
- ^ 「2.3.5.1 META_SETTEXTCHAREXTRA レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 152–153、2020年 1 月 28 日取得
- ^ 「2.3.5.23 META_SETTEXTCOLOR レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 153、2020 年 1 月28 日取得
- ^ 「2.3.5.24 META_SETTEXTJUSTIFICATION レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 153–154、2020年 1 月 28 日取得
- ^ 「2.3.5.25 META_SETVIEWPORTEXT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 154、2020 年 1 月 28 日取得
- ^ 「2.3.5.26 META_SETVIEWPORTORG レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 154–155、2020年 1 月 28 日取得
- ^ 「2.3.5.27 META_SETWINDOWEXT レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 155、2020年 1 月28 日取得
- ^ 「2.3.5.28 META_SETWINDOWORG レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 155、2020 年 1 月28 日取得
- ^ 「2.3.6.2. ABORTDOC レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 158–159、2020年 1 月 28 日取得
- ^ 「2.3.6.3. BEGIN_PATH レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 159、2020年 1 月 28 日取得
- ^ 「2.3.6.4. CHECK_JPEGFORMAT レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 159–160、2020年 1 月 28 日取得
- ^ 「2.3.6.5. CHECK_PNGFORMAT レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、p. 160、2020 年 1 月28 日取得
- ^ 「2.3.6.6. CLIP_TO_PATH レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 160、2020 年 1 月28 日取得
- ^ 「2.3.6.7. CLOSE_CHANNEL レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 162、2020 年 1 月28 日取得
- ^ 「2.3.6.8. DOWNLOAD_FACE レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 162–163、2020年 1 月 28 日取得
- ^ 「2.3.6.9. DOWNLOAD_HEADER レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 158–159、2020年 1 月 28 日取得
- ^ 「2.3.6.10. DRAW_PATTERNRECT レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 163–164、2020年 1 月 28 日取得
- ^ 「2.3.6.11. ENCAPSULATED_POSTSCRIPT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 164、2020 年 1 月28 日取得
- ^ 「2.3.6.12. END_PATH レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 164–165、2020年 1 月 28 日取得
- ^ 「2.3.6.13. ENDDOC レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 165、2020年 1 月 28 日取得
- ^ 「2.3.6.14. EPS_PRINTING レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 165–166、2020年 1 月 28 日取得
- ^ 「2.3.6.15. EXTTEXTOUT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 166–167、2020年 1 月 28 日取得
- ^ 「2.3.6.16. GET_COLORTABLE レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 167–168、2020年 1 月 28 日取得
- ^ 「2.3.6.17. GET_DEVICEUNITS レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 168、2020 年 1 月28 日取得
- ^ 「2.3.6.18. GET_EXTENDED_TEXTMETRICS レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 168–169、2020年 1 月 28 日取得
- ^ 「2.3.6.19. GET_FACENAME レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 169、2020 年 1 月28 日取得
- ^ 「2.3.6.20. GET_PAIRKERNTABLE レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 169–170 、 2020 年 1 月 28 日取得
- ^ 「2.3.6.21. GET_PHYSPAGESIZE レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 170、2020 年 1 月28 日取得
- ^ 「2.3.6.22. GET_PRINTINGOFFSET レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 170–171、2020年 1 月 28 日取得
- ^ 「2.3.6.23. GET_PS_FEATURESETTING レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 171、2020 年 1 月28 日取得
- ^ 「2.3.6.24. GET_SCALINGFACTOR レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 171–172、2020年 1 月 28 日取得
- ^ 「2.3.6.25. META_ESCAPE_ENHANCED_METAFILE レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 172–173、2020年 1 月 28 日取得
- ^ 「2.3.6.26. METAFILE_DRIVER レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 173–174、2020年 1 月 28 日取得
- ^ 「2.3.6.27. NEWFRAME レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 174–175、2020年 1 月 28 日取得
- ^ 「2.3.6.28. NEXTBAND レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 174–175、2020年 1 月 28 日取得
- ^ 「2.3.6.29. PASSTHROUGH レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 175、2020 年 1 月28 日取得
- ^ 「2.3.6.30. POSTSCRIPT_DATA レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 176、2020 年 1 月28 日取得
- ^ 「2.3.6.31. POSTSCRIPT_IDENTIFY レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 176–177 、 2020 年 1 月 28 日取得
- ^ 「2.3.6.32. POSTSCRIPT_IGNORE レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 177 、2020 年 1 月 28 日取得
- ^ 「2.3.6.33. POSTSCRIPT_INJECTION レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 177–178、2020年 1 月 28 日取得
- ^ 「2.3.6.34. POSTSCRIPT_PASSTHROUGH レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 178、2020 年 1 月28 日取得
- ^ 「2.3.6.35. OPEN_CHANNEL レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 179、2020 年 1 月28 日取得
- ^ 「2.3.6.36. QUERY_DIBSUPPORT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 179–180、2020年 1 月 28 日取得
- ^ 「2.3.6.37. QUERY_ESCSUPPORT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 180、2020 年 1 月28 日取得
- ^ 「2.3.6.38. SET_COLORTABLE レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 180–181 、 2020 年 1 月 28 日取得
- ^ 「2.3.6.39. SET_COPYCOUNT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 181、2020 年 1 月28 日取得
- ^ 「2.3.6.40. SET_LINECAP レコード」、[MS-WMF]: Windows メタファイル形式仕様(PDF)、pp. 181–182、2020年 1 月 28 日取得
- ^ 「2.3.6.41. SET_LINEJOIN レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 182–183、2020年 1 月 28 日取得
- ^ 「2.3.6.42. SET_MITERLIMIT レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 183、2020 年 1 月28 日取得
- ^ 「2.3.6.43. SPCLPASSTHROUGH2 レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、pp. 183–184、2020年 1 月 28 日取得
- ^ 「2.3.6.44. STARTDOC レコード」、[MS-WMF]: Windows メタファイル形式の仕様(PDF)、p. 184、2020年 1 月 28 日取得
- ^ 「Microsoft Windows WMF "SETABORTPROC" 任意コード実行」。Secunia。Secuniaアドバイザリ: SA18255。2006 年 1 月 2 日時点のオリジナルよりアーカイブ。
- ^ Pscript 対応エスケープ、Microsoft 、2020 年 1 月 28 日取得
- ^ 「Windows メタファイル バックドア?」。GRC Security Now! (ポッドキャスト)。Gibson Research Corporation。2006年 1 月 12 日。2020年 1月 28 日閲覧。
- ^ ギブソン、スティーブ(2006年1月12日)、「Re: 今夜の Security Now! を見逃したくない、#22」、grc.news.feedback 、 2020年1月28日閲覧
- ^ Russinovich, Mark (2006 年 1 月 18 日)、「WMF バックドアの内部」、TechNet、Microsoft – Microsoft Tech Community 経由
- ^ Ferrie, Peter (2006年2月2日)、Windowsメタファイルフォーマットの内部(PDF)、Virus Bulletin 、 2008年5月16日時点のオリジナル(PDF)からアーカイブ、 2020年1月24日取得– Symantec経由
- ^ 「1.3.1. メタファイル構造」、[MS-EMF]: 拡張メタファイル形式(PDF)、Microsoft、pp. 17–18
- ^ 「2.3.4.2.1 EmfMetafileHeader レコード」、[MS-EMF]: 拡張メタファイル形式(PDF)、Microsoft、p. 120
- ^ 「2.2.10 HeaderExtension1 オブジェクト」、[MS-EMF]: 拡張メタファイル形式(PDF)、Microsoft、pp. 57–58
- ^ 「2.2.22 PixelFormatDescriptor オブジェクト」、[MS-EMF]: 拡張メタファイル形式(PDF)、Microsoft、pp. 68–71
- ^ 「2.3.4.2.3 EmfMetafileHeaderExtension2 レコード」、[MS-EMF]: 拡張メタファイル形式(PDF)、Microsoft、pp. 122–124
- ^ 「PowerPoint for Mac プレゼンテーションに画像 を挿入しようとすると、「このファイルはサポートされていないグラフィック形式です」というエラー メッセージが表示されます」。Microsoft。2014年 4 月 19 日にオリジナルからアーカイブ。2014 年 4 月 19 日に取得。
外部リンク
- Microsoft の Windows メタファイル形式仕様
- メタファイル – Windows アプリケーション
- fileformat.info のファイル形式の概要
- Windows メタファイルに関する FAQ
