Windows Metafile Format (Wmf) Specification NOTICE This Specification Is Provided Under the Microsoft Open Specification Promise
Total Page:16
File Type:pdf, Size:1020Kb
Windows Metafile Format (wmf) Specification NOTICE This specification is provided under the Microsoft Open Specification Promise. For further details on the Microsoft Open Specification Promise, please refer to: http://www.microsoft.com/interop/osp/default.mspx. You are free to copy, display and perform this specification, to make derivative works of this specification, and to distribute the specification, however distribution rights are limited to unmodified copies of the original specification and any redistributed copies of the specification must retain its attribution of Microsoft’s rights in the copyright of the specification, this full notice, and the URL to the webpage containing the most current version of the specification as provided by Microsoft. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in these materials. Except as expressly provided in the Microsoft Open Specification Promise and this notice, the furnishing of these materials does not give you any license to these patents, trademarks, copyrights, or other intellectual property. The information contained in this document represents the point-in-time view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of authoring. Unless otherwise noted, the example companies, organizations, products, domain names, e- mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, email address, logo, person, place or event is intended or should be inferred. ©2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows NT, Windows Server, and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. 1 / 210 Table of Contents 1 Introduction .............................................................................................................. 7 1.1 Glossary ................................................................................................................ 7 1.2 References ............................................................................................................. 12 1.2.1 Normative References ........................................................................................ 12 1.2.2 Informative References ...................................................................................... 12 1.3 Structure Overview (Synopsis) ................................................................................. 12 1.3.1 Metafile Structure .............................................................................................. 12 1.3.2 Graphics Objects ............................................................................................... 14 1.3.3 Byte Ordering ................................................................................................... 14 1.4 Relationship to Protocols and Other Records ............................................................... 14 1.5 Applicability Statement ............................................................................................ 14 1.6 Versioning and Localization ...................................................................................... 14 1.7 Vendor-Extensible Fields .......................................................................................... 15 2 Structures .................................................................................................................. 16 2.1 WMF Enumerations.................................................................................................. 16 2.1.1 RecordType Enumeration .................................................................................... 16 2.1.2 BinaryRasterOperation Enumeration .................................................................... 21 2.1.3 BitCount Enumeration ........................................................................................ 25 2.1.4 BrushStyle Enumeration ..................................................................................... 26 2.1.5 CharacterSet Enumeration .................................................................................. 27 2.1.6 ClipPrecision Enumeration................................................................................... 28 2.1.7 ColorUsage Enumeration .................................................................................... 29 2.1.8 Compression Enumeration .................................................................................. 29 2.1.9 ExtTextOutOptions Enumeration .......................................................................... 30 2.1.10 FamilyFont Enumeration ..................................................................................... 31 2.1.11 FloodFill Enumeration ......................................................................................... 32 2.1.12 FontQuality Enumeration .................................................................................... 32 2.1.13 GamutMappingIntent Enumeration ...................................................................... 33 2.1.14 HatchStyle Enumeration ..................................................................................... 33 2.1.15 Layout Enumeration ........................................................................................... 34 2.1.16 LogicalColorSpace Enumeration ........................................................................... 34 2.1.17 LogicalColorSpaceV5 Enumeration ....................................................................... 35 2.1.18 MapMode Enumeration ....................................................................................... 35 2.1.19 MetafileEscapes Enumeration .............................................................................. 36 2.1.20 MetafileType Enumeration .................................................................................. 40 2.1.21 MetafileVersion Enumeration ............................................................................... 40 2.1.22 MixMode Enumeration ........................................................................................ 41 2.1.23 OutPrecision Enumeration ................................................................................... 41 2.1.24 PaletteEntryFlag Enumeration ............................................................................. 42 2.1.25 PenStyle Enumeration ........................................................................................ 42 2.1.26 PitchFont Enumeration ....................................................................................... 43 2.1.27 PolyFillMode Enumeration ................................................................................... 44 2.1.28 PostScriptCap Enumeration ................................................................................. 44 2.1.29 PostScriptFeatureSetting Enumeration ................................................................. 45 2.1.30 PostScriptJoin Enumeration ................................................................................. 45 2.1.31 StretchMode Enumeration ................................................................................... 46 2.1.32 TernaryRasterOperation Enumeration ................................................................... 46 2.1.33 TextAlignmentMode Enumeration ........................................................................ 78 2.2 WMF Objects .......................................................................................................... 79 2.2.1 Fixed-Length Objects ......................................................................................... 79 2.2.1.1 BitmapCoreHeader Object ............................................................................. 79 2 / 210 2.2.1.2 BitmapInfoHeader Object .............................................................................. 80 2.2.1.3 BitmapV4Header Object ................................................................................ 81 2.2.1.4 BitmapV5Header Object ................................................................................ 84 2.2.1.5 CIEXYZ Object ............................................................................................. 85 2.2.1.6 CIEXYZTriple Object ..................................................................................... 85 2.2.1.7 ColorRef Object ........................................................................................... 86 2.2.1.8 LogBrush Object .......................................................................................... 86 2.2.1.9 PaletteEntry Object ...................................................................................... 87 2.2.1.10 Pen Object .................................................................................................. 88 2.2.1.11 PointL Object ............................................................................................... 88 2.2.1.12 PointS Object .............................................................................................. 89 2.2.1.13 Rect Object ................................................................................................