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

📄 ttobjs.h

📁 奇趣公司比较新的qt/emd版本
💻 H
📖 第 1 页 / 共 2 页
字号:
/***************************************************************************//*                                                                         *//*  ttobjs.h                                                               *//*                                                                         *//*    Objects manager (specification).                                     *//*                                                                         *//*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 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 __TTOBJS_H__#define __TTOBJS_H__#include <ft2build.h>#include FT_INTERNAL_OBJECTS_H#include FT_INTERNAL_TRUETYPE_TYPES_HFT_BEGIN_HEADER  /*************************************************************************/  /*                                                                       */  /* <Type>                                                                */  /*    TT_Driver                                                          */  /*                                                                       */  /* <Description>                                                         */  /*    A handle to a TrueType driver object.                              */  /*                                                                       */  typedef struct TT_DriverRec_*  TT_Driver;  /*************************************************************************/  /*                                                                       */  /* <Type>                                                                */  /*    TT_Instance                                                        */  /*                                                                       */  /* <Description>                                                         */  /*    A handle to a TrueType size object.                                */  /*                                                                       */  typedef struct TT_SizeRec_*  TT_Size;  /*************************************************************************/  /*                                                                       */  /* <Type>                                                                */  /*    TT_GlyphSlot                                                       */  /*                                                                       */  /* <Description>                                                         */  /*    A handle to a TrueType glyph slot object.                          */  /*                                                                       */  /* <Note>                                                                */  /*    This is a direct typedef of FT_GlyphSlot, as there is nothing      */  /*    specific about the TrueType glyph slot.                            */  /*                                                                       */  typedef FT_GlyphSlot  TT_GlyphSlot;  /*************************************************************************/  /*                                                                       */  /* <Struct>                                                              */  /*    TT_GraphicsState                                                   */  /*                                                                       */  /* <Description>                                                         */  /*    The TrueType graphics state used during bytecode interpretation.   */  /*                                                                       */  typedef struct  TT_GraphicsState_  {    FT_UShort      rp0;    FT_UShort      rp1;    FT_UShort      rp2;    FT_UnitVector  dualVector;    FT_UnitVector  projVector;    FT_UnitVector  freeVector;#ifdef TT_CONFIG_OPTION_UNPATENTED_HINTING    FT_Bool        both_x_axis;#endif    FT_Long        loop;    FT_F26Dot6     minimum_distance;    FT_Int         round_state;    FT_Bool        auto_flip;    FT_F26Dot6     control_value_cutin;    FT_F26Dot6     single_width_cutin;    FT_F26Dot6     single_width_value;    FT_Short       delta_base;    FT_Short       delta_shift;    FT_Byte        instruct_control;    FT_Bool        scan_control;    FT_Int         scan_type;    FT_UShort      gep0;    FT_UShort      gep1;    FT_UShort      gep2;  } TT_GraphicsState;#ifdef TT_USE_BYTECODE_INTERPRETER  FT_LOCAL( void )  tt_glyphzone_done( TT_GlyphZone  zone );  FT_LOCAL( FT_Error )  tt_glyphzone_new( FT_Memory     memory,                    FT_UShort     maxPoints,                    FT_Short      maxContours,                    TT_GlyphZone  zone );#endif /* TT_USE_BYTECODE_INTERPRETER */  /*************************************************************************/  /*                                                                       */  /*  EXECUTION SUBTABLES                                                  */  /*                                                                       */  /*  These sub-tables relate to instruction execution.                    */  /*                                                                       */  /*************************************************************************/#define TT_MAX_CODE_RANGES  3  /*************************************************************************/  /*                                                                       */  /* There can only be 3 active code ranges at once:                       */  /*   - the Font Program                                                  */  /*   - the CVT Program                                                   */  /*   - a glyph's instructions set                                        */  /*                                                                       */  typedef enum  TT_CodeRange_Tag_  {    tt_coderange_none = 0,    tt_coderange_font,    tt_coderange_cvt,    tt_coderange_glyph  } TT_CodeRange_Tag;  typedef struct  TT_CodeRange_  {    FT_Byte*  base;    FT_ULong  size;  } TT_CodeRange;  typedef TT_CodeRange  TT_CodeRangeTable[TT_MAX_CODE_RANGES];  /*************************************************************************/  /*                                                                       */  /* Defines a function/instruction definition record.                     */  /*                                                                       */  typedef struct  TT_DefRecord_  {    FT_Int   range;      /* in which code range is it located? */    FT_Long  start;      /* where does it start?               */    FT_UInt  opc;        /* function #, or instruction code    */    FT_Bool  active;     /* is it active?                      */  } TT_DefRecord, *TT_DefArray;  /*************************************************************************/  /*                                                                       */  /* Subglyph transformation record.                                       */  /*                                                                       */  typedef struct  TT_Transform_  {    FT_Fixed    xx, xy;     /* transformation matrix coefficients */    FT_Fixed    yx, yy;    FT_F26Dot6  ox, oy;     /* offsets        */  } TT_Transform;  /*************************************************************************/  /*                                                                       */  /* Subglyph loading record.  Used to load composite components.          */  /*                                                                       */  typedef struct  TT_SubglyphRec_  {    FT_Long          index;        /* subglyph index; initialized with -1 */    FT_Bool          is_scaled;    /* is the subglyph scaled?             */    FT_Bool          is_hinted;    /* should it be hinted?                */    FT_Bool          preserve_pps; /* preserve phantom points?            */    FT_Long          file_offset;    FT_BBox          bbox;    FT_Pos           left_bearing;    FT_Pos           advance;    TT_GlyphZoneRec  zone;    FT_Long          arg1;         /* first argument                      */    FT_Long          arg2;         /* second argument                     */    FT_UShort        element_flag; /* current load element flag           */    TT_Transform     transform;    /* transformation matrix               */    FT_Vector        pp1, pp2;     /* phantom points (horizontal)         */    FT_Vector        pp3, pp4;     /* phantom points (vertical)           */  } TT_SubGlyphRec, *TT_SubGlyph_Stack;  /*************************************************************************/  /*                                                                       */  /* A note regarding non-squared pixels:                                  */  /*                                                                       */  /* (This text will probably go into some docs at some time; for now, it  */  /*  is kept here to explain some definitions in the TIns_Metrics         */

⌨️ 快捷键说明

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