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