~oif-team/ubuntu/natty/qt4-x11/xi2.1

« back to all changes in this revision

Viewing changes to src/3rdparty/freetype/include/freetype/internal/t1types.h

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad
  • Date: 2005-08-24 04:09:09 UTC
  • Revision ID: james.westby@ubuntu.com-20050824040909-xmxe9jfr4a0w5671
Tags: upstream-4.0.0
ImportĀ upstreamĀ versionĀ 4.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************/
 
2
/*                                                                         */
 
3
/*  t1types.h                                                              */
 
4
/*                                                                         */
 
5
/*    Basic Type1/Type2 type definitions and interface (specification      */
 
6
/*    only).                                                               */
 
7
/*                                                                         */
 
8
/*  Copyright 1996-2001, 2002, 2003, 2004 by                               */
 
9
/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 
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
/***************************************************************************/
 
18
 
 
19
 
 
20
#ifndef __T1TYPES_H__
 
21
#define __T1TYPES_H__
 
22
 
 
23
 
 
24
#include <ft2build.h>
 
25
#include FT_TYPE1_TABLES_H
 
26
#include FT_INTERNAL_POSTSCRIPT_HINTS_H
 
27
#include FT_INTERNAL_SERVICE_H
 
28
#include FT_SERVICE_POSTSCRIPT_CMAPS_H
 
29
 
 
30
 
 
31
FT_BEGIN_HEADER
 
32
 
 
33
 
 
34
  /*************************************************************************/
 
35
  /*************************************************************************/
 
36
  /*************************************************************************/
 
37
  /***                                                                   ***/
 
38
  /***                                                                   ***/
 
39
  /***              REQUIRED TYPE1/TYPE2 TABLES DEFINITIONS              ***/
 
40
  /***                                                                   ***/
 
41
  /***                                                                   ***/
 
42
  /*************************************************************************/
 
43
  /*************************************************************************/
 
44
  /*************************************************************************/
 
45
 
 
46
 
 
47
  /*************************************************************************/
 
48
  /*                                                                       */
 
49
  /* <Struct>                                                              */
 
50
  /*    T1_EncodingRec                                                     */
 
51
  /*                                                                       */
 
52
  /* <Description>                                                         */
 
53
  /*    A structure modeling a custom encoding.                            */
 
54
  /*                                                                       */
 
55
  /* <Fields>                                                              */
 
56
  /*    num_chars  :: The number of character codes in the encoding.       */
 
57
  /*                  Usually 256.                                         */
 
58
  /*                                                                       */
 
59
  /*    code_first :: The lowest valid character code in the encoding.     */
 
60
  /*                                                                       */
 
61
  /*    code_last  :: The highest valid character code in the encoding.    */
 
62
  /*                                                                       */
 
63
  /*    char_index :: An array of corresponding glyph indices.             */
 
64
  /*                                                                       */
 
65
  /*    char_name  :: An array of corresponding glyph names.               */
 
66
  /*                                                                       */
 
67
  typedef struct  T1_EncodingRecRec_
 
68
  {
 
69
    FT_Int       num_chars;
 
70
    FT_Int       code_first;
 
71
    FT_Int       code_last;
 
72
 
 
73
    FT_UShort*   char_index;
 
74
    FT_String**  char_name;
 
75
 
 
76
  } T1_EncodingRec, *T1_Encoding;
 
77
 
 
78
 
 
79
  typedef enum  T1_EncodingType_
 
80
  {
 
81
    T1_ENCODING_TYPE_NONE = 0,
 
82
    T1_ENCODING_TYPE_ARRAY,
 
83
    T1_ENCODING_TYPE_STANDARD,
 
84
    T1_ENCODING_TYPE_ISOLATIN1,
 
85
    T1_ENCODING_TYPE_EXPERT
 
86
 
 
87
  } T1_EncodingType;
 
88
 
 
89
 
 
90
  typedef struct  T1_FontRec_
 
