⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ttcmap.h

📁 神龙卡开发原代码
💻 H
字号:
/******************************************************************* * *  ttcmap.h                                                    1.0 * *    TrueType Character Mappings * *  Copyright 1996-1999 by *  David Turner, Robert Wilhelm, and Werner Lemberg. * *  This file is part of the FreeType project, and may only be used *  modified and distributed under the terms of the FreeType project *  license, LICENSE.TXT.  By continuing to use, modify, or distribute *  this file you indicate that you have read the license and *  understand and accept it fully. * * ******************************************************************/#ifndef TTCMAP_H#define TTCMAP_H#include "ttconfig.h"#include "tttypes.h"#ifdef __cplusplus  extern "C" {#endif  /* format 0 */  struct  TCMap0_  {    PByte  glyphIdArray;  };  typedef struct TCMap0_  TCMap0;  typedef TCMap0*         PCMap0;  /* format 2 */  struct  TCMap2SubHeader_  {    UShort  firstCode;      /* first valid low byte         */    UShort  entryCount;     /* number of valid low bytes    */    Short   idDelta;        /* delta value to glyphIndex    */    UShort  idRangeOffset;  /* offset from here to 1st code */  };  typedef struct TCMap2SubHeader_  TCMap2SubHeader;  typedef TCMap2SubHeader*         PCMap2SubHeader;  struct  TCMap2_  {    PUShort subHeaderKeys;    /* high byte mapping table     */    /* value = subHeader index * 8 */    PCMap2SubHeader  subHeaders;    PUShort          glyphIdArray;    UShort           numGlyphId;        /* control value */  };  typedef struct TCMap2_  TCMap2;  typedef TCMap2*         PCMap2;  /* format 4 */  struct  TCMap4Segment_  {    UShort  endCount;    UShort  startCount;    Short   idDelta;        /* in the specs defined as UShort but the                               example there gives negative values... */    UShort  idRangeOffset;  };  typedef struct TCMap4Segment_  TCMap4Segment;  typedef TCMap4Segment*         PCMap4Segment;  struct  TCMap4_  {    UShort  segCountX2;     /* number of segments * 2       */    UShort  searchRange;    /* these parameters can be used */    UShort  entrySelector;  /* for a binary search          */    UShort  rangeShift;    PCMap4Segment  segments;    PUShort        glyphIdArray;    UShort         numGlyphId;          /* control value */  };  typedef struct TCMap4_  TCMap4;  typedef TCMap4*         PCMap4;  /* format 6 */  struct  TCMap6_  {    UShort   firstCode;      /* first character code of subrange      */    UShort   entryCount;     /* number of character codes in subrange */    PUShort  glyphIdArray;  };  typedef struct TCMap6_  TCMap6;  typedef TCMap6*         PCMap6;  /* charmap table */  struct  TCMapTable_  {    UShort  platformID;    UShort  platformEncodingID;    UShort  format;    UShort  length;    UShort  version;    Bool    loaded;    ULong   offset;    union    {      TCMap0  cmap0;      TCMap2  cmap2;      TCMap4  cmap4;      TCMap6  cmap6;    } c;  };  typedef struct TCMapTable_  TCMapTable;  typedef TCMapTable*         PCMapTable;  /* Load character mappings directory when face is loaded. */  /* The mappings themselves are only loaded on demand.     */  LOCAL_DEF  TT_Error  CharMap_Load( PCMapTable  table,                          TT_Stream  input );  /* Destroy one character mapping table */  LOCAL_DEF  TT_Error  CharMap_Free( PCMapTable  table );  /* Use character mapping table to perform mapping */  LOCAL_DEF  UShort  CharMap_Index( PCMapTable  cmap,                         UShort      charCode );  /* NOTE: The PFace type isn't defined at this point */#ifdef __cplusplus  }#endif#endif /* TTCMAP_H *//* END */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -