svttcmap.h

Go to the documentation of this file.
00001 /***************************************************************************/
00002 /*                                                                         */
00003 /*  svttcmap.h                                                             */
00004 /*                                                                         */
00005 /*    The FreeType TrueType/sfnt cmap extra information service.           */
00006 /*                                                                         */
00007 /*  Copyright 2003 by                                                      */
00008 /*  Masatake YAMATO, Redhat K.K.                                           */
00009 /*                                                                         */
00010 /*  Copyright 2003, 2008 by                                                */
00011 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
00012 /*                                                                         */
00013 /*  This file is part of the FreeType project, and may only be used,       */
00014 /*  modified, and distributed under the terms of the FreeType project      */
00015 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
00016 /*  this file you indicate that you have read the license and              */
00017 /*  understand and accept it fully.                                        */
00018 /*                                                                         */
00019 /***************************************************************************/
00020 
00021 /* Development of this service is support of
00022    Information-technology Promotion Agency, Japan. */
00023 
00024 #ifndef __SVTTCMAP_H__
00025 #define __SVTTCMAP_H__
00026 
00027 #include FT_INTERNAL_SERVICE_H
00028 #include FT_TRUETYPE_TABLES_H
00029 
00030 
00031 FT_BEGIN_HEADER
00032 
00033 
00034 #define FT_SERVICE_ID_TT_CMAP "tt-cmaps"
00035 
00036 
00037   /*************************************************************************/
00038   /*                                                                       */
00039   /* <Struct>                                                              */
00040   /*    TT_CMapInfo                                                        */
00041   /*                                                                       */
00042   /* <Description>                                                         */
00043   /*    A structure used to store TrueType/sfnt specific cmap information  */
00044   /*    which is not covered by the generic @FT_CharMap structure.  This   */
00045   /*    structure can be accessed with the @FT_Get_TT_CMap_Info function.  */
00046   /*                                                                       */
00047   /* <Fields>                                                              */
00048   /*    language ::                                                        */
00049   /*      The language ID used in Mac fonts.  Definitions of values are in */
00050   /*      freetype/ttnameid.h.                                             */
00051   /*                                                                       */
00052   /*    format ::                                                          */
00053   /*      The cmap format.  OpenType 1.5 defines the formats 0 (byte       */
00054   /*      encoding table), 2~(high-byte mapping through table), 4~(segment */
00055   /*      mapping to delta values), 6~(trimmed table mapping), 8~(mixed    */
00056   /*      16-bit and 32-bit coverage), 10~(trimmed array), 12~(segmented   */
00057   /*      coverage), and 14 (Unicode Variation Sequences).                 */
00058   /*                                                                       */
00059   typedef struct  TT_CMapInfo_
00060   {
00061     FT_ULong language;
00062     FT_Long  format;
00063 
00064   } TT_CMapInfo;
00065 
00066 
00067   typedef FT_Error
00068   (*TT_CMap_Info_GetFunc)( FT_CharMap    charmap,
00069                            TT_CMapInfo  *cmap_info );
00070 
00071 
00072   FT_DEFINE_SERVICE( TTCMaps )
00073   {
00074     TT_CMap_Info_GetFunc  get_cmap_info;
00075   };
00076 
00077 #ifndef FT_CONFIG_OPTION_PIC
00078 
00079 #define FT_DEFINE_SERVICE_TTCMAPSREC(class_, get_cmap_info_)  \
00080   static const FT_Service_TTCMapsRec class_ =                 \
00081   {                                                           \
00082     get_cmap_info_                                            \
00083   };
00084 
00085 #else /* FT_CONFIG_OPTION_PIC */ 
00086 
00087 #define FT_DEFINE_SERVICE_TTCMAPSREC(class_, get_cmap_info_) \
00088   void                                                       \
00089   FT_Init_Class_##class_( FT_Library library,                \
00090                           FT_Service_TTCMapsRec*  clazz)     \
00091   {                                                          \
00092     FT_UNUSED(library);                                      \
00093     clazz->get_cmap_info = get_cmap_info_;                   \
00094   } 
00095 
00096 #endif /* FT_CONFIG_OPTION_PIC */ 
00097 
00098   /* */
00099 
00100 
00101 FT_END_HEADER
00102 
00103 #endif /* __SVTTCMAP_H__ */
00104 
00105 
00106 /* END */

Generated on Tue Jul 5 14:13:40 2011 for ROOT_528-00b_version by  doxygen 1.5.1