91
  {
 
92
    PS_FontInfoRec   font_info;         /* font info dictionary */
 
93
    PS_PrivateRec    private_dict;      /* private dictionary   */
 
94
    FT_String*       font_name;         /* top-level dictionary */
 
95
 
 
96
    T1_EncodingType  encoding_type;
 
97
    T1_EncodingRec   encoding;
 
98
 
 
99
    FT_Byte*         subrs_block;
 
100
    FT_Byte*         charstrings_block;
 
101
    FT_Byte*         glyph_names_block;
 
102
 
 
103
    FT_Int           num_subrs;
 
104
    FT_Byte**        subrs;
 
105
    FT_PtrDist*      subrs_len;
 
106
 
 
107
    FT_Int           num_glyphs;
 
108
    FT_String**      glyph_names;       /* array of glyph names       */
 
109
    FT_Byte**        charstrings;       /* array of glyph charstrings */
 
110
    FT_PtrDist*      charstrings_len;
 
111
 
 
112
    FT_Byte          paint_type;
 
113
    FT_Byte          font_type;
 
114
    FT_Matrix        font_matrix;
 
115
    FT_Vector        font_offset;
 
116
    FT_BBox          font_bbox;
 
117
    FT_Long          font_id;
 
118
 
 
119
    FT_Fixed         stroke_width;
 
120
 
 
121
  } T1_FontRec, *T1_Font;
 
122
 
 
123
 
 
124
  typedef struct  CID_SubrsRec_
 
125
  {
 
126
    FT_UInt    num_subrs;
 
127
    FT_Byte**  code;
 
128
 
 
129
  } CID_SubrsRec, *CID_Subrs;
 
130
 
 
131
 
 
132
  /*************************************************************************/
 
133
  /*************************************************************************/
 
134
  /*************************************************************************/
 
135
  /***                                                                   ***/
 
136
  /***                                                                   ***/
 
137
  /***                ORIGINAL T1_FACE CLASS DEFINITION                  ***/
 
138
  /***                                                                   ***/
 
139
  /***                                                                   ***/
 
140
  /*************************************************************************/
 
141
  /*************************************************************************/
 
142
  /*************************************************************************/
 
143
 
 
144
 
 
145
  typedef struct T1_FaceRec_*   T1_Face;
 
146
  typedef struct CID_FaceRec_*  CID_Face;
 
147
 
 
148
 
 
149
  typedef struct  T1_FaceRec_
 
150
  {
 
151
    FT_FaceRec     root;
 
152
    T1_FontRec     type1;
 
153
    const void*    psnames;
 
154
    const void*    psaux;
 
155
    const void*    afm_data;
 
156
    FT_CharMapRec  charmaprecs[2];
 
157
    FT_CharMap     charmaps[2];
 
158
    PS_Unicodes    unicode_map;
 
159
 
 
160
    /* support for Multiple Masters fonts */
 
161
    PS_Blend       blend;
 
162
 
 
163
    /* since FT 2.1 - interface to PostScript hinter */
 
164
    const void*    pshinter;
 
165
 
 
166
  } T1_FaceRec;
 
167
 
 
168
 
 
169
  typedef struct  CID_FaceRec_
 
170
  {
 
171
    FT_FaceRec       root;
 
172
    void*            psnames;
 
173
    void*            psaux;
 
174
    CID_FaceInfoRec  cid;
 
175
    void*            afm_data;
 
176
    FT_Byte*         binary_data; /* used if hex data has been converted */
 
177
    FT_Stream        cid_stream;
 
178
    CID_Subrs        subrs;
 
179
 
 
180
    /* since FT 2.1 - interface to PostScript hinter */
 
181
    void*            pshinter;
 
182
 
 
183
  } CID_FaceRec;
 
184
 
 
185
 
 
186
FT_END_HEADER
 
187
 
 
188
#endif /* __T1TYPES_H__ */
 
189
 
 
190
 
 
191
/* END */