ftwinfnt.h revision 3ae7cc997a270e9cbdf193e27d47168cd8da6276
1/***************************************************************************/
2/*                                                                         */
3/*  ftwinfnt.h                                                             */
4/*                                                                         */
5/*    FreeType API for accessing Windows fnt-specific data.                */
6/*                                                                         */
7/*  Copyright 2003 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
26FT_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  * @function:
99  *    FT_Get_WinFNT_Header
100  *
101  * @description:
102  *    Retrieve a Windows FNT font info header.
103  *
104  * @input:
105  *    face    :: A handle to the input face.
106  *
107  * @output:
108  *    aheader :: The WinFNT header.
109  *
110  * @return:
111  *   FreeType error code.  0 means success.
112  *
113  * @note:
114  *   This function only works with Windows FNT faces, returning an error
115  *   otherwise.
116  */
117  FT_EXPORT( FT_Error )
118  FT_Get_WinFNT_Header( FT_Face               face,
119                        FT_WinFNT_HeaderRec  *aheader );
120
121
122 /* */
123
124FT_END_HEADER
125
126#endif /* __FTWINFNT_H__ */
127
128
129/* END */
130