update for HEAD-2003050101
[reactos.git] / lib / freetype / src / cff / cffcmap.h
1 /***************************************************************************/
2 /*                                                                         */
3 /*  cffcmap.h                                                              */
4 /*                                                                         */
5 /*    CFF character mapping table (cmap) support (specification).          */
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 __CFFCMAP_H__
20 #define __CFFCMAP_H__
21
22 #include "cffobjs.h"
23
24 FT_BEGIN_HEADER
25
26
27   /*************************************************************************/
28   /*************************************************************************/
29   /*****                                                               *****/
30   /*****          TYPE1 STANDARD (AND EXPERT) ENCODING CMAPS           *****/
31   /*****                                                               *****/
32   /*************************************************************************/
33   /*************************************************************************/
34
35   /* standard (and expert) encoding cmaps */
36   typedef struct CFF_CMapStdRec_*  CFF_CMapStd;
37
38   typedef struct  CFF_CMapStdRec_
39   {
40     FT_CMapRec  cmap;
41     FT_UInt     count;
42     FT_UShort*  gids;   /* up to 256 elements */
43     
44   } CFF_CMapStdRec;
45
46
47   FT_CALLBACK_TABLE const FT_CMap_ClassRec
48   cff_cmap_encoding_class_rec;
49
50   
51   /*************************************************************************/
52   /*************************************************************************/
53   /*****                                                               *****/
54   /*****               CFF SYNTHETIC UNICODE ENCODING CMAP             *****/
55   /*****                                                               *****/
56   /*************************************************************************/
57   /*************************************************************************/
58
59   /* unicode (synthetic) cmaps */
60   typedef struct CFF_CMapUnicodeRec_*  CFF_CMapUnicode;
61
62   typedef struct  CFF_CMapUniPairRec_
63   {
64     FT_UInt32  unicode;
65     FT_UInt    gindex;
66   
67   } CFF_CMapUniPairRec, *CFF_CMapUniPair;
68
69
70   typedef struct  CFF_CMapUnicodeRec_
71   {
72     FT_CMapRec       cmap;
73     FT_UInt          num_pairs;
74     CFF_CMapUniPair  pairs;
75
76   } CFF_CMapUnicodeRec;
77
78
79   FT_CALLBACK_TABLE const FT_CMap_ClassRec
80   cff_cmap_unicode_class_rec;
81
82
83 FT_END_HEADER
84
85 #endif /* __CFFCMAP_H__ */
86
87
88 /* END */