Windows Metafile(WMF、ウィンドウズ メタファイル)はMicrosoft Windows上の画像ファイルフォーマットの1つであり、1990年代初期に設計された。しかし、World Wide Webの隆盛と共によく使われるようになっていったGIFやJPEGに比較するとよく使われるとは言い難い。ベクトル画像フォーマットであり、ビットマップ画像を内部に含むことが可能となっている。基本的にWMFファイルはWindowsのグラフィック層であるGDIが実行すべき関数呼び出しのリストであって、それによって画像が再生される。GDI関数の中には例外処理のためにコールバック関数のポインタを引数にとるものがあるため、WMFファイルには実行可能コードが含まれることがある。その設計手法はUNIXにおけるPostScriptに似ている。Windows 3.0で最初に導入されたWMFは16ビット形式であった。後に追加された32ビット版ではコマンドが追加されており、Enhanced Metafile (EMF) と呼ばれる。EMFはプリンタドライバのグラフィックス言語としても使われている。Windows Metafileの圧縮版としてCompressed Windows Metafile (WMZ) とCompressed Windows Enhanced Metafile (EMZ) もある。オリジナルの16bit WMFファイル形式は1992年のWindows 3.1 SDKの4巻に定義された。しかし仕様の一部は詳細があいまいな部分があった。これらのマニュアルは書籍として買い求めることができる。時が経つにつれてこの歴史的な仕様の存在は忘れられ、WMFファイルに対するリバースエンジニアリングが行われるようになったが、これには困難が伴い、正確さも欠いていた。2006年9月にMicrosoftは再度WMFファイル形式の仕様をMicrosoft Open Specification Promiseの一環として公開し、これを実装する者に対して特許権を行使しないことを約束した。1993年に32bit版のWin32/GDIによる"Enhanced Metafile" (EMF) が登場し、これには数点のコマンドの拡張が含まれた。EMFはプリンタドライバーとやりとりするグラフィック言語としても利用された。MicrosoftはWMFはほぼ使用されず、拡張フォーマット (EMF) がこれに代わると述べた。Windows XPの公開とともに、EMF+フォーマットが登場した。これにはGDI+ APIに対するコールのシリアライズ機能が追加されている。他に圧縮された形式の"Compressed Windows Metafile" (WMZ) と"Compressed Enhanced Windows Metafile" (EMZ) も存在する。EMZはEMFファイル形式をgzip圧縮したものである。2005年11月、"SetAbortProc" GDI関数に脆弱性が発見された。この関数は印刷のスプーリングをキャンセルしたときのエラー処理ハンドラを登録するもので、ユーザーの許可なしで実行できる任意のコードをWMFファイルに追加可能にしている。Steve Gibsonは、この脆弱性がマイクロソフトが故意にWMFに仕込んだバックドアが原因であると主張した。しかし、他のセキュリティ専門家はこれに異を唱えており、バックドアと呼ぶにはマイクロソフトが実際にこの脆弱性を利用して秘密裏にコンピュータにアクセスしたことを実証しなければならないとしている。マイクロソフトは公式のパッチを2006年1月5日にリリースしたが、古いバージョンのWindowsについてはパッチを提供していない。WMFフォーマットはWindowsのGDIで実行されることで画像を再生する。しかし、WMF形式のファイルにはその画像で使われているGDIのグラフィックプリミティブの定義も含まれているので、他のライブラリを使って描画させたり、他の画像フォーマットに変換できる。例えば、BatikライブラリはWMFファイルを描画したり、SVGに変換したりできる。FreeHEP JavaライブラリのVector Graphicsパッケージでは、Java 2Dで描画されたものをEMFファイルとして保存できる。
出典:wikipedia
LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。