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

📄 psaux.h

📁 附上freetype2.1.10的源代码,这个和上面传的是一起的
💻 H
📖 第 1 页 / 共 2 页
字号:
                   FT_ULong*       pflags );    FT_Error    (*load_field_table)( PS_Parser       parser,                         const T1_Field  field,                         void**          objects,                         FT_UInt         max_objects,                         FT_ULong*       pflags );  } PS_Parser_FuncsRec;  /*************************************************************************/  /*                                                                       */  /* <Struct>                                                              */  /*    PS_ParserRec                                                       */  /*                                                                       */  /* <Description>                                                         */  /*    A PS_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.                     */  /*                                                                       */  typedef struct  PS_ParserRec_  {    FT_Byte*   cursor;    FT_Byte*   base;    FT_Byte*   limit;    FT_Error   error;    FT_Memory  memory;    PS_Parser_FuncsRec  funcs;  } PS_ParserRec;  /*************************************************************************/  /*************************************************************************/  /*****                                                               *****/  /*****                         T1 BUILDER                            *****/  /*****                                                               *****/  /*************************************************************************/  /*************************************************************************/  typedef struct T1_BuilderRec_*  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 const struct T1_Builder_FuncsRec_*  T1_Builder_Funcs;  typedef struct  T1_Builder_FuncsRec_  {    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_FuncsRec;  /* an enumeration type to handle charstring parsing states */  typedef enum  T1_ParseState_  {    T1_Parse_Start,    T1_Parse_Have_Width,    T1_Parse_Have_Moveto,    T1_Parse_Have_Path  } T1_ParseState;  /*************************************************************************/  /*                                                                       */  /* <Structure>                                                           */  /*    T1_BuilderRec                                                      */  /*                                                                       */  /* <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.                                            */  /*                                                                       */  /*    parse_state  :: An enumeration which controls the charstring       */  /*                    parsing state.                                     */  /*                                                                       */  /*    load_points  :: If this flag is not set, no points are loaded.     */  /*                                                                       */  /*    no_recurse   :: Set but not used.                                  */  /*                                                                       */  /*    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.     */  /*                                                                       */  typedef struct  T1_BuilderRec_  {    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 */    T1_ParseState   parse_state;    FT_Bool         load_points;    FT_Bool         no_recurse;    FT_Bool         shift;    FT_Bool         metrics_only;    void*           hints_funcs;    /* hinter-specific */    void*           hints_globals;  /* hinter-specific */    T1_Builder_FuncsRec  funcs;  } T1_BuilderRec;  /*************************************************************************/  /*************************************************************************/  /*****                                                               *****/  /*****                         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_ZoneRec_  {    FT_Byte*  cursor;    FT_Byte*  base;    FT_Byte*  limit;  } T1_Decoder_ZoneRec, *T1_Decoder_Zone;  typedef struct T1_DecoderRec_*              T1_Decoder;  typedef const struct T1_Decoder_FuncsRec_*  T1_Decoder_Funcs;  typedef FT_Error  (*T1_Decoder_Callback)( T1_Decoder  decoder,                          FT_UInt     glyph_index );  typedef struct  T1_Decoder_FuncsRec_  {    FT_Error    (*init)( T1_Decoder           decoder,             FT_Face              face,             FT_Size              size,             FT_GlyphSlot         slot,             FT_Byte**            glyph_names,             PS_Blend             blend,             FT_Bool              hinting,             FT_Render_Mode       hint_mode,             T1_Decoder_Callback  callback );    void    (*done)( T1_Decoder  decoder );    FT_Error    (*parse_charstrings)( T1_Decoder  decoder,                          FT_Byte*    base,                          FT_UInt     len );  } T1_Decoder_FuncsRec;  typedef struct  T1_DecoderRec_  {    T1_BuilderRec        builder;    FT_Long              stack[T1_MAX_CHARSTRINGS_OPERANDS];    FT_Long*             top;    T1_Decoder_ZoneRec   zones[T1_MAX_SUBRS_CALLS + 1];    T1_Decoder_Zone      zone;    FT_Service_PsCMaps   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_PtrDist*          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];    PS_Blend             blend;       /* for multiple master support */    FT_Render_Mode       hint_mode;    T1_Decoder_Callback  parse_callback;    T1_Decoder_FuncsRec  funcs;  } T1_DecoderRec;  /*************************************************************************/  /*************************************************************************/  /*****                                                               *****/  /*****                     TYPE1 CHARMAPS                            *****/  /*****                                                               *****/  /*************************************************************************/  /*************************************************************************/  typedef const struct T1_CMap_ClassesRec_*  T1_CMap_Classes;  typedef struct T1_CMap_ClassesRec_  {    FT_CMap_Class  standard;    FT_CMap_Class  expert;    FT_CMap_Class  custom;    FT_CMap_Class  unicode;  } T1_CMap_ClassesRec;  /*************************************************************************/  /*************************************************************************/  /*****                                                               *****/  /*****                        PSAux Module Interface                 *****/  /*****                                                               *****/  /*************************************************************************/  /*************************************************************************/  typedef struct  PSAux_ServiceRec_  {    /* don't use `PS_Table_Funcs' and friends to avoid compiler warnings */    const PS_Table_FuncsRec*    ps_table_funcs;    const PS_Parser_FuncsRec*   ps_parser_funcs;    const T1_Builder_FuncsRec*  t1_builder_funcs;    const T1_Decoder_FuncsRec*  t1_decoder_funcs;    void    (*t1_decrypt)( FT_Byte*   buffer,                   FT_Offset  length,                   FT_UShort  seed );    T1_CMap_Classes  t1_cmap_classes;  } PSAux_ServiceRec, *PSAux_Service;  /* backwards-compatible type definition */  typedef PSAux_ServiceRec   PSAux_Interface;FT_END_HEADER#endif /* __PSAUX_H__ *//* END */

⌨️ 快捷键说明

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