1、dfType 2 bytes specifying the type of font file. The low-order byte is exclusively for GDI use. If the low-order bit of the WORD is zero, it is a bitmap (raster) font file. If the low-order bit is 1, it is a vector font file. The second bit is reserved and must be zero. If no bits follow in the file
2、 and the bits are located in memory at a fixed address specified in dfBitsOffset, the third bit is set to 1; otherwise, the bit is set to 0 (zero). The high-order bit of the low byte is set if the font was realized by a device. The remaining bits in the low byte are reserved and set to zero. The hig
3、h byte is reserved for device use and will always be set to zero for GDI-realized standard fonts. Physical fonts with the high-order bit of the low byte set may use this byte to describe themselves. GDI will never inspect the high byte. dfPoints 2 bytes specifying the nominal point size at which thi
4、s character set looks best. dfVertRes 2 bytes specifying the nominal vertical resolution (dots-per-inch) at which this character set was digitized. dfHorizRes 2 bytes specifying the nominal horizontal resolution dfAscent 2 bytes specifying the distance from the top of a character definition cell tot
5、he baseline of the typographical font. It is useful for aligning the baselines of fonts of different heights. dfInternalLeading Specifies the amount of leading inside the bounds set by dfPixHeight. Accent marks may occur in this area. This may be zero at the designer s option. dfExternalLeading Spec
6、ifies the amount of extra leading that the designer requests the application add between rows. Since this area is outside of the font proper, it contains no marks and will not be altered by text output calls in either the OPAQUE or TRANSPARENT mode. This may be zero at the designer dfItalic 1 (one)
7、byte specifying whether or not the character definition data represent an italic font. The low-order bit is 1 if the flag is set. All the other bits are dfUnderline 1 byte specifying whether or not the character definition data represent an underlined font. The low-order bit is 1 if the flag is set.
8、 All the other bits are 0 (zero). dfStrikeOut 1 byte specifying whether or not the character definition data represent a struckout font. The low- order bit is 1 if the flag is set. All the other bits are zero. dfWeight 2 bytes specifying the weight of the characters in the character definition data,
9、 on a scale of 1 to 1000. A dfWeight of 400 specifies a regular weight. dfCharSet 1 byte specifying the character set defined by this font. dfPixWidth 2 bytes. For vector fonts, specifies the width of the grid on which the font was digitized. For raster fonts, if dfPixWidth is nonzero, it represents
10、 the width for all the characters in the bitmap; if it is zero, the font has variable width characters whose widths are specified in the dfCharTable array. dfPixHeight 2 bytes specifying the height of the character bitmap (raster fonts), or the height of the grid on which a vector font was digitized
11、. dfPitchAndFamily Specifies the pitch and font family. The low bit is set if the font is variable pitch. The high four bits give the family name of the font. Font families describe in a general way the look of a font. They are intended for specifying fonts when the exact face name desired is not av
12、ailable. The families are as follows:Family Description - - FF_DONTCARE (0 4) Don t care or don t know. FF_ROMAN (1 4) Proportionally spaced fonts with serifs. FF_SWISS (2 without serifs. FF_MODERN (3 4) Fixed-pitch fonts. FF_SCRIPT (4 4) FF_DECORATIVE (5 dfAvgWidth 2 bytes specifying the width of c
13、haracters in the font. For fixed-pitch fonts, this is the same as dfPixWidth. For variable-pitch fonts, this is the width of the character et. dfLastChar 1 byte specifying the last character code defined by this font. Note that all the characters with codes between dfFirstChar and dfLastChar must be
14、 present in the font character definitions. dfDefaultChar 1 byte specifying the character to substitute whenever a string contains a character out of the range. The character is given relative to dfFirstChar so that dfDefaultChar is the actual value of the character, less dfFirstChar. The dfDefaultC
15、har should indicate a special character that is not a space. dfBreakChar 1 byte specifying the character that will define word breaks. This character defines word breaks for word wrapping and word spacing justification. The character is given relative to dfFirstChar so that dfBreakChar is the actual
16、 value of the character, less that of dfFirstChar. The dfBreakChar is normally (32 - dfFirstChar), which is an ASCII space. dfWidthBytes 2 bytes specifying the number of bytes in each row of the bitmap. This is always even, so that the rows start on WORD boundaries. For vector fonts, this field has
17、no meaning. dfDevice 4 bytes specifying the offset in the file to the string giving the device name. For a generic font, this value is zero. dfFace 4 bytes specifying the offset in the file to the null-terminated string that names the face. dfBitsPointer 4 bytes specifying the absolute machine addre
18、ss of the bitmap. This is set by GDI at load time. The dfBitsPointer is guaranteed to be even. dfBitsOffset 4 bytes specifying the offset in the file to the beginning of the bitmap information. If the 04H bit in the dfType is set, then dfBitsOffset is an absolute address of the bitmap (probably in R
19、OM). For raster fonts, dfBitsOffset points to a sequence of bytes that make up the bitmap of the font, whose height is the height of the font, and whose width is the sum of the widths of the characters in the font rounded up to the next WORD boundary. For vector fonts, it points to a string of bytes
20、 or words (depending on the size of the grid on which the font was digitized) that specify the strokes for each character of the font. The dfBitsOffset field must be even. dfReserved 1 byte, not used. dfFlags 4 bytes specifying the bits flags, which are additional flags that define the format of the
21、 Glyph bitmap, as follows:DFF_FIXED equ 0001h ; font is fixed pitch DFF_PROPORTIONAL equ 0002h ; font is proportional ; pitch DFF_ABCFIXED equ 0004h ; font is an ABC fixed font DFF_ABCPROPORTIONAL equ 0008h ; font is an ABC pro- portional font DFF_1COLOR equ 0010h ; font is one color DFF_16COLOR equ
22、 0020h ; font is 16 color DFF_256COLOR equ 0040h ; font is 256 color DFF_RGBCOLOR equ 0080h ; font is RGB color dfAspace 2 bytes specifying the global A space, if any. The dfAspace is the distance from the current position to the left edge of the bitmap. dfBspace 2 bytes specifying the global B spac
23、e, if any. The dfBspace is the width of the character. dfCspace 2 bytes specifying the global C space, if any. The dfCspace is the distance from the right edge of the bitmap to the new current position. The increment of a character is the sum of the three spaces. These apply to all glyphs and is the
24、 case for DFF_ABCFIXED. dfColorPointer 4 bytes specifying the offset to the color table for color fonts, if any. The format of the bits is similar to a DIB, but without the header. That is, the characters are not split up into disjoint bytes. Instead, they are left intact. If no color table is neede
25、d, this entry is NULL. NOTE: This information is different from that in the hard-copy Developer s Notes and reflects a correction. dfReserved1 16 bytes, not used. dfCharTable For raster fonts, the CharTable is an array of entries each consisting of two 2-byte WORDs for Windows and three 2-byte WORDs
26、 for Windows . The first WORD of each entry is the character width. The second WORD of each entry is the byte offset from the beginning of the FONTINFO structure to the character bitmap. For Windows , the second and third WORDs are used for the offset. There is one extra entry at the end of this tab
27、le that describes an absolute-space character. This entry corresponds to a character that is guaranteed to be blank; this character is not part of the normal character set. The number of entries in the table is calculated as (dfLastChar - dfFirstChar) + 2). This includes a spare, the sentinel offset mentioned in the following paragraph. For fixed-pitch vector fonts, each 2-byte entry in this array specifies the offset from the start of the bitmap to the beginning of t
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1