Revision Summary Date Revision History Revision Class Comments 2/22/2007 0.01 New Version 0.01 release 6/1/2007 1.0 Major Updated and revised the technical content. 7/3/2007 1.1 Minor Restructured for better usability, technical corrections. 7/20/2007 1.2 Minor Clarified the meaning of the technical content. 8/10/2007 1.3 Clarified the meaning of the technical content. 9/28/2007 1.3.1 Editorial Changed language and formatting in the technical content. 10/23/2007 1.4 Updated artwork. 11/30/2007 1.5 Minor Standardized artwork. 1/25/2008 1.5.1 Editorial Changed language and formatting in the technical content. 3/14/2008 2.0 Major Abstract data and Windows behavior added. 5/16/2008 2.0.1 Editorial Changed language and formatting in the technical content. 6/20/2008 3.0 Major Updated and revised the
technical content. 7/25/2008 3.0.1 Editorial Changed language and formatting in the technical content. 8/29/2008 3.0.2 Editorial Changed language and formatting in the technical content. 10/24/2008 4.0 Major Sections 1.7 and 2 of this specification are normative. All sections and examples in this specification are informative. Glossary updated; PitchAndFamily object 12/5/2008 4.1 Minor Clarified the meaning of the technical content. 1/16/2009 5.0 Major Updated and revised the technical content. 2/27/2009 5.1 Minor Clarified the meaning of the technical content. 4/10/2009 6.0 Major Updated and revised the technical content. 5/22/2009 7.0 Major Updated and revised the technical content. 7/2/2009 7.0.1 Editorial Changed language and formatting in the technical content.
8/14/2009 7.0.2 Editorial Changed language and formatting in the technical content. 9/25/2009 7.1 Minor Clarified the meaning of the technical content. 11/6/2009 8.0 Major Updated and revised the technical content. 12/18/2009 8.1 Minor Clarified the meaning of the technical content. 1/29/2010 8.1.1 Editorial Changed language and formatting in the technical content. 3/12/2010 8.2 Minor Clarified the meaning of the technical content. 4/23/2010 8.2.1 Editorial Changed language and formatting in the technical content. 6/4/2010 8.3 Clarified the meaning of the technical content. 7/16/2010 8.4 Minor Clarified the meaning of the technical content. 8/27/2010 8.5 Clarified the meaning of the technical content. 10/8/2010 8.5 None No changes to the meaning, language, or formatting of the technical content. 11/19/2010 8.5 None No changes to the meaning,
the technical content. 10/25/2012 10.0 None No changes to the meaning, language, or formatting of the technical content. 1/31/2013 10.0 None No changes to the meaning, language, or formatting of the technical content. 8/8/2013 11.0 Major Updated and revised the technical content. 11/14/2013 11.0 None No changes to the meaning, language, or formatting of the technical content. 2/13/2014 11.0 None No changes to the meaning, language, or formatting of the technical content. 5/15/2014 11.1 Minor Clarified the meaning of the technical content. 6/30/2015 12.0 Major Significantly changed the technical content. 10/16/2015 13.0 Major Significantly changed the technical content. 7/14/2016 13.1 Minor Clarified the meaning of the technical content. 6/1/2017 13.1 None No changes to the meaning, language, or formatting of the technical content.
... UndefinedSpace (variable): An optional field that MUST be ignored. If this DIB is a packed bitmap, this field MUST NOT be present. aData (variable): An array of bytes that define the image. The size and format of this data is determined by information in the DIBHeaderInfo field. If it is a BitmapCoreHeader, the size in bytes MUST be calculated as follows: (((Width * Planes * BitCount + 31) & ~31) / 8) * abs(Height) This formula SHOULD also be used to calculate the size of aData when DIBHeaderInfo is a BitmapInfoHeader Object, using values from that object, but only if its Compression value is BI_RGB, BI_BITFIELDS, or BI_CMYK. Otherwise, the size of MUST be the BitmapInfoHeader Object value ImageSize. LogBrush Object The LogBrush Object defines the style, color, and pattern of a brush. This object is used only in the to create a . 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 BrushStyle ColorRef ... BrushHatch BrushStyle (2 bytes): A 16-bit unsigned integer that defines the brush style. This MUST be a value from the . For the meanings of different values, see the following table. The BS_NULL style specifies a brush that has no effect.<48> ColorRef (4 bytes): A 32-bit that specifies a color. Its interpretation depends on the value of BrushStyle, as explained in the following. BrushHatch (2 A 16-bit field that specifies the brush hatch type. Its interpretation depends on the value of BrushStyle, as explained in the following. The following table shows the relationship between values in the BrushStyle, ColorRef and BrushHatch fields in a LogBrush Object. Only supported brush styles are listed. BrushStyle ColorRef BrushHatch BS_SOLID SHOULD be a ColorRef Object, which determines the color of the brush. Not used, and SHOULD be ignored. BS_NULL Not used, and SHOULD be ignored. Not used, and SHOULD be ignored.
0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 RecordSize RecordFunction NumberofPoints aPoints (variable) ... RecordSize (4 bytes): A 32-bit unsigned integer that defines the number of WORDs in the record. RecordFunction (2 bytes): A 16-bit unsigned integer that defines this WMF record type. The lower byte MUST match the lower byte of the value META_POLYGON. NumberofPoints (2 bytes): A 16-bit signed integer that defines the number of points in the array. aPoints (variable): A NumberOfPoints array of 32-bit , in logical units. See section for the specification of other Drawing records. META_POLYPOLYGON Record The META_POLYPOLYGON record paints a series of closed polygons. Each polygon is outlined by using the pen and filled by using the brush and polygon fill mode; these are defined in the . The polygons drawn by this function can overlap. 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 RecordSize RecordFunction PolyPolygon (variable) ... RecordSize (4 bytes): A 32-bit unsigned integer that defines the number of WORDs in the record. RecordFunction (2 bytes): A 16-bit unsigned integer that defines this WMF record type. The lower byte MUST match the lower byte of the value META_POLYPOLYGON. PolyPolygon (variable): A variable-sized that defines the point information. See section for the specification of other Drawing records. META_RECTANGLE Record The META_RECTANGLE record paints a rectangle. The rectangle is outlined by using the pen and filled by using the brush that are defined in the . 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 RecordSize
Index A 156 156 18 B 157 157 24 27 99 83 83 84 84 84 84 86 86 87 87 78 78 28 17 C 204 29 157 157 158 158 88 88 89 89 75 75 75 75 75 75 159 159 75 159 159 89 89 30 19 30 112 D 19 Details 19 89 89 160 160 160 160 161 161 114 E 162 162 163 163 163 163 19 164 164 154 75 75 75 75 75 75 75 Examples 182 190 190 164 164 F 31 18 78 32 79 79 32 G 33 165 165 166 166 166 166 167 167 167 167 168 168
143 144 144 144 144 135 135 135 135 136 136 145 145 145 145 107 107 146 146 146 146 147 147 147 147 127 127 148 148 148 148 149 149 149 149 150 150 150 150 151 151 151 151 152 152 152 152 153 153 153 153 109 108 109 110 110 128 128 182 Metafile example 191 193 192 196 195 META_SELECTOBJECT ( 193, 194) 195 190 15 171 171 36 39 40 40 N 172 172 172 172 14 O 129 77 176 176 40 15 P 81 81 94 94 41 173 173 82 82 42 95 95 43 95 95 95 95 43 96 96 173 173 174 174 174 174 175 175 175 175 43 44 44 45 198
Q 176 176 177 177 R 78 83 98 19 78 ( 100, 102, 104, 108) 83 19 96 96 96 96 14 15 14 82 82 17 97 97 S 97 97 197 197 177 177 178 178 179 179 179 179 180 180 98 98 180 180 181 181 136 45 Structures 182 19 T 76 76 76 76 76 76 76 76 76 46 204 V 83 18 18 77 77 77 77 77 77 W 190 98