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

📄 ftxgpos.h

📁 神龙卡开发原代码
💻 H
📖 第 1 页 / 共 2 页
字号:
  };  typedef struct TTO_LigatureArray_  TTO_LigatureArray;  struct  TTO_MarkLigPos_  {    TT_UShort          PosFormat;       /* always 1                      */    TTO_Coverage       MarkCoverage;    /* mark glyph coverage table     */    TTO_Coverage       LigatureCoverage;                                        /* ligature glyph coverage table */    TT_UShort          ClassCount;      /* number of mark classes        */    TTO_MarkArray      MarkArray;       /* mark array table              */    TTO_LigatureArray  LigatureArray;   /* ligature array table          */  };  typedef struct TTO_MarkLigPos_  TTO_MarkLigPos;  /* LookupType 6 */  struct TTO_Mark2Record_  {    TTO_Anchor*  Mark2Anchor;           /* array of mark glyph anchor                                           tables                     */  };  typedef struct TTO_Mark2Record_  TTO_Mark2Record;  struct TTO_Mark2Array_  {    TT_UShort         Mark2Count;       /* number of Mark2Record tables */    TTO_Mark2Record*  Mark2Record;      /* array of Mark2Record tables  */  };  typedef struct TTO_Mark2Array_  TTO_Mark2Array;  struct TTO_MarkMarkPos_  {    TT_UShort       PosFormat;          /* always 1                         */    TTO_Coverage    Mark1Coverage;      /* first mark glyph coverage table  */    TTO_Coverage    Mark2Coverage;      /* second mark glyph coverave table */    TT_UShort       ClassCount;         /* number of combining mark classes */    TTO_MarkArray   Mark1Array;         /* MarkArray table for first mark   */    TTO_Mark2Array  Mark2Array;         /* MarkArray table for second mark  */  };  typedef struct TTO_MarkMarkPos_  TTO_MarkMarkPos;  /* needed by both lookup type 7 and 8 */  struct  TTO_PosLookupRecord_  {    TT_UShort  SequenceIndex;           /* index into current                                           glyph sequence               */    TT_UShort  LookupListIndex;         /* Lookup to apply to that pos. */  };  typedef struct TTO_PosLookupRecord_  TTO_PosLookupRecord;  /* LookupType 7 */  struct  TTO_PosRule_  {    TT_UShort             GlyphCount;   /* total number of input glyphs     */    TT_UShort             PosCount;     /* number of PosLookupRecord tables */    TT_UShort*            Input;        /* array of input glyph IDs         */    TTO_PosLookupRecord*  PosLookupRecord;                                        /* array of PosLookupRecord tables  */  };  typedef struct TTO_PosRule_  TTO_PosRule;  struct  TTO_PosRuleSet_  {    TT_UShort     PosRuleCount;         /* number of PosRule tables */    TTO_PosRule*  PosRule;              /* array of PosRule tables  */  };  typedef struct TTO_PosRuleSet_  TTO_PosRuleSet;  struct  TTO_ContextPosFormat1_  {    TTO_Coverage     Coverage;          /* Coverage table              */    TT_UShort        PosRuleSetCount;   /* number of PosRuleSet tables */    TTO_PosRuleSet*  PosRuleSet;        /* array of PosRuleSet tables  */  };  typedef struct TTO_ContextPosFormat1_  TTO_ContextPosFormat1;  struct  TTO_PosClassRule_  {    TT_UShort             GlyphCount;   /* total number of context classes  */    TT_UShort             PosCount;     /* number of PosLookupRecord tables */    TT_UShort*            Class;        /* array of classes                 */    TTO_PosLookupRecord*  PosLookupRecord;                                        /* array of PosLookupRecord tables  */  };  typedef struct TTO_PosClassRule_  TTO_PosClassRule;  struct  TTO_PosClassSet_  {    TT_UShort          PosClassRuleCount;                                        /* number of PosClassRule tables */    TTO_PosClassRule*  PosClassRule;    /* array of PosClassRule tables  */  };  typedef struct TTO_PosClassSet_  TTO_PosClassSet;  /* The `MaxContextLength' field is not defined in the TTO specification     but simplifies the implementation of this format.  It holds the     maximal context length used in the context rules.                    */  struct  TTO_ContextPosFormat2_  {    TT_UShort            MaxContextLength;                                        /* maximal context length       */    TTO_Coverage         Coverage;      /* Coverage table               */    TTO_ClassDefinition  ClassDef;      /* ClassDef table               */    TT_UShort            PosClassSetCount;                                        /* number of PosClassSet tables */    TTO_PosClassSet*     PosClassSet;   /* array of PosClassSet tables  */  };  typedef struct TTO_ContextPosFormat2_  TTO_ContextPosFormat2;  struct  TTO_ContextPosFormat3_  {    TT_UShort             GlyphCount;   /* number of input glyphs           */    TT_UShort             PosCount;     /* number of PosLookupRecord tables */    TTO_Coverage*         Coverage;     /* array of Coverage tables         */    TTO_PosLookupRecord*  PosLookupRecord;                                        /* array of PosLookupRecord tables  */  };  typedef struct TTO_ContextPosFormat3_  TTO_ContextPosFormat3;  struct  TTO_ContextPos_  {    TT_UShort  PosFormat;               /* 1, 2, or 3     */    union    {      TTO_ContextPosFormat1  cpf1;      TTO_ContextPosFormat2  cpf2;      TTO_ContextPosFormat3  cpf3;    } cpf;  };  typedef struct TTO_ContextPos_  TTO_ContextPos;  /* LookupType 8 */  struct  TTO_ChainPosRule_  {    TT_UShort             BacktrackGlyphCount;                                        /* total number of backtrack glyphs */    TT_UShort*            Backtrack;    /* array of backtrack glyph IDs     */    TT_UShort             InputGlyphCount;                                        /* total number of input glyphs     */    TT_UShort*            Input;        /* array of input glyph IDs         */    TT_UShort             LookaheadGlyphCount;                                        /* total number of lookahead glyphs */    TT_UShort*            Lookahead;    /* array of lookahead glyph IDs     */    TT_UShort             PosCount;     /* number of PosLookupRecords       */    TTO_PosLookupRecord*  PosLookupRecord;                                        /* array of PosLookupRecords       */  };  typedef struct TTO_ChainPosRule_  TTO_ChainPosRule;  struct  TTO_ChainPosRuleSet_  {    TT_UShort          ChainPosRuleCount;                                        /* number of ChainPosRule tables */    TTO_ChainPosRule*  ChainPosRule;    /* array of ChainPosRule tables  */  };  typedef struct TTO_ChainPosRuleSet_  TTO_ChainPosRuleSet;  struct  TTO_ChainContextPosFormat1_  {    TTO_Coverage          Coverage;     /* Coverage table                   */    TT_UShort             ChainPosRuleSetCount;                                        /* number of ChainPosRuleSet tables */    TTO_ChainPosRuleSet*  ChainPosRuleSet;                                        /* array of ChainPosRuleSet tables  */  };  typedef struct TTO_ChainContextPosFormat1_  TTO_ChainContextPosFormat1;  struct  TTO_ChainPosClassRule_  {    TT_UShort             BacktrackGlyphCount;                                        /* total number of backtrack                                           classes                         */    TT_UShort*            Backtrack;    /* array of backtrack classes      */    TT_UShort             InputGlyphCount;                                        /* total number of context classes */    TT_UShort*            Input;        /* array of context classes        */    TT_UShort             LookaheadGlyphCount;                                        /* total number of lookahead                                           classes                         */    TT_UShort*            Lookahead;    /* array of lookahead classes      */    TT_UShort             PosCount;     /* number of PosLookupRecords      */    TTO_PosLookupRecord*  PosLookupRecord;                                        /* array of substitution lookups   */  };  typedef struct TTO_ChainPosClassRule_  TTO_ChainPosClassRule;  struct  TTO_ChainPosClassSet_  {    TT_UShort               ChainPosClassRuleCount;                                        /* number of ChainPosClassRule                                           tables                      */    TTO_ChainPosClassRule*  ChainPosClassRule;                                        /* array of ChainPosClassRule                                           tables                      */  };  typedef struct TTO_ChainPosClassSet_  TTO_ChainPosClassSet;  /* The `MaxXXXLength' fields are not defined in the TTO specification     but simplifies the implementation of this format.  It holds the     maximal context length used in the specific context rules.         */  struct  TTO_ChainContextPosFormat2_  {    TTO_Coverage           Coverage;    /* Coverage table             */    TT_UShort              MaxBacktrackLength;                                        /* maximal backtrack length   */    TTO_ClassDefinition    BacktrackClassDef;                                        /* BacktrackClassDef table    */    TT_UShort              MaxInputLength;                                        /* maximal input length       */    TTO_ClassDefinition    InputClassDef;                                        /* InputClassDef table        */    TT_UShort              MaxLookaheadLength;                                        /* maximal lookahead length   */    TTO_ClassDefinition    LookaheadClassDef;                                        /* LookaheadClassDef table    */    TT_UShort              ChainPosClassSetCount;                                        /* number of ChainPosClassSet                                           tables                     */    TTO_ChainPosClassSet*  ChainPosClassSet;                                        /* array of ChainPosClassSet                                           tables                     */  };  typedef struct TTO_ChainContextPosFormat2_  TTO_ChainContextPosFormat2;  struct  TTO_ChainContextPosFormat3_  {    TT_UShort             BacktrackGlyphCount;                                        /* number of backtrack glyphs    */    TTO_Coverage*         BacktrackCoverage;                                        /* array of backtrack Coverage                                           tables                        */    TT_UShort             InputGlyphCount;                                        /* number of input glyphs        */    TTO_Coverage*         InputCoverage;                                        /* array of input coverage                                           tables                        */    TT_UShort             LookaheadGlyphCount;                                        /* number of lookahead glyphs    */    TTO_Coverage*         LookaheadCoverage;                                        /* array of lookahead coverage                                           tables                        */    TT_UShort             PosCount;     /* number of PosLookupRecords    */    TTO_PosLookupRecord*  PosLookupRecord;                                        /* array of substitution lookups */  };  typedef struct TTO_ChainContextPosFormat3_  TTO_ChainContextPosFormat3;  struct  TTO_ChainContextPos_  {    TT_UShort  PosFormat;             /* 1, 2, or 3 */    union    {      TTO_ChainContextPosFormat1  ccpf1;      TTO_ChainContextPosFormat2  ccpf2;      TTO_ChainContextPosFormat3  ccpf3;    } ccpf;  };  typedef struct TTO_ChainContextPos_  TTO_ChainContextPos;  union  TTO_GPOS_SubTable_  {    TTO_SinglePos        single;    TTO_PairPos          pair;    TTO_CursivePos       cursive;    TTO_MarkBasePos      markbase;    TTO_MarkLigPos       marklig;    TTO_MarkMarkPos      markmark;    TTO_ContextPos       context;    TTO_ChainContextPos  chain;  };  typedef union TTO_GPOS_SubTable_  TTO_GPOS_SubTable;  /* finally, the GPOS API */  EXPORT_DEF  TT_Error  TT_Init_GPOS_Extension( TT_Engine  engine );  EXPORT_DEF  TT_Error  TT_Load_GPOS_Table( TT_Face          face,                                TTO_GPOSHeader*  gpos,                                TTO_GDEFHeader*  gdef );  EXPORT_DEF  TT_Error  TT_GPOS_Select_Script( TTO_GPOSHeader*  gpos,                                   TT_ULong         script_tag,                                   TT_UShort*       script_index );  EXPORT_DEF  TT_Error  TT_GPOS_Select_Language( TTO_GPOSHeader*  gpos,                                     TT_ULong         language_tag,                                     TT_UShort        script_index,                                     TT_UShort*       language_index,                                     TT_UShort*       req_feature_index );  EXPORT_DEF  TT_Error  TT_GPOS_Select_Feature( TTO_GPOSHeader*  gpos,                                    TT_ULong         feature_tag,                                    TT_UShort        script_index,                                    TT_UShort        language_index,                                    TT_UShort*       feature_index );  EXPORT_DEF  TT_Error  TT_GPOS_Query_Scripts( TTO_GPOSHeader*  gpos,                                   TT_ULong**       script_tag_list );  EXPORT_DEF  TT_Error  TT_GPOS_Query_Languages( TTO_GPOSHeader*  gpos,                                     TT_UShort        script_index,                                     TT_ULong**       language_tag_list );  EXPORT_DEF  TT_Error  TT_GPOS_Query_Features( TTO_GPOSHeader*  gpos,                                    TT_UShort        script_index,                                    TT_UShort        language_index,                                    TT_ULong**       feature_tag_list );  EXPORT_DEF  TT_Error  TT_GPOS_Add_Feature( TTO_GPOSHeader*  gpos,                                 TT_UShort        feature_index,                                 TT_UShort        property );  EXPORT_DEF  TT_Error  TT_GPOS_Clear_Features( TTO_GPOSHeader*  gpos );#ifdef __cplusplus}#endif#endif /* FTXGPOS_H *//* END */

⌨️ 快捷键说明

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