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