xref: /inferno-os/libfreetype/cffcmap.h (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
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 */
89