xref: /inferno-os/libfreetype/cffcmap.h (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1*37da2899SCharles.Forsyth /***************************************************************************/
2*37da2899SCharles.Forsyth /*                                                                         */
3*37da2899SCharles.Forsyth /*  cffcmap.h                                                              */
4*37da2899SCharles.Forsyth /*                                                                         */
5*37da2899SCharles.Forsyth /*    CFF character mapping table (cmap) support (specification).          */
6*37da2899SCharles.Forsyth /*                                                                         */
7*37da2899SCharles.Forsyth /*  Copyright 2002 by                                                      */
8*37da2899SCharles.Forsyth /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9*37da2899SCharles.Forsyth /*                                                                         */
10*37da2899SCharles.Forsyth /*  This file is part of the FreeType project, and may only be used,       */
11*37da2899SCharles.Forsyth /*  modified, and distributed under the terms of the FreeType project      */
12*37da2899SCharles.Forsyth /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
13*37da2899SCharles.Forsyth /*  this file you indicate that you have read the license and              */
14*37da2899SCharles.Forsyth /*  understand and accept it fully.                                        */
15*37da2899SCharles.Forsyth /*                                                                         */
16*37da2899SCharles.Forsyth /***************************************************************************/
17*37da2899SCharles.Forsyth 
18*37da2899SCharles.Forsyth 
19*37da2899SCharles.Forsyth #ifndef __CFFCMAP_H__
20*37da2899SCharles.Forsyth #define __CFFCMAP_H__
21*37da2899SCharles.Forsyth 
22*37da2899SCharles.Forsyth #include "cffobjs.h"
23*37da2899SCharles.Forsyth 
24*37da2899SCharles.Forsyth FT_BEGIN_HEADER
25*37da2899SCharles.Forsyth 
26*37da2899SCharles.Forsyth 
27*37da2899SCharles.Forsyth   /*************************************************************************/
28*37da2899SCharles.Forsyth   /*************************************************************************/
29*37da2899SCharles.Forsyth   /*****                                                               *****/
30*37da2899SCharles.Forsyth   /*****          TYPE1 STANDARD (AND EXPERT) ENCODING CMAPS           *****/
31*37da2899SCharles.Forsyth   /*****                                                               *****/
32*37da2899SCharles.Forsyth   /*************************************************************************/
33*37da2899SCharles.Forsyth   /*************************************************************************/
34*37da2899SCharles.Forsyth 
35*37da2899SCharles.Forsyth   /* standard (and expert) encoding cmaps */
36*37da2899SCharles.Forsyth   typedef struct CFF_CMapStdRec_*  CFF_CMapStd;
37*37da2899SCharles.Forsyth 
38*37da2899SCharles.Forsyth   typedef struct  CFF_CMapStdRec_
39*37da2899SCharles.Forsyth   {
40*37da2899SCharles.Forsyth     FT_CMapRec  cmap;
41*37da2899SCharles.Forsyth     FT_UInt     count;
42*37da2899SCharles.Forsyth     FT_UShort*  gids;   /* up to 256 elements */
43*37da2899SCharles.Forsyth 
44*37da2899SCharles.Forsyth   } CFF_CMapStdRec;
45*37da2899SCharles.Forsyth 
46*37da2899SCharles.Forsyth 
47*37da2899SCharles.Forsyth   FT_CALLBACK_TABLE const FT_CMap_ClassRec
48*37da2899SCharles.Forsyth   cff_cmap_encoding_class_rec;
49*37da2899SCharles.Forsyth 
50*37da2899SCharles.Forsyth 
51*37da2899SCharles.Forsyth   /*************************************************************************/
52*37da2899SCharles.Forsyth   /*************************************************************************/
53*37da2899SCharles.Forsyth   /*****                                                               *****/
54*37da2899SCharles.Forsyth   /*****               CFF SYNTHETIC UNICODE ENCODING CMAP             *****/
55*37da2899SCharles.Forsyth   /*****                                                               *****/
56*37da2899SCharles.Forsyth   /*************************************************************************/
57*37da2899SCharles.Forsyth   /*************************************************************************/
58*37da2899SCharles.Forsyth 
59*37da2899SCharles.Forsyth   /* unicode (synthetic) cmaps */
60*37da2899SCharles.Forsyth   typedef struct CFF_CMapUnicodeRec_*  CFF_CMapUnicode;
61*37da2899SCharles.Forsyth 
62*37da2899SCharles.Forsyth   typedef struct  CFF_CMapUniPairRec_
63*37da2899SCharles.Forsyth   {
64*37da2899SCharles.Forsyth     FT_UInt32  unicode;
65*37da2899SCharles.Forsyth     FT_UInt    gindex;
66*37da2899SCharles.Forsyth 
67*37da2899SCharles.Forsyth   } CFF_CMapUniPairRec, *CFF_CMapUniPair;
68*37da2899SCharles.Forsyth 
69*37da2899SCharles.Forsyth 
70*37da2899SCharles.Forsyth   typedef struct  CFF_CMapUnicodeRec_
71*37da2899SCharles.Forsyth   {
72*37da2899SCharles.Forsyth     FT_CMapRec       cmap;
73*37da2899SCharles.Forsyth     FT_UInt          num_pairs;
74*37da2899SCharles.Forsyth     CFF_CMapUniPair  pairs;
75*37da2899SCharles.Forsyth 
76*37da2899SCharles.Forsyth   } CFF_CMapUnicodeRec;
77*37da2899SCharles.Forsyth 
78*37da2899SCharles.Forsyth 
79*37da2899SCharles.Forsyth   FT_CALLBACK_TABLE const FT_CMap_ClassRec
80*37da2899SCharles.Forsyth   cff_cmap_unicode_class_rec;
81*37da2899SCharles.Forsyth 
82*37da2899SCharles.Forsyth 
83*37da2899SCharles.Forsyth FT_END_HEADER
84*37da2899SCharles.Forsyth 
85*37da2899SCharles.Forsyth #endif /* __CFFCMAP_H__ */
86*37da2899SCharles.Forsyth 
87*37da2899SCharles.Forsyth 
88*37da2899SCharles.Forsyth /* END */
89