Windows Metafile
aus Wikipedia, der freien Enzyklopädie
Windows Metafile (WMF) ist ein proprietäres Grafikformat der Firma Microsoft. Es wurde entwickelt für den Austausch von Grafiken über verschiedene Programme hinweg und findet unter Anderem Verwendung in der Windows-Zwischenablage. Werden Grafiken im WMF-Format abgespeichert, so tragen die Dateien die 3-buchstabige Dateierweiterung ".wmf". WMF ist ein 16-bit-Format, das bereits mit Microsoft Windows 3.x eingeführt wurde.
WMF ist ein vektorbasiertes Dateiformat. Das heißt, scharfe Kanten bleiben auch nach beliebiger Vergrößerung scharf. Zusätzlich können Flächen mit Rastergrafik gefüllt werden.
Der Namensbestandteil "Meta" weist darauf hin, dass dieses Format für den Datenaustausch über die Zwischenablage entworfen wurde.
Inhaltsverzeichnis |
[Bearbeiten] Unzulänglichkeiten
Im Gegensatz zu anderen vektorbasierten Dateiformaten wie Postscript oder SVG verfügt WMF über keine Möglichkeit Splines direkt darzustellen. Bei der Umwandlung wird eine als Spline definierte, geschwungene Linie daher in einen Linienzug mit kurzen, geraden Abschnitten aufgelöst. Die Länge dieser Abschnitte orientiert sich an dem, was bei einer typischen Bildschirmdarstellung gerade noch nicht als Kombination von geraden Strecken erkennbar ist.
Viele Grafik-Programme verwenden intern Splines für die geschwungenen Linien von Schriften und selbst für Kreise und Ellipsen. Dies hat zur Folge, dass bei einer Kopie über die Zwischenablage eine Darstellung entsteht, die wegen der vielen Strecken-Abschnitte sehr viel größer als das Original ausfällt. Außerdem treten unter Vergrößerung die Stufen und Ecken zwischen den einzelnen Strecken-Abschnitten in Erscheinung. Ein i-Punkt ähnelt nach einer Kopie in die Zwischenablage eher einem unregelmäßig gezackten Stern. Auf diese Weise geht der potentielle Vorteil eines vektorbasierten Formats teilweise verloren. Da Drucker eine sehr viel größere Auflösung als der Bildschirm haben, erkennt man im Ausdruck selbst ohne Vergrößerung, dass geschwungene Linien aus einzelnen geraden Strecken zusammen gestückelt sind.
[Bearbeiten] Sicherheitslücke in WMF
Am 28. Dezember 2005 wurde ein Exploit entdeckt, der einen Fehler in der Verarbeitung von WMF Dateien ausnützt. Zwar ist dieser Fehler in sämtlichen Windows-Versionen ab 3.0 enthalten, der Exploit funktioniert aber erst ab der Version Windows 2000. Mit seiner Hilfe kann beliebiger, also auch schädlicher, Code ausgeführt werden. Die Ausführung wird bereits durch das Betrachten einer präparierten WMF-Datei ausgelöst. Diese Sicherheitslücke wurde erst mit dem Auftreten der ersten sie ausnutzenden Viren öffentlich bekannt. Microsoft empfiehlt, um die Sicherheitslücke zu schließen, die am 5. Januar 2006 von Microsoft veröffentlichte Sicherheits-Aktualisierung zu installieren.
[Bearbeiten] Hinweise zur WMF-Spezifikation
- Die interne Maßeinheit in WMF-Dateien ist das Twip. Angeblich ist die maximale Größe von WMF-Dateien auf 32.000 Twips beschränkt, wobei je nach Applikation die Grenze auch niedriger liegt (Quelle: [1]).
- WMF-Dateien haben einen 18 Byte langen Kopfbereich (Header), an den beliebig viele Abschnitte (records) mit Objekt-Definitionen angehängt sind, die auf Funktionen des Windows-GDI zurückgreifen.
- Zum Austausch über Programme hinweg stellen manche Programme der WMF-Datei nochmal einen 22 Byte langen Kopfbereich (Header) voran, der an den Startbytes 9A-C6-CD-D7 (hexadezimal als INTEL 32bit-Wort interpretiert) erkennbar ist; die Bytesequenz in der WMF-Datei beginnend mit Byte 0 lautet jedoch hexadezimal: D7-CD-C6-9A.
Der Microsoft Knowledge Base zufolge wurde das WMF-Dateiformat vermutlich im Jahr 2000 leicht geändert (wodurch in FrontPage 2000/2002 ältere WMF-Dateien in falscher Größe importiert werden). Es scheint also verschiedene Versionen zu geben.
Die vollständige Spezifikation ist auf CD im "Microsoft Developer Network" (MSDN) publiziert worden
[Bearbeiten] Windows Enhanced Metafile (EMF)
EMF ist eine Weiterentwicklung von WMF. Im Gegensatz zu WMF verwendet es für die Definition von Bildkoordinaten ein 32-bit-Format. EMF wird auch als Druckersprache verwendet.