source: trunk/poppler/freetype-2.1.10/include/freetype/internal/pshints.h @ 2

Last change on this file since 2 was 2, checked in by Eugene Romanenko, 16 years ago

First import

File size: 38.5 KB
Line 
1/***************************************************************************/
2/*                                                                         */
3/*  pshints.h                                                              */
4/*                                                                         */
5/*    Interface to Postscript-specific (Type 1 and Type 2) hints           */
6/*    recorders (specification only).  These are used to support native    */
7/*    T1/T2 hints in the "type1", "cid" and "cff" font drivers.            */
8/*                                                                         */
9/*  Copyright 2001, 2002, 2003 by                                          */
10/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
11/*                                                                         */
12/*  This file is part of the FreeType project, and may only be used,       */
13/*  modified, and distributed under the terms of the FreeType project      */
14/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
15/*  this file you indicate that you have read the license and              */
16/*  understand and accept it fully.                                        */
17/*                                                                         */
18/***************************************************************************/
19
20
21#ifndef __PSHINTS_H__
22#define __PSHINTS_H__
23
24
25#include <ft2build.h>
26#include FT_FREETYPE_H
27#include FT_TYPE1_TABLES_H
28
29
30FT_BEGIN_HEADER
31
32
33  /*************************************************************************/
34  /*************************************************************************/
35  /*****                                                               *****/
36  /*****               INTERNAL REPRESENTATION OF GLOBALS              *****/
37  /*****                                                               *****/
38  /*************************************************************************/
39  /*************************************************************************/
40
41  typedef struct PSH_GlobalsRec_*  PSH_Globals;
42
43  typedef FT_Error
44  (*PSH_Globals_NewFunc)( FT_Memory     memory,
45                          T1_Private*   private_dict,
46                          PSH_Globals*  aglobals );
47
48  typedef FT_Error
49  (*PSH_Globals_SetScaleFunc)( PSH_Globals  globals,
50                               FT_Fixed     x_scale,
51                               FT_Fixed     y_scale,
52                               FT_Fixed     x_delta,
53                               FT_Fixed     y_delta );
54
55  typedef void
56  (*PSH_Globals_DestroyFunc)( PSH_Globals  globals );
57
58
59  typedef struct  PSH_Globals_FuncsRec_
60  {
61    PSH_Globals_NewFunc       create;
62    PSH_Globals_SetScaleFunc  set_scale;
63    PSH_Globals_DestroyFunc   destroy;
64
65  } PSH_Globals_FuncsRec, *PSH_Globals_Funcs;
66
67
68  /*************************************************************************/
69  /*************************************************************************/
70  /*****                                                               *****/
71  /*****                  PUBLIC TYPE 1 HINTS RECORDER                 *****/
72  /*****                                                               *****/
73  /*************************************************************************/
74  /*************************************************************************/
75
76  /*************************************************************************/
77  /*                                                                       */
78  /* @type:                                                                */
79  /*    T1_Hints                                                           */
80  /*                                                                       */
81  /* @description:                                                         */
82  /*    This is a handle to an opaque structure used to record glyph hints */
83  /*    from a Type 1 character glyph character string.                    */
84  /*                                                                       */
85  /*    The methods used to operate on this object are defined by the      */
86  /*    @T1_Hints_FuncsRec structure.  Recording glyph hints is normally   */
87  /*    achieved through the following scheme:                             */
88  /*                                                                       */
89  /*    - Open a new hint recording session by calling the "open" method.  */
90  /*      This will rewind the recorder and prepare it for new input.      */
91  /*                                                                       */
92  /*    - For each hint found in the glyph charstring, call the            */
93  /*      corresponding method ("stem", "stem3", or "reset").  Note that   */
94  /*      these functions do not return an error code.                     */
95  /*                                                                       */
96  /*    - Close the recording session by calling the "close" method.  It   */
97  /*      will return an error code if the hints were invalid or something */
98  /*      strange happened (e.g. memory shortage).                         */
99  /*                                                                       */
100  /*    The hints accumulated in the object can later be used by the       */
101  /*    PostScript hinter.                                                 */
102  /*                                                                       */
103  typedef struct T1_HintsRec_*  T1_Hints;
104
105
106  /*************************************************************************/
107  /*                                                                       */
108  /* @type:                                                                */
109  /*    T1_Hints_Funcs                                                     */
110  /*                                                                       */
111  /* @description:                                                         */
112  /*    A pointer to the @T1_Hints_FuncsRec structure that defines the     */
113  /*    API of a given @T1_Hints object.                                   */
114  /*                                                                       */
115  typedef const struct T1_Hints_FuncsRec_*  T1_Hints_Funcs;
116
117
118  /*************************************************************************/
119  /*                                                                       */
120  /* @functype:                                                            */
121  /*    T1_Hints_OpenFunc                                                  */
122  /*                                                                       */
123  /* @description:                                                         */
124  /*    A method of the @T1_Hints class used to prepare it for a new       */
125  /*    Type 1 hints recording session.                                    */
126  /*                                                                       */
127  /* @input:                                                               */
128  /*    hints :: A handle to the Type 1 hints recorder.                    */
129  /*                                                                       */
130  /* @note:                                                                */
131  /*    You should always call the @T1_Hints_CloseFunc method in order to  */
132  /*    close an opened recording session.                                 */
133  /*                                                                       */
134  typedef void
135  (*T1_Hints_OpenFunc)( T1_Hints  hints );
136
137
138  /*************************************************************************/
139  /*                                                                       */
140  /* @functype:                                                            */
141  /*    T1_Hints_SetStemFunc                                               */
142  /*                                                                       */
143  /* @description:                                                         */
144  /*    A method of the @T1_Hints class used to record a new horizontal or */
145  /*    vertical stem.  This corresponds to the Type 1 "hstem" and "vstem" */
146  /*    operators.                                                         */
147  /*                                                                       */
148  /* @input:                                                               */
149  /*    hints     :: A handle to the Type 1 hints recorder.                */
150  /*                                                                       */
151  /*    dimension :: 0 for horizontal stems (hstem), 1 for vertical ones   */
152  /*                 (vstem).                                              */
153  /*                                                                       */
154  /*    coords    :: Array of 2 integers, used as (position,length) stem   */
155  /*                 descriptor.                                           */
156  /*                                                                       */
157  /* @note:                                                                */
158  /*    Use vertical coordinates (y) for horizontal stems (dim=0).  Use    */
159  /*    horizontal coordinates (x) for vertical stems (dim=1).             */
160  /*                                                                       */
161  /*    "coords[0]" is the absolute stem position (lowest coordinate);     */
162  /*    "coords[1]" is the length.                                         */
163  /*                                                                       */
164  /*    The length can be negative, in which case it must be either -20 or */
165  /*    -21.  It will be interpreted as a "ghost" stem, according to       */
166  /*    Type 1 specification.                                              */
167  /*                                                                       */
168  /*    If the length is -21 (corresponding to a bottom ghost stem), then  */
169  /*    the real stem position is "coords[0]+coords[1]".                   */
170  /*                                                                       */
171  typedef void
172  (*T1_Hints_SetStemFunc)( T1_Hints  hints,
173                           FT_UInt   dimension,
174                           FT_Long*  coords );
175
176
177  /*************************************************************************/
178  /*                                                                       */
179  /* @functype:                                                            */
180  /*    T1_Hints_SetStem3Func                                              */
181  /*                                                                       */
182  /* @description:                                                         */
183  /*    A method of the @T1_Hints class used to record three               */
184  /*    counter-controlled horizontal or vertical stems at once.           */
185  /*                                                                       */
186  /* @input:                                                               */
187  /*    hints     :: A handle to the Type 1 hints recorder.                */
188  /*                                                                       */
189  /*    dimension :: 0 for horizontal stems, 1 for vertical ones.          */
190  /*                                                                       */
191  /*    coords    :: An array of 6 integers, holding 3 (position,length)   */
192  /*                 pairs for the counter-controlled stems.               */
193  /*                                                                       */
194  /* @note:                                                                */
195  /*    Use vertical coordinates (y) for horizontal stems (dim=0).  Use    */
196  /*    horizontal coordinates (x) for vertical stems (dim=1).             */
197  /*                                                                       */
198  /*    The lengths cannot be negative (ghost stems are never              */
199  /*    counter-controlled).                                               */
200  /*                                                                       */
201  typedef void
202  (*T1_Hints_SetStem3Func)( T1_Hints  hints,
203                            FT_UInt   dimension,
204                            FT_Long*  coords );
205
206
207  /*************************************************************************/
208  /*                                                                       */
209  /* @functype:                                                            */
210  /*    T1_Hints_ResetFunc                                                 */
211  /*                                                                       */
212  /* @description:                                                         */
213  /*    A method of the @T1_Hints class used to reset the stems hints in a */
214  /*    recording session.                                                 */
215  /*                                                                       */
216  /* @input:                                                               */
217  /*    hints     :: A handle to the Type 1 hints recorder.                */
218  /*                                                                       */
219  /*    end_point :: The index of the last point in the input glyph in     */
220  /*                 which the previously defined hints apply.             */
221  /*                                                                       */
222  typedef void
223  (*T1_Hints_ResetFunc)( T1_Hints  hints,
224                         FT_UInt   end_point );
225
226
227  /*************************************************************************/
228  /*                                                                       */
229  /* @functype:                                                            */
230  /*    T1_Hints_CloseFunc                                                 */
231  /*                                                                       */
232  /* @description:                                                         */
233  /*    A method of the @T1_Hints class used to close a hint recording     */
234  /*    session.                                                           */
235  /*                                                                       */
236  /* @input:                                                               */
237  /*    hints     :: A handle to the Type 1 hints recorder.                */
238  /*                                                                       */
239  /*    end_point :: The index of the last point in the input glyph.       */
240  /*                                                                       */
241  /* @return:                                                              */
242  /*    FreeType error code.  0 means success.                             */
243  /*                                                                       */
244  /* @note:                                                                */
245  /*    The error code will be set to indicate that an error occured       */
246  /*    during the recording session.                                      */
247  /*                                                                       */
248  typedef FT_Error
249  (*T1_Hints_CloseFunc)( T1_Hints  hints,
250                         FT_UInt   end_point );
251
252
253  /*************************************************************************/
254  /*                                                                       */
255  /* @functype:                                                            */
256  /*    T1_Hints_ApplyFunc                                                 */
257  /*                                                                       */
258  /* @description:                                                         */
259  /*    A method of the @T1_Hints class used to apply hints to the         */
260  /*    corresponding glyph outline.  Must be called once all hints have   */
261  /*    been recorded.                                                     */
262  /*                                                                       */
263  /* @input:                                                               */
264  /*   hints     :: A handle to the Type 1 hints recorder.                 */
265  /*                                                                       */
266  /*   outline   :: A pointer to the target outline descriptor.            */
267  /*                                                                       */
268  /*   globals   :: The hinter globals for this font.                      */
269  /*                                                                       */
270  /*   hint_mode :: Hinting information.                                   */
271  /*                                                                       */
272  /* @return:                                                              */
273  /*   FreeType error code.  0 means success.                              */
274  /*                                                                       */
275  /* @note:                                                                */
276  /*    On input, all points within the outline are in font coordinates.   */
277  /*    On output, they are in 1/64th of pixels.                           */
278  /*                                                                       */
279  /*    The scaling transformation is taken from the "globals" object      */
280  /*    which must correspond to the same font as the glyph.               */
281  /*                                                                       */
282  typedef FT_Error
283  (*T1_Hints_ApplyFunc)( T1_Hints        hints,
284                         FT_Outline*     outline,
285                         PSH_Globals     globals,
286                         FT_Render_Mode  hint_mode );
287
288
289  /*************************************************************************/
290  /*                                                                       */
291  /* @struct:                                                              */
292  /*    T1_Hints_FuncsRec                                                  */
293  /*                                                                       */
294  /* @description:                                                         */
295  /*    The structure used to provide the API to @T1_Hints objects.        */
296  /*                                                                       */
297  /* @fields:                                                              */
298  /*    hints :: A handle to the T1 Hints recorder.                        */
299  /*                                                                       */
300  /*    open  :: The function to open a recording session.                 */
301  /*                                                                       */
302  /*    close :: The function to close a recording session.                */
303  /*                                                                       */
304  /*    stem  :: The function to set a simple stem.                        */
305  /*                                                                       */
306  /*    stem3 :: The function to set counter-controlled stems.             */
307  /*                                                                       */
308  /*    reset :: The function to reset stem hints.                         */
309  /*                                                                       */
310  /*    apply :: The function to apply the hints to the corresponding      */
311  /*             glyph outline.                                            */
312  /*                                                                       */
313  typedef struct  T1_Hints_FuncsRec_
314  {
315    T1_Hints               hints;
316    T1_Hints_OpenFunc      open;
317    T1_Hints_CloseFunc     close;
318    T1_Hints_SetStemFunc   stem;
319    T1_Hints_SetStem3Func  stem3;
320    T1_Hints_ResetFunc     reset;
321    T1_Hints_ApplyFunc     apply;
322
323  } T1_Hints_FuncsRec;
324
325
326  /*************************************************************************/
327  /*************************************************************************/
328  /*****                                                               *****/
329  /*****                  PUBLIC TYPE 2 HINTS RECORDER                 *****/
330  /*****                                                               *****/
331  /*************************************************************************/
332  /*************************************************************************/
333
334  /*************************************************************************/
335  /*                                                                       */
336  /* @type:                                                                */
337  /*    T2_Hints                                                           */
338  /*                                                                       */
339  /* @description:                                                         */
340  /*    This is a handle to an opaque structure used to record glyph hints */
341  /*    from a Type 2 character glyph character string.                    */
342  /*                                                                       */
343  /*    The methods used to operate on this object are defined by the      */
344  /*    @T2_Hints_FuncsRec structure.  Recording glyph hints is normally   */
345  /*    achieved through the following scheme:                             */
346  /*                                                                       */
347  /*    - Open a new hint recording session by calling the "open" method.  */
348  /*      This will rewind the recorder and prepare it for new input.      */
349  /*                                                                       */
350  /*    - For each hint found in the glyph charstring, call the            */
351  /*      corresponding method ("stems", "hintmask", "counters").  Note    */
352  /*      that these functions do not return an error code.                */
353  /*                                                                       */
354  /*    - Close the recording session by calling the "close" method.  It   */
355  /*      will return an error code if the hints were invalid or something */
356  /*      strange happened (e.g. memory shortage).                         */
357  /*                                                                       */
358  /*    The hints accumulated in the object can later be used by the       */
359  /*    Postscript hinter.                                                 */
360  /*                                                                       */
361  typedef struct T2_HintsRec_*  T2_Hints;
362
363
364  /*************************************************************************/
365  /*                                                                       */
366  /* @type:                                                                */
367  /*    T2_Hints_Funcs                                                     */
368  /*                                                                       */
369  /* @description:                                                         */
370  /*    A pointer to the @T2_Hints_FuncsRec structure that defines the API */
371  /*    of a given @T2_Hints object.                                       */
372  /*                                                                       */
373  typedef const struct T2_Hints_FuncsRec_*  T2_Hints_Funcs;
374
375
376  /*************************************************************************/
377  /*                                                                       */
378  /* @functype:                                                            */
379  /*    T2_Hints_OpenFunc                                                  */
380  /*                                                                       */
381  /* @description:                                                         */
382  /*    A method of the @T2_Hints class used to prepare it for a new       */
383  /*    Type 2 hints recording session.                                    */
384  /*                                                                       */
385  /* @input:                                                               */
386  /*    hints :: A handle to the Type 2 hints recorder.                    */
387  /*                                                                       */
388  /* @note:                                                                */
389  /*    You should always call the @T2_Hints_CloseFunc method in order to  */
390  /*    close an opened recording session.                                 */
391  /*                                                                       */
392  typedef void
393  (*T2_Hints_OpenFunc)( T2_Hints  hints );
394
395
396  /*************************************************************************/
397  /*                                                                       */
398  /* @functype:                                                            */
399  /*    T2_Hints_StemsFunc                                                 */
400  /*                                                                       */
401  /* @description:                                                         */
402  /*    A method of the @T2_Hints class used to set the table of stems in  */
403  /*    either the vertical or horizontal dimension.  Equivalent to the    */
404  /*    "hstem", "vstem", "hstemhm", and "vstemhm" Type 2 operators.       */
405  /*                                                                       */
406  /* @input:                                                               */
407  /*    hints     :: A handle to the Type 2 hints recorder.                */
408  /*                                                                       */
409  /*    dimension :: 0 for horizontal stems (hstem), 1 for vertical ones   */
410  /*                 (vstem).                                              */
411  /*                                                                       */
412  /*    count     :: The number of stems.                                  */
413  /*                                                                       */
414  /*    coords    :: An array of "count" (position,length) pairs.          */
415  /*                                                                       */
416  /* @note:                                                                */
417  /*    Use vertical coordinates (y) for horizontal stems (dim=0).  Use    */
418  /*    horizontal coordinates (x) for vertical stems (dim=1).             */
419  /*                                                                       */
420  /*    There are "2*count" elements in the "coords" aray.  Each even      */
421  /*    element is an absolute position in font units, each odd element is */
422  /*    a length in font units.                                            */
423  /*                                                                       */
424  /*    A length can be negative, in which case it must be either -20 or   */
425  /*    -21.  It will be interpreted as a "ghost" stem, according to the   */
426  /*    Type 1 specification.                                              */
427  /*                                                                       */
428  typedef void
429  (*T2_Hints_StemsFunc)( T2_Hints   hints,
430                         FT_UInt    dimension,
431                         FT_UInt    count,
432                         FT_Fixed*  coordinates );
433
434
435  /*************************************************************************/
436  /*                                                                       */
437  /* @functype:                                                            */
438  /*    T2_Hints_MaskFunc                                                  */
439  /*                                                                       */
440  /* @description:                                                         */
441  /*    A method of the @T2_Hints class used to set a given hintmask       */
442  /*    (this corresponds to the "hintmask" Type 2 operator).              */
443  /*                                                                       */
444  /* @input:                                                               */
445  /*    hints     :: A handle to the Type 2 hints recorder.                */
446  /*                                                                       */
447  /*    end_point :: The glyph index of the last point to which the        */
448  /*                 previously defined/activated hints apply.             */
449  /*                                                                       */
450  /*    bit_count :: The number of bits in the hint mask.                  */
451  /*                                                                       */
452  /*    bytes     :: An array of bytes modelling the hint mask.            */
453  /*                                                                       */
454  /* @note:                                                                */
455  /*    If the hintmask starts the charstring (before any glyph point      */
456  /*    definition), the value of "end_point" should be 0.                 */
457  /*                                                                       */
458  /*    "bit_count" is the number of meaningful bits in the "bytes" array; */
459  /*    it must be equal to the total number of hints defined so far       */
460  /*    (i.e. horizontal+verticals).                                       */
461  /*                                                                       */
462  /*    The "bytes" array can come directly from the Type 2 charstring and */
463  /*    respects the same format.                                          */
464  /*                                                                       */
465  typedef void
466  (*T2_Hints_MaskFunc)( T2_Hints        hints,
467                        FT_UInt         end_point,
468                        FT_UInt         bit_count,
469                        const FT_Byte*  bytes );
470
471
472  /*************************************************************************/
473  /*                                                                       */
474  /* @functype:                                                            */
475  /*    T2_Hints_CounterFunc                                               */
476  /*                                                                       */
477  /* @description:                                                         */
478  /*    A method of the @T2_Hints class used to set a given counter mask   */
479  /*    (this corresponds to the "hintmask" Type 2 operator).              */
480  /*                                                                       */
481  /* @input:                                                               */
482  /*    hints     :: A handle to the Type 2 hints recorder.                */
483  /*                                                                       */
484  /*    end_point :: A glyph index of the last point to which the          */
485  /*                 previously defined/active hints apply.                */
486  /*                                                                       */
487  /*    bit_count :: The number of bits in the hint mask.                  */
488  /*                                                                       */
489  /*    bytes     :: An array of bytes modelling the hint mask.            */
490  /*                                                                       */
491  /* @note:                                                                */
492  /*    If the hintmask starts the charstring (before any glyph point      */
493  /*    definition), the value of "end_point" should be 0.                 */
494  /*                                                                       */
495  /*    "bit_count" is the number of meaningful bits in the "bytes" array; */
496  /*    it must be equal to the total number of hints defined so far       */
497  /*    (i.e. horizontal+verticals).                                       */
498  /*                                                                       */
499  /*    The "bytes" array can come directly from the Type 2 charstring and */
500  /*    respects the same format.                                          */
501  /*                                                                       */
502  typedef void
503  (*T2_Hints_CounterFunc)( T2_Hints        hints,
504                           FT_UInt         bit_count,
505                           const FT_Byte*  bytes );
506
507
508  /*************************************************************************/
509  /*                                                                       */
510  /* @functype:                                                            */
511  /*    T2_Hints_CloseFunc                                                 */
512  /*                                                                       */
513  /* @description:                                                         */
514  /*    A method of the @T2_Hints class used to close a hint recording     */
515  /*    session.                                                           */
516  /*                                                                       */
517  /* @input:                                                               */
518  /*    hints     :: A handle to the Type 2 hints recorder.                */
519  /*                                                                       */
520  /*    end_point :: The index of the last point in the input glyph.       */
521  /*                                                                       */
522  /* @return:                                                              */
523  /*    FreeType error code.  0 means success.                             */
524  /*                                                                       */
525  /* @note:                                                                */
526  /*    The error code will be set to indicate that an error occured       */
527  /*    during the recording session.                                      */
528  /*                                                                       */
529  typedef FT_Error
530  (*T2_Hints_CloseFunc)( T2_Hints  hints,
531                         FT_UInt   end_point );
532
533
534  /*************************************************************************/
535  /*                                                                       */
536  /* @functype:                                                            */
537  /*    T2_Hints_ApplyFunc                                                 */
538  /*                                                                       */
539  /* @description:                                                         */
540  /*    A method of the @T2_Hints class used to apply hints to the         */
541  /*    corresponding glyph outline.  Must be called after the "close"     */
542  /*    method.                                                            */
543  /*                                                                       */
544  /* @input:                                                               */
545  /*    hints     :: A handle to the Type 2 hints recorder.                */
546  /*                                                                       */
547  /*    outline   :: A pointer to the target outline descriptor.           */
548  /*                                                                       */
549  /*    globals   :: The hinter globals for this font.                     */
550  /*                                                                       */
551  /*    hint_mode :: Hinting information.                                  */
552  /*                                                                       */
553  /* @return:                                                              */
554  /*   FreeType error code.  0 means success.                              */
555  /*                                                                       */
556  /* @note:                                                                */
557  /*    On input, all points within the outline are in font coordinates.   */
558  /*    On output, they are in 1/64th of pixels.                           */
559  /*                                                                       */
560  /*    The scaling transformation is taken from the "globals" object      */
561  /*    which must correspond to the same font than the glyph.             */
562  /*                                                                       */
563  typedef FT_Error
564  (*T2_Hints_ApplyFunc)( T2_Hints        hints,
565                         FT_Outline*     outline,
566                         PSH_Globals     globals,
567                         FT_Render_Mode  hint_mode );
568
569
570  /*************************************************************************/
571  /*                                                                       */
572  /* @struct:                                                              */
573  /*    T2_Hints_FuncsRec                                                  */
574  /*                                                                       */
575  /* @description:                                                         */
576  /*    The structure used to provide the API to @T2_Hints objects.        */
577  /*                                                                       */
578  /* @fields:                                                              */
579  /*    hints    :: A handle to the T2 hints recorder object.              */
580  /*                                                                       */
581  /*    open     :: The function to open a recording session.              */
582  /*                                                                       */
583  /*    close    :: The function to close a recording session.             */
584  /*                                                                       */
585  /*    stems    :: The function to set the dimension's stems table.       */
586  /*                                                                       */
587  /*    hintmask :: The function to set hint masks.                        */
588  /*                                                                       */
589  /*    counter  :: The function to set counter masks.                     */
590  /*                                                                       */
591  /*    apply    :: The function to apply the hints on the corresponding   */
592  /*                glyph outline.                                         */
593  /*                                                                       */
594  typedef struct  T2_Hints_FuncsRec_
595  {
596    T2_Hints              hints;
597    T2_Hints_OpenFunc     open;
598    T2_Hints_CloseFunc    close;
599    T2_Hints_StemsFunc    stems;
600    T2_Hints_MaskFunc     hintmask;
601    T2_Hints_CounterFunc  counter;
602    T2_Hints_ApplyFunc    apply;
603
604  } T2_Hints_FuncsRec;
605
606
607  /* */
608
609
610  typedef struct  PSHinter_Interface_
611  {
612    PSH_Globals_Funcs  (*get_globals_funcs)( FT_Module  module );
613    T1_Hints_Funcs     (*get_t1_funcs)     ( FT_Module  module );
614    T2_Hints_Funcs     (*get_t2_funcs)     ( FT_Module  module );
615
616  } PSHinter_Interface;
617
618  typedef PSHinter_Interface*  PSHinter_Service;
619
620
621FT_END_HEADER
622
623#endif /* __PSHINTS_H__ */
624
625
626/* END */
Note: See TracBrowser for help on using the repository browser.