00001 /***************************************************************************/ 00002 /* */ 00003 /* t1cmap.h */ 00004 /* */ 00005 /* Type 1 character map support (specification). */ 00006 /* */ 00007 /* Copyright 2002, 2003, 2006 by */ 00008 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 00009 /* */ 00010 /* This file is part of the FreeType project, and may only be used, */ 00011 /* modified, and distributed under the terms of the FreeType project */ 00012 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 00013 /* this file you indicate that you have read the license and */ 00014 /* understand and accept it fully. */ 00015 /* */ 00016 /***************************************************************************/ 00017 00018 00019 #ifndef __T1CMAP_H__ 00020 #define __T1CMAP_H__ 00021 00022 #include <ft2build.h> 00023 #include FT_INTERNAL_OBJECTS_H 00024 #include FT_INTERNAL_TYPE1_TYPES_H 00025 00026 FT_BEGIN_HEADER 00027 00028 00029 /*************************************************************************/ 00030 /*************************************************************************/ 00031 /***** *****/ 00032 /***** TYPE1 STANDARD (AND EXPERT) ENCODING CMAPS *****/ 00033 /***** *****/ 00034 /*************************************************************************/ 00035 /*************************************************************************/ 00036 00037 /* standard (and expert) encoding cmaps */ 00038 typedef struct T1_CMapStdRec_* T1_CMapStd; 00039 00040 typedef struct T1_CMapStdRec_ 00041 { 00042 FT_CMapRec cmap; 00043 00044 const FT_UShort* code_to_sid; 00045 PS_Adobe_Std_StringsFunc sid_to_string; 00046 00047 FT_UInt num_glyphs; 00048 const char* const* glyph_names; 00049 00050 } T1_CMapStdRec; 00051 00052 00053 FT_CALLBACK_TABLE const FT_CMap_ClassRec 00054 t1_cmap_standard_class_rec; 00055 00056 FT_CALLBACK_TABLE const FT_CMap_ClassRec 00057 t1_cmap_expert_class_rec; 00058 00059 00060 /*************************************************************************/ 00061 /*************************************************************************/ 00062 /***** *****/ 00063 /***** TYPE1 CUSTOM ENCODING CMAP *****/ 00064 /***** *****/ 00065 /*************************************************************************/ 00066 /*************************************************************************/ 00067 00068 typedef struct T1_CMapCustomRec_* T1_CMapCustom; 00069 00070 typedef struct T1_CMapCustomRec_ 00071 { 00072 FT_CMapRec cmap; 00073 FT_UInt first; 00074 FT_UInt count; 00075 FT_UShort* indices; 00076 00077 } T1_CMapCustomRec; 00078 00079 00080 FT_CALLBACK_TABLE const FT_CMap_ClassRec 00081 t1_cmap_custom_class_rec; 00082 00083 00084 /*************************************************************************/ 00085 /*************************************************************************/ 00086 /***** *****/ 00087 /***** TYPE1 SYNTHETIC UNICODE ENCODING CMAP *****/ 00088 /***** *****/ 00089 /*************************************************************************/ 00090 /*************************************************************************/ 00091 00092 /* unicode (synthetic) cmaps */ 00093 00094 FT_CALLBACK_TABLE const FT_CMap_ClassRec 00095 t1_cmap_unicode_class_rec; 00096 00097 /* */ 00098 00099 00100 FT_END_HEADER 00101 00102 #endif /* __T1CMAP_H__ */ 00103 00104 00105 /* END */