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