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