ttcmap.h
上传用户:yisoukefu
上传日期:2020-08-09
资源大小:39506k
文件大小:3k
源码类别:

其他游戏

开发平台:

Visual C++

  1. /***************************************************************************/
  2. /*                                                                         */
  3. /*  ttcmap.h                                                               */
  4. /*                                                                         */
  5. /*    TrueType character mapping table (cmap) support (specification).     */
  6. /*                                                                         */
  7. /*  Copyright 2002, 2003, 2004, 2005 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. #ifndef __TTCMAP_H__
  18. #define __TTCMAP_H__
  19. #include <ft2build.h>
  20. #include FT_INTERNAL_TRUETYPE_TYPES_H
  21. #include FT_INTERNAL_VALIDATE_H
  22. #include FT_SERVICE_TT_CMAP_H
  23. FT_BEGIN_HEADER
  24. #define TT_CMAP_FLAG_UNSORTED     1
  25. #define TT_CMAP_FLAG_OVERLAPPING  2
  26.   typedef struct  TT_CMapRec_
  27.   {
  28.     FT_CMapRec  cmap;
  29.     FT_Byte*    data;           /* pointer to in-memory cmap table */
  30.     FT_Int      flags;          /* for format 4 only               */
  31.   } TT_CMapRec, *TT_CMap;
  32.   typedef const struct TT_CMap_ClassRec_*  TT_CMap_Class;
  33.   typedef FT_Error
  34.   (*TT_CMap_ValidateFunc)( FT_Byte*      data,
  35.                            FT_Validator  valid );
  36.   typedef struct  TT_CMap_ClassRec_
  37.   {
  38.     FT_CMap_ClassRec      clazz;
  39.     FT_UInt               format;
  40.     TT_CMap_ValidateFunc  validate;
  41.     TT_CMap_Info_GetFunc  get_cmap_info;
  42.   } TT_CMap_ClassRec;
  43.   typedef struct  TT_ValidatorRec_
  44.   {
  45.     FT_ValidatorRec  validator;
  46.     FT_UInt          num_glyphs;
  47.   } TT_ValidatorRec, *TT_Validator;
  48. #define TT_VALIDATOR( x )          ((TT_Validator)( x ))
  49. #define TT_VALID_GLYPH_COUNT( x )  TT_VALIDATOR( x )->num_glyphs
  50.   FT_LOCAL( FT_Error )
  51.   tt_face_build_cmaps( TT_Face  face );
  52.   /* used in tt-cmaps service */
  53.   FT_LOCAL( FT_Error )
  54.   tt_get_cmap_info( FT_CharMap    charmap,
  55.                     TT_CMapInfo  *cmap_info );
  56. FT_END_HEADER
  57. #endif /* __TTCMAP_H__ */
  58. /* END */