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

📄 pshints.h

📁 奇趣公司比较新的qt/emd版本
💻 H
📖 第 1 页 / 共 2 页
字号:
    T1_Hints_CloseFunc     close;    T1_Hints_SetStemFunc   stem;    T1_Hints_SetStem3Func  stem3;    T1_Hints_ResetFunc     reset;    T1_Hints_ApplyFunc     apply;  } T1_Hints_FuncsRec;  /*************************************************************************/  /*************************************************************************/  /*****                                                               *****/  /*****                  PUBLIC TYPE 2 HINTS RECORDER                 *****/  /*****                                                               *****/  /*************************************************************************/  /*************************************************************************/  /*************************************************************************   *   * @type:   *   T2_Hints   *   * @description:   *   This is a handle to an opaque structure used to record glyph hints   *   from a Type 2 character glyph character string.   *   *   The methods used to operate on this object are defined by the   *   @T2_Hints_FuncsRec structure.  Recording glyph hints is normally   *   achieved through the following scheme:   *   *   - Open a new hint recording session by calling the `open' method.   *     This rewinds the recorder and prepare it for new input.   *   *   - For each hint found in the glyph charstring, call the corresponding   *     method (`stems', `hintmask', `counters').  Note that these   *     functions do not return an error code.   *   *   - Close the recording session by calling the `close' method.  It   *     returns an error code if the hints were invalid or something   *     strange happened (e.g., memory shortage).   *   *   The hints accumulated in the object can later be used by the   *   Postscript hinter.   *   */  typedef struct T2_HintsRec_*  T2_Hints;  /*************************************************************************   *   * @type:   *   T2_Hints_Funcs   *   * @description:   *   A pointer to the @T2_Hints_FuncsRec structure that defines the API of   *   a given @T2_Hints object.   *   */  typedef const struct T2_Hints_FuncsRec_*  T2_Hints_Funcs;  /*************************************************************************   *   * @functype:   *   T2_Hints_OpenFunc   *   * @description:   *   A method of the @T2_Hints class used to prepare it for a new Type 2   *   hints recording session.   *   * @input:   *   hints ::   *     A handle to the Type 2 hints recorder.   *   * @note:   *   You should always call the @T2_Hints_CloseFunc method in order to   *   close an opened recording session.   *   */  typedef void  (*T2_Hints_OpenFunc)( T2_Hints  hints );  /*************************************************************************   *   * @functype:   *   T2_Hints_StemsFunc   *   * @description:   *   A method of the @T2_Hints class used to set the table of stems in   *   either the vertical or horizontal dimension.  Equivalent to the   *   `hstem', `vstem', `hstemhm', and `vstemhm' Type 2 operators.   *   * @input:   *   hints ::   *     A handle to the Type 2 hints recorder.   *   *   dimension ::   *     0 for horizontal stems (hstem), 1 for vertical ones (vstem).   *   *   count ::   *     The number of stems.   *   *   coords ::   *     An array of `count' (position,length) pairs.   *   * @note:   *   Use vertical coordinates (y) for horizontal stems (dim=0).  Use   *   horizontal coordinates (x) for vertical stems (dim=1).   *   *   There are `2*count' elements in the `coords' array.  Each even   *   element is an absolute position in font units, each odd element is a   *   length in font units.   *   *   A length can be negative, in which case it must be either -20 or   *   -21.  It is interpreted as a `ghost' stem, according to the Type 1   *   specification.   *   */  typedef void  (*T2_Hints_StemsFunc)( T2_Hints   hints,                         FT_UInt    dimension,                         FT_UInt    count,                         FT_Fixed*  coordinates );  /*************************************************************************   *   * @functype:   *   T2_Hints_MaskFunc   *   * @description:   *   A method of the @T2_Hints class used to set a given hintmask (this   *   corresponds to the `hintmask' Type 2 operator).   *   * @input:   *   hints ::   *     A handle to the Type 2 hints recorder.   *   *   end_point ::   *     The glyph index of the last point to which the previously defined   *     or activated hints apply.   *   *   bit_count ::   *     The number of bits in the hint mask.   *   *   bytes ::   *     An array of bytes modelling the hint mask.   *   * @note:   *   If the hintmask starts the charstring (before any glyph point   *   definition), the value of `end_point' should be 0.   *   *   `bit_count' is the number of meaningful bits in the `bytes' array; it   *   must be equal to the total number of hints defined so far (i.e.,   *   horizontal+verticals).   *   *   The `bytes' array can come directly from the Type 2 charstring and   *   respects the same format.   *   */  typedef void  (*T2_Hints_MaskFunc)( T2_Hints        hints,                        FT_UInt         end_point,                        FT_UInt         bit_count,                        const FT_Byte*  bytes );  /*************************************************************************   *   * @functype:   *   T2_Hints_CounterFunc   *   * @description:   *   A method of the @T2_Hints class used to set a given counter mask   *   (this corresponds to the `hintmask' Type 2 operator).   *   * @input:   *   hints ::   *     A handle to the Type 2 hints recorder.   *   *   end_point ::   *     A glyph index of the last point to which the previously defined or   *     active hints apply.   *   *   bit_count ::   *     The number of bits in the hint mask.   *   *   bytes ::   *     An array of bytes modelling the hint mask.   *   * @note:   *   If the hintmask starts the charstring (before any glyph point   *   definition), the value of `end_point' should be 0.   *   *   `bit_count' is the number of meaningful bits in the `bytes' array; it   *   must be equal to the total number of hints defined so far (i.e.,   *   horizontal+verticals).   *   *    The `bytes' array can come directly from the Type 2 charstring and   *    respects the same format.   *   */  typedef void  (*T2_Hints_CounterFunc)( T2_Hints        hints,                           FT_UInt         bit_count,                           const FT_Byte*  bytes );  /*************************************************************************   *   * @functype:   *   T2_Hints_CloseFunc   *   * @description:   *   A method of the @T2_Hints class used to close a hint recording   *   session.   *   * @input:   *   hints ::   *     A handle to the Type 2 hints recorder.   *   *   end_point ::   *     The index of the last point in the input glyph.   *   * @return:   *   FreeType error code.  0 means success.   *   * @note:   *   The error code is set to indicate that an error occurred during the   *   recording session.   *   */  typedef FT_Error  (*T2_Hints_CloseFunc)( T2_Hints  hints,                         FT_UInt   end_point );  /*************************************************************************   *   * @functype:   *   T2_Hints_ApplyFunc   *   * @description:   *   A method of the @T2_Hints class used to apply hints to the   *   corresponding glyph outline.  Must be called after the `close'   *   method.   *   * @input:   *   hints ::   *     A handle to the Type 2 hints recorder.   *   *   outline ::   *     A pointer to the target outline descriptor.   *   *   globals ::   *     The hinter globals for this font.   *   *   hint_mode ::   *     Hinting information.   *   * @return:   *   FreeType error code.  0 means success.   *   * @note:   *   On input, all points within the outline are in font coordinates. On   *   output, they are in 1/64th of pixels.   *   *   The scaling transformation is taken from the `globals' object which   *   must correspond to the same font than the glyph.   *   */  typedef FT_Error  (*T2_Hints_ApplyFunc)( T2_Hints        hints,                         FT_Outline*     outline,                         PSH_Globals     globals,                         FT_Render_Mode  hint_mode );  /*************************************************************************   *   * @struct:   *   T2_Hints_FuncsRec   *   * @description:   *   The structure used to provide the API to @T2_Hints objects.   *   * @fields:   *   hints ::   *     A handle to the T2 hints recorder object.   *   *   open ::   *     The function to open a recording session.   *   *   close ::   *     The function to close a recording session.   *   *   stems ::   *     The function to set the dimension's stems table.   *   *   hintmask ::   *     The function to set hint masks.   *   *   counter ::   *     The function to set counter masks.   *   *   apply ::   *     The function to apply the hints on the corresponding glyph outline.   *   */  typedef struct  T2_Hints_FuncsRec_  {    T2_Hints              hints;    T2_Hints_OpenFunc     open;    T2_Hints_CloseFunc    close;    T2_Hints_StemsFunc    stems;    T2_Hints_MaskFunc     hintmask;    T2_Hints_CounterFunc  counter;    T2_Hints_ApplyFunc    apply;  } T2_Hints_FuncsRec;  /* */  typedef struct  PSHinter_Interface_  {    PSH_Globals_Funcs  (*get_globals_funcs)( FT_Module  module );    T1_Hints_Funcs     (*get_t1_funcs)     ( FT_Module  module );    T2_Hints_Funcs     (*get_t2_funcs)     ( FT_Module  module );  } PSHinter_Interface;  typedef PSHinter_Interface*  PSHinter_Service;FT_END_HEADER#endif /* __PSHINTS_H__ *//* END */

⌨️ 快捷键说明

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