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

📄 psaux.h

📁 读写pdf文件的程序开发库源码,对于编写开发库有所帮助.
💻 H
📖 第 1 页 / 共 2 页
字号:
    FT_Error    (*load_field)( T1_Parser*       parser,                   const T1_Field*  field,                   void**           objects,                   FT_UInt          max_objects,                   FT_ULong*        pflags );    FT_Error    (*load_field_table)( T1_Parser*       parser,                         const T1_Field*  field,                         void**           objects,                         FT_UInt          max_objects,                         FT_ULong*        pflags );  } T1_Parser_Funcs;  /*************************************************************************/  /*                                                                       */  /* <Struct>                                                              */  /*    T1_Parser                                                          */  /*                                                                       */  /* <Description>                                                         */  /*    A T1_Parser is an object used to parse a Type 1 font very quickly. */  /*                                                                       */  /* <Fields>                                                              */  /*    cursor :: The current position in the text.                        */  /*                                                                       */  /*    base   :: Start of the processed text.                             */  /*                                                                       */  /*    limit  :: End of the processed text.                               */  /*                                                                       */  /*    error  :: The last error returned.                                 */  /*                                                                       */  /*    memory :: The object used for memory operations (alloc/realloc).   */  /*                                                                       */  /*    funcs  :: A table of functions for the parser.                     */  /*                                                                       */  struct T1_Parser_  {    FT_Byte*         cursor;    FT_Byte*         base;    FT_Byte*         limit;    FT_Error         error;    FT_Memory        memory;    T1_Parser_Funcs  funcs;  };  /*************************************************************************/  /*************************************************************************/  /*****                                                               *****/  /*****                         T1 BUILDER                            *****/  /*****                                                               *****/  /*************************************************************************/  /*************************************************************************/  typedef struct T1_Builder_  T1_Builder;  typedef FT_Error  (*T1_Builder_Check_Points_Func)( T1_Builder*  builder,                                  FT_Int       count );  typedef void  (*T1_Builder_Add_Point_Func)( T1_Builder*  builder,                                FT_Pos       x,                                FT_Pos       y,                                FT_Byte      flag );  typedef FT_Error  (*T1_Builder_Add_Point1_Func)( T1_Builder*  builder,                                 FT_Pos       x,                                 FT_Pos       y );  typedef FT_Error  (*T1_Builder_Add_Contour_Func)( T1_Builder*  builder );  typedef FT_Error  (*T1_Builder_Start_Point_Func)( T1_Builder*  builder,                                  FT_Pos       x,                                  FT_Pos       y );  typedef void  (*T1_Builder_Close_Contour_Func)( T1_Builder*  builder );  typedef struct  T1_Builder_Funcs_  {    void    (*init)( T1_Builder*   builder,             FT_Face       face,             FT_Size       size,             FT_GlyphSlot  slot,             FT_Bool       hinting );    void    (*done)( T1_Builder*   builder );    T1_Builder_Check_Points_Func   check_points;    T1_Builder_Add_Point_Func      add_point;    T1_Builder_Add_Point1_Func     add_point1;    T1_Builder_Add_Contour_Func    add_contour;    T1_Builder_Start_Point_Func    start_point;    T1_Builder_Close_Contour_Func  close_contour;  } T1_Builder_Funcs;  /*************************************************************************/  /*                                                                       */  /* <Structure>                                                           */  /*    T1_Builder                                                         */  /*                                                                       */  /* <Description>                                                         */  /*     A structure used during glyph loading to store its outline.       */  /*                                                                       */  /* <Fields>                                                              */  /*    memory       :: The current memory object.                         */  /*                                                                       */  /*    face         :: The current face object.                           */  /*                                                                       */  /*    glyph        :: The current glyph slot.                            */  /*                                                                       */  /*    loader       :: XXX                                                */  /*                                                                       */  /*    base         :: The base glyph outline.                            */  /*                                                                       */  /*    current      :: The current glyph outline.                         */  /*                                                                       */  /*    max_points   :: maximum points in builder outline                  */  /*                                                                       */  /*    max_contours :: Maximal number of contours in builder outline.     */  /*                                                                       */  /*    last         :: The last point position.                           */  /*                                                                       */  /*    scale_x      :: The horizontal scale (FUnits to sub-pixels).       */  /*                                                                       */  /*    scale_y      :: The vertical scale (FUnits to sub-pixels).         */  /*                                                                       */  /*    pos_x        :: The horizontal translation (if composite glyph).   */  /*                                                                       */  /*    pos_y        :: The vertical translation (if composite glyph).     */  /*                                                                       */  /*    left_bearing :: The left side bearing point.                       */  /*                                                                       */  /*    advance      :: The horizontal advance vector.                     */  /*                                                                       */  /*    bbox         :: Unused.                                            */  /*                                                                       */  /*    path_begun   :: A flag which indicates that a new path has begun.  */  /*                                                                       */  /*    load_points  :: If this flag is not set, no points are loaded.     */  /*                                                                       */  /*    no_recurse   :: Set but not used.                                  */  /*                                                                       */  /*    error        :: An error code that is only used to report memory   */  /*                    allocation problems.                               */  /*                                                                       */  /*    metrics_only :: A boolean indicating that we only want to compute  */  /*                    the metrics of a given glyph, not load all of its  */  /*                    points.                                            */  /*                                                                       */  /*    funcs        :: An array of function pointers for the builder.     */  /*                                                                       */  struct  T1_Builder_  {    FT_Memory         memory;    FT_Face           face;    FT_GlyphSlot      glyph;    FT_GlyphLoader*   loader;    FT_Outline*       base;    FT_Outline*       current;    FT_Vector         last;    FT_Fixed          scale_x;    FT_Fixed          scale_y;    FT_Pos            pos_x;    FT_Pos            pos_y;    FT_Vector         left_bearing;    FT_Vector         advance;    FT_BBox           bbox;          /* bounding box */    FT_Bool           path_begun;    FT_Bool           load_points;    FT_Bool           no_recurse;    FT_Bool           shift;    FT_Error          error;         /* only used for memory errors */    FT_Bool           metrics_only;    void*             hints_funcs;    /* hinter-specific */    void*             hints_globals;  /* hinter-specific */    T1_Builder_Funcs  funcs;        };  /*************************************************************************/  /*************************************************************************/  /*****                                                               *****/  /*****                         T1 DECODER                            *****/  /*****                                                               *****/  /*************************************************************************/  /*************************************************************************/#if 0  /*************************************************************************/  /*                                                                       */  /* T1_MAX_SUBRS_CALLS details the maximum number of nested sub-routine   */  /* calls during glyph loading.                                           */  /*                                                                       */#define T1_MAX_SUBRS_CALLS  8  /*************************************************************************/  /*                                                                       */  /* T1_MAX_CHARSTRING_OPERANDS is the charstring stack's capacity.  A     */  /* minimum of 16 is required.                                            */  /*                                                                       */#define T1_MAX_CHARSTRINGS_OPERANDS  32#endif /* 0 */  typedef struct  T1_Decoder_Zone_  {    FT_Byte*  cursor;    FT_Byte*  base;    FT_Byte*  limit;  } T1_Decoder_Zone;  typedef struct T1_Decoder_        T1_Decoder;  typedef struct T1_Decoder_Funcs_  T1_Decoder_Funcs;  typedef FT_Error  (*T1_Decoder_Callback)( T1_Decoder*  decoder,                          FT_UInt      glyph_index );  struct  T1_Decoder_Funcs_  {    FT_Error    (*init) ( T1_Decoder*          decoder,              FT_Face              face,              FT_Size              size,              FT_GlyphSlot         slot,              FT_Byte**            glyph_names,              T1_Blend*            blend,              FT_Bool              hinting,              T1_Decoder_Callback  callback );    void    (*done) ( T1_Decoder*  decoder );    FT_Error    (*parse_charstrings)( T1_Decoder*  decoder,                          FT_Byte*     base,                          FT_UInt      len );  };  struct  T1_Decoder_  {    T1_Builder           builder;    FT_Long              stack[T1_MAX_CHARSTRINGS_OPERANDS];    FT_Long*             top;    T1_Decoder_Zone      zones[T1_MAX_SUBRS_CALLS + 1];    T1_Decoder_Zone*     zone;    PSNames_Interface*   psnames;      /* for seac */    FT_UInt              num_glyphs;    FT_Byte**            glyph_names;    FT_Int               lenIV;        /* internal for sub routine calls */    FT_UInt              num_subrs;    FT_Byte**            subrs;    FT_Int*              subrs_len;    /* array of subrs length (optional) */    FT_Matrix            font_matrix;    FT_Vector            font_offset;    FT_Int               flex_state;    FT_Int               num_flex_vectors;    FT_Vector            flex_vectors[7];    T1_Blend*            blend;       /* for multiple master support */    T1_Decoder_Callback  parse_callback;    T1_Decoder_Funcs     funcs;  };  /*************************************************************************/  /*************************************************************************/  /*****                                                               *****/  /*****                        PSAux Module Interface                 *****/  /*****                                                               *****/  /*************************************************************************/  /*************************************************************************/  typedef struct  PSAux_Interface_  {    const PS_Table_Funcs*    ps_table_funcs;    const T1_Parser_Funcs*   t1_parser_funcs;    const T1_Builder_Funcs*  t1_builder_funcs;    const T1_Decoder_Funcs*  t1_decoder_funcs;    void    (*t1_decrypt)( FT_Byte*   buffer,                   FT_Offset  length,                   FT_UShort  seed );  } PSAux_Interface;FT_END_HEADER#endif /* __PSAUX_H__ *//* END */

⌨️ 快捷键说明

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