update for HEAD-2003050101
[reactos.git] / lib / freetype / include / freetype / ftwinfnt.h
1 /***************************************************************************/
2 /*                                                                         */
3 /*  ftwinfnt.h                                                             */
4 /*                                                                         */
5 /*    FreeType API for accessing Windows fnt-specific data.                */
6 /*                                                                         */
7 /*  Copyright 2002 by                                                      */
8 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9 /*                                                                         */
10 /*  This file is part of the FreeType project, and may only be used,       */
11 /*  modified, and distributed under the terms of the FreeType project      */
12 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
13 /*  this file you indicate that you have read the license and              */
14 /*  understand and accept it fully.                                        */
15 /*                                                                         */
16 /***************************************************************************/
17
18
19 #ifndef __FTWINFNT_H__
20 #define __FTWINFNT_H__
21
22 #include <ft2build.h>
23 #include FT_FREETYPE_H
24
25
26 FT_BEGIN_HEADER
27
28
29   /*************************************************************************/
30   /*                                                                       */
31   /* <Section>                                                             */
32   /*    winfnt_fonts                                                       */
33   /*                                                                       */
34   /* <Title>                                                               */
35   /*    Window FNT Fonts                                                   */
36   /*                                                                       */
37   /* <Abstract>                                                            */
38   /*    Windows FNT specific APIs                                          */
39   /*                                                                       */
40   /* <Description>                                                         */
41   /*    This section contains the declaration of Windows FNT specific      */
42   /*    functions.                                                         */
43   /*                                                                       */
44   /*************************************************************************/
45
46   /*************************************************************************/
47   /*                                                                       */
48   /* <Struct>                                                              */
49   /*    FT_WinFNT_HeaderRec_                                               */
50   /*                                                                       */
51   /* <Description>                                                         */
52   /*    Windows FNT Header info.                                           */
53   /*                                                                       */
54   typedef struct  FT_WinFNT_HeaderRec_
55   {
56     FT_UShort  version;
57     FT_ULong   file_size;
58     FT_Byte    copyright[60];
59     FT_UShort  file_type;
60     FT_UShort  nominal_point_size;
61     FT_UShort  vertical_resolution;
62     FT_UShort  horizontal_resolution;
63     FT_UShort  ascent;
64     FT_UShort  internal_leading;
65     FT_UShort  external_leading;
66     FT_Byte    italic;
67     FT_Byte    underline;
68     FT_Byte    strike_out;
69     FT_UShort  weight;
70     FT_Byte    charset;
71     FT_UShort  pixel_width;
72     FT_UShort  pixel_height;
73     FT_Byte    pitch_and_family;
74     FT_UShort  avg_width;
75     FT_UShort  max_width;
76     FT_Byte    first_char;
77     FT_Byte    last_char;
78     FT_Byte    default_char;
79     FT_Byte    break_char;
80     FT_UShort  bytes_per_row;
81     FT_ULong   device_offset;
82     FT_ULong   face_name_offset;
83     FT_ULong   bits_pointer;
84     FT_ULong   bits_offset;
85     FT_Byte    reserved;
86     FT_ULong   flags;
87     FT_UShort  A_space;
88     FT_UShort  B_space;
89     FT_UShort  C_space;
90     FT_UShort  color_table_offset;
91     FT_ULong   reserved1[4];
92
93   } FT_WinFNT_HeaderRec, *FT_WinFNT_Header;
94
95
96
97  /**********************************************************************
98   *
99   * @function:
100   *    FT_Get_WinFNT_Header
101   *
102   * @description:
103   *    Retrieves a Windows FNT font info header.
104   *
105   * @input:
106   *    face   :: handle to input face
107   *
108   * @output:
109   *    header :: WinFNT header.
110   *
111   * @return:
112   *   FreeType error code.  0 means success.
113   *
114   * @note:
115   *   This function only works with Windows FNT faces, returning an erro
116   *   otherwise.
117   */
118   FT_EXPORT( FT_Error )
119   FT_Get_WinFNT_Header( FT_Face              face,
120                         FT_WinFNT_HeaderRec *header );
121
122  /* */
123
124 FT_END_HEADER
125
126 #endif /* __FTWINFNT_H__ */
127
128
129 /* END */