拡張メタファイル (.emf)

[MS-EMF]:Enhanced 標準

Enhanced Metafile (EMF) は、Windows オペレーティング システム全体での高忠実度な印刷およびアプリケーション間のクリップボード交換用に設計された、Microsoft の 32 ビット ベクターおよびラスター グラフィックス コンテナです。

EMF を SVG に変換

無料のブラウザ内 EMF から SVG へのコンバーター。お使いのデバイスでファイルを即座に変換します。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してEMFファイルを識別します:

ファイルを選択するか、ここにドロップしてください

プライベート - ファイルがデバイスの外に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してEMFファイルを識別します:

16進数シグネチャ(オフセット0):

01 00 00 00 28 00 00 00

ASCII表現: ....(... (offset 40: ' EMF')

標準化: [MS-EMF]:Enhanced Metafile形式仕様

技術仕様

コンテナアーキテクチャENHMETA_HEADERとEMR_EOFで区切られた32ビットGDI描画レコード構造の列
圧縮非圧縮の描画コマンド。PNG/JPEGラスターレコードを埋め込むことも可能
バイトエンディアンリトルエンディアン(Intel x86)
色空間デバイス依存RGB, sRGBカラー情報
チャンネルと構造ベクター描画操作(パス、フォント、ペン、ブラシ)と24/32ビットのラスタービットマップ
最大寸法仮想デバイスの範囲を0.01ミリメートル単位で指定
透過性アルファブレンドのラスタ操作(EMR_ALPHABLEND)と、ペン/ブラシの透明マスク
ストリーミングとプログレッシブレコードを順次再生し、GDIデバイスコンテキストへ直接描画

技術比較表:EMFと競合製品

技術属性EMF (現在)WMFSVGPDF
ビット アーキテクチャ32 ビット座標空間 (Windows NT 以降)16 ビット座標空間 (Windows 3.x)W3C Web 標準ISO 32000 ドキュメント標準
クロスプラットフォーム サポートWindows 中心。Mac/Linux ではエミュレーションが必要レガシー Windows のみ広く使われている Web 標準ですが、対応状況はアプリやプラットフォームによって異なります多くのプラットフォームで対応していますが、表示はビューアーによって異なります
最新の Web 表示SVG/PNG への変換が必要SVG/PNG への変換が必要多くの最新ブラウザーでサポートされていますPDF ビューア プラグインが必要
Office 統合一部のWordやPowerPointのワークフローでベクター貼り付けに対応レガシー Office サポート最新の Office 365 でサポート添付ファイル / ドキュメントとしてインポート

一般的な破損モードと16進数リカバリガイド

EMF グラフィックがレンダリングされるべき場所に、赤い「X」のボックスが表示される。

根本原因: EMR_EOF(ファイルの終わり)レコードが欠落しているか途切れているため、GDI の再生が中断されている。

復旧: File2File.app Metafile Converter を使用してメタファイル ストリームの境界を修復するか、SVG に変換する。

セキュリティ分析とパーサー攻撃ベクトル

Windows GDI における EMF の処理は、信頼されていない Office ドキュメント内にある不正なレコード長フィールドを介した攻撃ベクターとして歴史的に機能してきました。

既知の攻撃ベクター

  • リモート コード実行につながる EMR_STRETCHBLT レコード長の整数オーバーフロー。
  • 破損した GDI ペンおよびブラシのカラー テーブルを解析する際のバッファ超過読み取り。
  • レガシーな GDI レンダリング ルーチン内のフォント記述子レコードにおけるヒープ破損。

防御的ベストプラクティス: サンドボックス化されたWebAssembly実行環境で、EMFファイルをSVGまたはPNGにトランスコードします。

歴史的背景とマイルストーン

2006Windows Vista の GDI+ と共に EMF+ が導入され、アンチエイリアスとベジエ曲線が追加される。
1995Windows 95 が印刷ジョブの応答性を向上させるためのデフォルトの印刷スプール形式として EMF を統合。
1992Windows NT 3.1 と共に導入され、レガシーな 16 ビット WMF 形式を完全な 32 ビット座標にアップグレード。

主なメリット

  • 解像度に依存しない印刷: ベクター形状とタイポグラフィのアウトラインが、あらゆるプリンターの DPI に合わせて綺麗に拡大縮小されます。
  • Microsoft Officeを含む一部のWindowsアプリで、クリップボードや文書の交換に使われるグラフィック形式の一つです。
  • 編集可能なベクター コールアウトや線画と組み合わされた、埋め込みの高解像度ラスター画像をサポートしています。

技術的な制限とデメリット

  • Microsoft Windows GDI グラフィックス アーキテクチャに深く結びついており、クロスプラットフォームでのレンダリングが複雑になります。
  • 現代の SVG に見られるような、最新の CSS スタイル、フィルター、アニメーション機能が不足しています。
  • 古いオペレーティング システムにおけるレガシーな EMF レンダリング エンジンは、歴史的にパーサーの脆弱性に悩まされてきました。

興味深い技術トリビア

  • 有効なすべての EMF ファイルの 40 バイト目には、ASCII 文字のシグネチャ「 EMF」(0x20 0x45 0x4D 0x46)が含まれています。
  • Windows プリント スプーラーは、プリンター ドライバーに生のコマンドを送信する背後で、ドキュメントを EMF ファイルに変換します。
  • EMF は、デバイス ピクセルと 1 ミリメートルの 100 分の 1 という 2 つの座標系で同時に寸法を測定します。

よくある技術的な質問

WMFとEMFの違いは何ですか?

WMFはWindows 3.1時代の古い16ビット形式ですが、EMFは現在の32ビット後継形式であり、優れた座標精度と拡張されたグラフィックスコマンドを備えています。

EMFファイルをSVGに変換できますか?

はい。File2File.appを使用すると、EMFメタファイルのベクターレコードを、Webやデザイン用途に適したすっきりしたSVGファイルに直接変換できます。

なぜMicrosoft OfficeはEMFを使用するのですか?

Officeの一部のクリップボード処理では、ベクター図形やテキストを保持するためにEMFが使われますが、動作はアプリ、バージョン、内容によって異なります。