Windows Metafileとは? わかりやすく解説

Windows Metafile

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/07/19 13:30 UTC 版)

Windows Metafile
拡張子.wmf, .wmz
MIMEタイプimage/wmf
開発者マイクロソフト
初版1990年 (34年前) (1990)
最新版
15.0
(2018年9月12日 (5年前) (2018-09-12)[1])
種別画像ファイルフォーマット
包含物Bitmaps among others
オープン
フォーマット
Microsoft OSP
Enhanced Metafile Format
拡張子.emf, .emz
MIMEタイプimage/emf
開発者マイクロソフト
初版1993年 (31年前) (1993)
最新版
14.0
(2018年9月12日 (5年前) (2018-09-12)[2])
種別画像ファイルフォーマット
包含物Bitmaps among others
オープン
フォーマット
Microsoft OSP

Windows MetafileWMF、ウィンドウズ メタファイル)はMicrosoft Windows上の画像ファイルフォーマットの1つであり、1990年代初期に設計された。ベクトル画像フォーマットであり、ビットマップ画像を内部に含むことも可能となっている。基本的にWMFファイルはWindowsのグラフィックスAPI層であるGDIが実行すべき関数呼び出しのリストであって、それによって画像が再生される。GDI関数の中には例外処理のためにコールバック関数ポインタを引数にとるものがあるため、WMFファイルには実行可能コードが含まれることがある。その設計手法はUNIXにおけるPostScriptに似ている。

Windows 3.0で最初に導入されたWMFは16ビット形式であった。後に追加された32ビット版ではコマンドが追加されており、Enhanced Metafile (EMF) と呼ばれる。EMFはプリンタードライバーのグラフィックス言語としても使われている。

2018年現在、WMFのリビジョン15.0の仕様書[1]及びEMFのリビジョン14.0の仕様書[2]がオンラインで参照およびダウンロードできる。

仕様と特許

オリジナルの16bit WMFファイル形式は1992年のWindows 3.1 SDKの[3]4巻に定義された。しかし仕様の一部は詳細があいまいな部分があった。これらのマニュアルは書籍として買い求めることができる。EULAや特別なライセンスの制限などは課されていない。(ソフトウエアの一部であり....という一般的な文言のみがあった)

時が経つにつれてこの歴史的な仕様書の存在は忘れられ、WMFファイルに対するリバースエンジニアリングが行われるようになったが、これには困難が伴い、正確さも欠いていた。 2006年9月にMicrosoftは再度WMFファイル形式の仕様をMicrosoft Open Specification Promiseの一環として公開[4]し、これを実装する者に対して特許権を行使しないことを約束した。

派生物

1993年に32bit版のWin32/GDIによるEnhanced Metafile (EMF) が登場し、これには数点のコマンドの拡張が含まれた。EMFはプリンタドライバーとやりとりするグラフィックス言語としても利用された。Microsoftは、WMFはほぼ使用されず、拡張フォーマット (EMF) で代替することを推奨している。 Windows XPの公開に合わせてEnhanced Metafile Format Plus Extensions (EMF+) フォーマットが登場した。これにはGDI+ APIコールのシリアライズ機能が WMF/EMF と同様の方法で追加されている。

他に圧縮された形式のCompressed Windows Metafile (WMZ) とCompressed Enhanced Windows Metafile (EMZ) も存在する[5]

EMZはEMFファイル形式をgzip圧縮したものである[6]

SetAbortProcの脆弱性問題

2005年11月、"SetAbortProc" GDI関数に脆弱性が発見された。この関数は印刷のスプーリングをキャンセルしたときのエラー処理ハンドラを登録するもので、ユーザーの許可なしで実行できる任意のコードをWMFファイルに追加可能にしている。

マイクロソフトは公式のパッチ (MS06-001) を2006年1月5日にリリースし、詳細は "マイクロソフト セキュリティ アドバイザリ 912840 Graphics Rendering Engine の脆弱性によりコードが実行される可能性がある" (912919)[7]で見ることができる。 古いバージョンのWindowsについてはパッチを提供していない。

セキュリティ専門家のスティーブン・ギブソン英語版は、この脆弱性がマイクロソフトが故意にWMFに仕込んだバックドアであると主張した。しかし、他のセキュリティ専門家はこれに異を唱えており、バックドアと呼ぶにはマイクロソフトが実際にこの脆弱性を利用して秘密裏にコンピュータにアクセスしたことを実証しなければならないとしている[8]。マイクロソフトの従業員であるMark Russinovichは、Gibsonの分析はいくつかの誤解に基づいていると説明している。

代替実装

WMFフォーマットはWindowsのGDIで実行されることで画像を再生する。しかし、WMF形式のファイルにはその画像を構成するGDIのグラフィックプリミティブの定義も含まれているので、他のライブラリを使ってWMFのバイナリファイルを描画させたり、他の画像フォーマットに変換できる。

一例として、BatikライブラリはWMFファイルを描画したり、SVGに変換したりできる。FreeHEP JavaライブラリのVector Graphicsパッケージでは、Java 2Dで描画されたものをEMFファイルとして保存できる。InkscapeXnViewもWMFとEMF形式でのエクスポートができる。

脚注

  1. ^ a b MSDN Metafile Format”. 2018年10月21日閲覧。
  2. ^ a b MSDN Enhanced Metafile Format”. 2016年11月24日閲覧。
  3. ^ Microsoft Windows 3.1 Programmers Reference, Volume 4 Resources, Microsoft Press 1992, ISBN 1-55615-494-1, chapter 3 pp. 21-45
  4. ^ MS-WMF: Windows Metafile Format Specification”. 2008年6月1日閲覧。
  5. ^ Officeサポート 挿入および保存できるグラフィックス ファイルの種類
  6. ^ fileformat.com”. 2022年7月22日閲覧。
  7. ^ https://technet.microsoft.com/ja-jp/library/security/912840.aspx マイクロソフト セキュリティ アドバイザリ 912840 Graphics Rendering Engine の脆弱性によりコードが実行される可能性がある
  8. ^ 'Windows backdoor' theory causes kerfuffle CNET News - News Blogs

関連項目

外部リンク

チュートリアルなど

ライブラリ

  • Batik Java library: WMF to SVG transcoder package WMFメタファイルからSVGへの変換が可能
  • FreeHEP Java library: Vector graphics package EMFメタファイルからSVGへの変換およびJava2DからEMFへの変換をサポート
  • libWMF WMFメタファイルを読み込むライブラリ。表示やSVGへの変換が可能
  • libEMF POSIXシステム上でのベクター画像ファイルを生成するための描画ツールキットを提供するC/C++ライブラリ
  • wmf2svg WMFメタファイルからSVGへの変換を実装したJava用クラス

「Windows Metafile」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Windows Metafile」の関連用語

Windows Metafileのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Windows Metafileのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのWindows Metafile (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2024 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2024 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2024 GRAS Group, Inc.RSS