Bumping manifests a=b2g-bump
[gecko.git] / modules / freetype2 / src / winfonts / winfnt.h
blobb7a80736d837454526de35e258a7dc7acf9fd8a5
1 /***************************************************************************/
2 /* */
3 /* winfnt.h */
4 /* */
5 /* FreeType font driver for Windows FNT/FON files */
6 /* */
7 /* Copyright 1996-2001, 2002, 2003, 2004, 2007 by */
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
9 /* Copyright 2007 Dmitry Timoshkov for Codeweavers */
10 /* */
11 /* This file is part of the FreeType project, and may only be used, */
12 /* modified, and distributed under the terms of the FreeType project */
13 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
14 /* this file you indicate that you have read the license and */
15 /* understand and accept it fully. */
16 /* */
17 /***************************************************************************/
20 #ifndef __WINFNT_H__
21 #define __WINFNT_H__
24 #include <ft2build.h>
25 #include FT_WINFONTS_H
26 #include FT_INTERNAL_DRIVER_H
29 FT_BEGIN_HEADER
31 #ifdef FT_CONFIG_OPTION_PIC
32 #error "this module does not support PIC yet"
33 #endif
35 typedef struct WinMZ_HeaderRec_
37 FT_UShort magic;
38 /* skipped content */
39 FT_UShort lfanew;
41 } WinMZ_HeaderRec;
44 typedef struct WinNE_HeaderRec_
46 FT_UShort magic;
47 /* skipped content */
48 FT_UShort resource_tab_offset;
49 FT_UShort rname_tab_offset;
51 } WinNE_HeaderRec;
54 typedef struct WinPE32_HeaderRec_
56 FT_ULong magic;
57 FT_UShort machine;
58 FT_UShort number_of_sections;
59 /* skipped content */
60 FT_UShort size_of_optional_header;
61 /* skipped content */
62 FT_UShort magic32;
63 /* skipped content */
64 FT_ULong rsrc_virtual_address;
65 FT_ULong rsrc_size;
66 /* skipped content */
68 } WinPE32_HeaderRec;
71 typedef struct WinPE32_SectionRec_
73 FT_Byte name[8];
74 /* skipped content */
75 FT_ULong virtual_address;
76 FT_ULong size_of_raw_data;
77 FT_ULong pointer_to_raw_data;
78 /* skipped content */
80 } WinPE32_SectionRec;
83 typedef struct WinPE_RsrcDirRec_
85 FT_ULong characteristics;
86 FT_ULong time_date_stamp;
87 FT_UShort major_version;
88 FT_UShort minor_version;
89 FT_UShort number_of_named_entries;
90 FT_UShort number_of_id_entries;
92 } WinPE_RsrcDirRec;
95 typedef struct WinPE_RsrcDirEntryRec_
97 FT_ULong name;
98 FT_ULong offset;
100 } WinPE_RsrcDirEntryRec;
103 typedef struct WinPE_RsrcDataEntryRec_
105 FT_ULong offset_to_data;
106 FT_ULong size;
107 FT_ULong code_page;
108 FT_ULong reserved;
110 } WinPE_RsrcDataEntryRec;
113 typedef struct WinNameInfoRec_
115 FT_UShort offset;
116 FT_UShort length;
117 FT_UShort flags;
118 FT_UShort id;
119 FT_UShort handle;
120 FT_UShort usage;
122 } WinNameInfoRec;
125 typedef struct WinResourceInfoRec_
127 FT_UShort type_id;
128 FT_UShort count;
130 } WinResourceInfoRec;
133 #define WINFNT_MZ_MAGIC 0x5A4D
134 #define WINFNT_NE_MAGIC 0x454E
135 #define WINFNT_PE_MAGIC 0x4550
138 typedef struct FNT_FontRec_
140 FT_ULong offset;
142 FT_WinFNT_HeaderRec header;
144 FT_Byte* fnt_frame;
145 FT_ULong fnt_size;
146 FT_String* family_name;
148 } FNT_FontRec, *FNT_Font;
151 typedef struct FNT_FaceRec_
153 FT_FaceRec root;
154 FNT_Font font;
156 FT_CharMap charmap_handle;
157 FT_CharMapRec charmap; /* a single charmap per face */
159 } FNT_FaceRec, *FNT_Face;
162 FT_EXPORT_VAR( const FT_Driver_ClassRec ) winfnt_driver_class;
165 FT_END_HEADER
168 #endif /* __WINFNT_H__ */
171 /* END */