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

📄 ftxopen.h

📁 神龙卡开发原代码
💻 H
字号:
/******************************************************************* * *  ftxopen.h * *    TrueType Open support. * *  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. * *  This file should be included by the application.  Nevertheless, *  the table specific APIs (and structures) are located in files like *  ftxgsub.h or ftxgpos.h; these header files are read by ftxopen.h . * ******************************************************************/#ifndef FTXOPEN_H#define FTXOPEN_H#include "freetype.h"#ifdef __cplusplusextern "C" {#endif#define TTO_MAX_NESTING_LEVEL  100#define TTO_Err_Invalid_SubTable_Format   0x1000#define TTO_Err_Invalid_SubTable          0x1001#define TTO_Err_Not_Covered               0x1002#define TTO_Err_Too_Many_Nested_Contexts  0x1003  /* Script list related structures */  struct  TTO_LangSys_  {    TT_UShort   LookupOrderOffset;      /* always 0 for TT Open 1.0  */    TT_UShort   ReqFeatureIndex;        /* required FeatureIndex     */    TT_UShort   FeatureCount;           /* number of Feature indices */    TT_UShort*  FeatureIndex;           /* array of Feature indices  */  };  typedef struct TTO_LangSys_  TTO_LangSys;  struct  TTO_LangSysRecord_  {    TT_ULong     LangSysTag;            /* LangSysTag identifier */    TTO_LangSys  LangSys;               /* LangSys table         */  };  typedef struct TTO_LangSysRecord_  TTO_LangSysRecord;  struct  TTO_Script_  {    TTO_LangSys         DefaultLangSys; /* DefaultLangSys table     */    TT_UShort           LangSysCount;   /* number of LangSysRecords */    TTO_LangSysRecord*  LangSysRecord;  /* array of LangSysRecords  */  };  typedef struct TTO_Script_  TTO_Script;  struct  TTO_ScriptRecord_  {    TT_ULong    ScriptTag;              /* ScriptTag identifier */    TTO_Script  Script;                 /* Script table         */  };  typedef struct TTO_ScriptRecord_  TTO_ScriptRecord;  struct  TTO_ScriptList_  {    TT_UShort          ScriptCount;     /* number of ScriptRecords */    TTO_ScriptRecord*  ScriptRecord;    /* array of ScriptRecords  */  };  typedef struct TTO_ScriptList_  TTO_ScriptList;  /* Feature list related structures */  struct TTO_Feature_  {    TT_UShort   FeatureParams;          /* always 0 for TT Open 1.0     */    TT_UShort   LookupListCount;        /* number of LookupList indices */    TT_UShort*  LookupListIndex;        /* array of LookupList indices  */  };  typedef struct TTO_Feature_  TTO_Feature;  struct  TTO_FeatureRecord_  {    TT_ULong     FeatureTag;            /* FeatureTag identifier */    TTO_Feature  Feature;               /* Feature table         */  };  typedef struct TTO_FeatureRecord_  TTO_FeatureRecord;  struct  TTO_FeatureList_  {    TT_UShort           FeatureCount;   /* number of FeatureRecords */    TTO_FeatureRecord*  FeatureRecord;  /* array of FeatureRecords  */  };  typedef struct TTO_FeatureList_  TTO_FeatureList;  /* Lookup list related structures */  struct  TTO_SubTable_;                /* defined below after inclusion                                           of ftxgsub.h and ftxgpos.h    */  typedef struct TTO_SubTable_  TTO_SubTable;  struct  TTO_Lookup_  {    TT_UShort      LookupType;          /* Lookup type         */    TT_UShort      LookupFlag;          /* Lookup qualifiers   */    TT_UShort      SubTableCount;       /* number of SubTables */    TTO_SubTable*  SubTable;            /* array of SubTables  */  };  typedef struct TTO_Lookup_  TTO_Lookup;  /* The `Properties' field is not defined in the TTO specification but     is needed for processing lookups.  If properties[n] is > 0, the     function TT_GSUB_Apply() will process Lookup[n] for glyphs which     have the specific bit not set in the `properties' field of the      input string object.                                               */  struct  TTO_LookupList_  {    TT_UShort    LookupCount;           /* number of Lookups       */    TTO_Lookup*  Lookup;                /* array of Lookup records */    TT_UShort*   Properties;            /* array of flags          */  };  typedef struct TTO_LookupList_  TTO_LookupList;/* Possible LookupFlag bit masks.  `IGNORE_SPECIAL_MARKS' comes from the   OpenType 1.2 specification.                                           */#define IGNORE_BASE_GLYPHS    0x0002#define IGNORE_LIGATURES      0x0004#define IGNORE_MARKS          0x0008#define IGNORE_SPECIAL_MARKS  0xFF00  struct  TTO_CoverageFormat1_  {    TT_UShort   GlyphCount;             /* number of glyphs in GlyphArray */    TT_UShort*  GlyphArray;             /* array of glyph IDs             */  };  typedef struct TTO_CoverageFormat1_  TTO_CoverageFormat1;  struct TTO_RangeRecord_  {    TT_UShort  Start;                   /* first glyph ID in the range */    TT_UShort  End;                     /* last glyph ID in the range  */    TT_UShort  StartCoverageIndex;      /* coverage index of first                                           glyph ID in the range       */  };  typedef struct TTO_RangeRecord_  TTO_RangeRecord;  struct  TTO_CoverageFormat2_  {    TT_UShort         RangeCount;       /* number of RangeRecords */    TTO_RangeRecord*  RangeRecord;      /* array of RangeRecords  */  };  typedef struct TTO_CoverageFormat2_  TTO_CoverageFormat2;  struct  TTO_Coverage_  {    TT_UShort  CoverageFormat;          /* 1 or 2 */    union    {      TTO_CoverageFormat1  cf1;      TTO_CoverageFormat2  cf2;    } cf;  };  typedef struct TTO_Coverage_  TTO_Coverage;  struct  TTO_ClassDefFormat1_  {    TT_UShort   StartGlyph;             /* first glyph ID of the                                           ClassValueArray             */    TT_UShort   GlyphCount;             /* size of the ClassValueArray */    TT_UShort*  ClassValueArray;        /* array of class values       */  };  typedef struct TTO_ClassDefFormat1_  TTO_ClassDefFormat1;  struct  TTO_ClassRangeRecord_  {    TT_UShort  Start;                   /* first glyph ID in the range    */    TT_UShort  End;                     /* last glyph ID in the range     */    TT_UShort  Class;                   /* applied to all glyphs in range */  };  typedef struct TTO_ClassRangeRecord_  TTO_ClassRangeRecord;  struct  TTO_ClassDefFormat2_  {    TT_UShort              ClassRangeCount;                                        /* number of ClassRangeRecords */    TTO_ClassRangeRecord*  ClassRangeRecord;                                        /* array of ClassRangeRecords  */  };  typedef struct TTO_ClassDefFormat2_  TTO_ClassDefFormat2;  /* The `Defined' field is not defined in the TTO specification but     apparently needed for processing fonts like trado.ttf: This font     refers to a class which contains not a single element.  We map such     classes to class 0.                                                 */  struct  TTO_ClassDefinition_  {    TT_Bool    loaded;    TT_Bool*   Defined;                 /* array of Booleans.                                           If Defined[n] is FALSE,                                           class n contains no glyphs. */    TT_UShort  ClassFormat;             /* 1 or 2                      */    union    {      TTO_ClassDefFormat1  cd1;      TTO_ClassDefFormat2  cd2;    } cd;  };  typedef struct TTO_ClassDefinition_  TTO_ClassDefinition;  struct TTO_Device_  {    TT_UShort   StartSize;              /* smallest size to correct      */    TT_UShort   EndSize;                /* largest size to correct       */    TT_UShort   DeltaFormat;            /* DeltaValue array data format:                                           1, 2, or 3                    */    TT_UShort*  DeltaValue;             /* array of compressed data      */  };  typedef struct TTO_Device_  TTO_Device;#include "ftxgdef.h"#include "ftxgsub.h"#include "ftxgpos.h"  struct  TTO_SubTable_  {    union    {      TTO_GSUB_SubTable  gsub;      TTO_GPOS_SubTable  gpos;    } st;  };  enum  TTO_Type_  {    GSUB,    GPOS  };  typedef enum TTO_Type_  TTO_Type;#ifdef __cplusplus}#endif#endif /* FTXOPEN_H *//* END */

⌨️ 快捷键说明

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