• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /***************************************************************************/
2 /*                                                                         */
3 /*  t1cmap.h                                                               */
4 /*                                                                         */
5 /*    Type 1 character map support (specification).                        */
6 /*                                                                         */
7 /*  Copyright 2002-2018 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 T1CMAP_H_
20 #define T1CMAP_H_
21 
22 #include <ft2build.h>
23 #include FT_INTERNAL_OBJECTS_H
24 #include FT_INTERNAL_TYPE1_TYPES_H
25 
26 FT_BEGIN_HEADER
27 
28 
29   /*************************************************************************/
30   /*************************************************************************/
31   /*****                                                               *****/
32   /*****          TYPE1 STANDARD (AND EXPERT) ENCODING CMAPS           *****/
33   /*****                                                               *****/
34   /*************************************************************************/
35   /*************************************************************************/
36 
37   /* standard (and expert) encoding cmaps */
38   typedef struct T1_CMapStdRec_*  T1_CMapStd;
39 
40   typedef struct  T1_CMapStdRec_
41   {
42     FT_CMapRec                cmap;
43 
44     const FT_UShort*          code_to_sid;
45     PS_Adobe_Std_StringsFunc  sid_to_string;
46 
47     FT_UInt                   num_glyphs;
48     const char* const*        glyph_names;
49 
50   } T1_CMapStdRec;
51 
52 
53   FT_CALLBACK_TABLE const FT_CMap_ClassRec
54   t1_cmap_standard_class_rec;
55 
56   FT_CALLBACK_TABLE const FT_CMap_ClassRec
57   t1_cmap_expert_class_rec;
58 
59 
60   /*************************************************************************/
61   /*************************************************************************/
62   /*****                                                               *****/
63   /*****                  TYPE1 CUSTOM ENCODING CMAP                   *****/
64   /*****                                                               *****/
65   /*************************************************************************/
66   /*************************************************************************/
67 
68   typedef struct T1_CMapCustomRec_*  T1_CMapCustom;
69 
70   typedef struct  T1_CMapCustomRec_
71   {
72     FT_CMapRec  cmap;
73     FT_UInt     first;
74     FT_UInt     count;
75     FT_UShort*  indices;
76 
77   } T1_CMapCustomRec;
78 
79 
80   FT_CALLBACK_TABLE const FT_CMap_ClassRec
81   t1_cmap_custom_class_rec;
82 
83 
84   /*************************************************************************/
85   /*************************************************************************/
86   /*****                                                               *****/
87   /*****             TYPE1 SYNTHETIC UNICODE ENCODING CMAP             *****/
88   /*****                                                               *****/
89   /*************************************************************************/
90   /*************************************************************************/
91 
92   /* unicode (synthetic) cmaps */
93 
94   FT_CALLBACK_TABLE const FT_CMap_ClassRec
95   t1_cmap_unicode_class_rec;
96 
97  /* */
98 
99 
100 FT_END_HEADER
101 
102 #endif /* T1CMAP_H_ */
103 
104 
105 /* END */
106