1 /***************************************************************************/
5 /* FreeType font driver for Windows FNT/FON files */
7 /* Copyright 1996-2017 by */
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
9 /* Copyright 2007 Dmitry Timoshkov for Codeweavers */
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. */
17 /***************************************************************************/
25 #include FT_WINFONTS_H
26 #include FT_INTERNAL_DRIVER_H
31 #ifdef FT_CONFIG_OPTION_PIC
32 #error "this module does not support PIC yet"
35 typedef struct WinMZ_HeaderRec_
44 typedef struct WinNE_HeaderRec_
48 FT_UShort resource_tab_offset;
49 FT_UShort rname_tab_offset;
54 typedef struct WinPE32_HeaderRec_
58 FT_UShort number_of_sections;
60 FT_UShort size_of_optional_header;
64 FT_ULong rsrc_virtual_address;
71 typedef struct WinPE32_SectionRec_
75 FT_ULong virtual_address;
76 FT_ULong size_of_raw_data;
77 FT_ULong pointer_to_raw_data;
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;
95 typedef struct WinPE_RsrcDirEntryRec_
100 } WinPE_RsrcDirEntryRec;
103 typedef struct WinPE_RsrcDataEntryRec_
105 FT_ULong offset_to_data;
110 } WinPE_RsrcDataEntryRec;
113 typedef struct WinNameInfoRec_
125 typedef struct WinResourceInfoRec_
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_
142 FT_WinFNT_HeaderRec header;
146 FT_String* family_name;
148 } FNT_FontRec, *FNT_Font;
151 typedef struct FNT_FaceRec_
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;
168 #endif /* WINFNT_H_ */