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