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

📄 ftglyph.h

📁 一个Xpdf应用的例子
💻 H
📖 第 1 页 / 共 3 页
字号:
  /*************************************************************************/  /*                                                                       */  /* <Struct>                                                              */  /*    FT_OutlineGlyphRec                                                 */  /*                                                                       */  /* <Description>                                                         */  /*    A structure used for outline (vectorial) glyph images.  This       */  /*    really is a `sub-class' of `FT_GlyphRec'.                          */  /*                                                                       */  /* <Fields>                                                              */  /*    root    :: The root FT_Glyph fields.                               */  /*                                                                       */  /*    outline :: A descriptor for the outline.                           */  /*                                                                       */  /* <Note>                                                                */  /*    You can typecast FT_Glyph to FT_OutlineGlyph if you have           */  /*    glyph->format == ft_glyph_format_outline.  This lets you access    */  /*    the outline's content easily.                                      */  /*                                                                       */  /*    As the outline is extracted from a glyph slot, its coordinates are */  /*    expressed normally in 26.6 pixels, unless the flag                 */  /*    FT_LOAD_NO_SCALE was used in FT_Load_Glyph() or FT_Load_Char().    */  /*                                                                       */  /*    The outline's tables are always owned by the object and are        */  /*    destroyed with it.                                                 */  /*                                                                       */  typedef struct  FT_OutlineGlyphRec_  {    FT_GlyphRec  root;    FT_Outline   outline;  } FT_OutlineGlyphRec;  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    FT_Get_Glyph                                                       */  /*                                                                       */  /* <Description>                                                         */  /*    A function used to extract a glyph image from a slot.              */  /*                                                                       */  /* <Input>                                                               */  /*    slot   :: A handle to the source glyph slot.                       */  /*                                                                       */  /* <Output>                                                              */  /*    aglyph :: A handle to the glyph object.                            */  /*                                                                       */  /* <Return>                                                              */  /*    FreeType error code.  0 means success.                             */  /*                                                                       */  FT_EXPORT( FT_Error )  FT_Get_Glyph( FT_GlyphSlot  slot,                FT_Glyph     *aglyph );  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    FT_Glyph_Copy                                                      */  /*                                                                       */  /* <Description>                                                         */  /*    A function used to copy a glyph image.                             */  /*                                                                       */  /* <Input>                                                               */  /*    source :: A handle to the source glyph object.                     */  /*                                                                       */  /* <Output>                                                              */  /*    target :: A handle to the target glyph object.  0 in case of       */  /*              error.                                                   */  /*                                                                       */  /* <Return>                                                              */  /*    FreeType error code.  0 means success.                             */  /*                                                                       */  FT_EXPORT( FT_Error )  FT_Glyph_Copy( FT_Glyph   source,                 FT_Glyph  *target );  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    FT_Glyph_Transform                                                 */  /*                                                                       */  /* <Description>                                                         */  /*    Transforms a glyph image if its format is scalable.                */  /*                                                                       */  /* <InOut>                                                               */  /*    glyph  :: A handle to the target glyph object.                     */  /*                                                                       */  /* <Input>                                                               */  /*    matrix :: A pointer to a 2x2 matrix to apply.                      */  /*                                                                       */  /*    delta  :: A pointer to a 2d vector to apply.  Coordinates are      */  /*              expressed in 1/64th of a pixel.                          */  /*                                                                       */  /* <Return>                                                              */  /*    FreeType error code (the glyph format is not scalable if it is     */  /*    not zero).                                                         */  /*                                                                       */  /* <Note>                                                                */  /*    The 2x2 transformation matrix is also applied to the glyph's       */  /*    advance vector.                                                    */  /*                                                                       */  FT_EXPORT( FT_Error )  FT_Glyph_Transform( FT_Glyph    glyph,                      FT_Matrix*  matrix,                      FT_Vector*  delta );  /* */  /*************************************************************************/  /*                                                                       */  /* <Function>                                                            */  /*    FT_Glyph_Get_CBox                                                  */  /*                                                                       */  /* <Description>                                                         */  /*    Returns a glyph's `control box'.  The control box encloses all the */  /*    outline's points, including Bezier control points.  Though it      */  /*    coincides with the exact bounding box for most glyphs, it can be   */  /*    slightly larger in some situations (like when rotating an outline  */  /*    which contains Bezier outside arcs).                               */  /*                                                                       */  /*    Computing the control box is very fast, while getting the bounding */  /*    box can take much more time as it needs to walk over all segments  */  /*    and arcs in the outline.  To get the latter, you can use the       */  /*    `ftbbox' component which is dedicated to this single task.         */  /*                                                                       */  /* <Input>                                                               */  /*    glyph :: A handle to the source glyph object.                      */  /*                                                                       */  /*    mode  :: The mode which indicates how to interpret the returned    */  /*             bounding box values.                                      */  /*                                                                       */  /* <Output>                                                              */  /*    acbox :: The glyph coordinate bounding box.  Coordinates are       */  /*             expressed in 1/64th of pixels if it is grid-fitted.       */  /*                                                                       */  /* <Note>                                                                */  /*    Coordinates are relative to the glyph origin, using the Y-upwards  */  /*    convention.                                                        */  /*                                                                       */  /*    If the glyph has been loaded with FT_LOAD_NO_SCALE, `bbox_mode'    */  /*    must be set to `ft_glyph_bbox_unscaled' to get unscaled font       */  /*    units.                                                             */  /*                                                                       */  /*    If `bbox_mode' is set to `ft_glyph_bbox_subpixels' the bbox        */  /*    coordinates are returned in 26.6 pixels (i.e. 1/64th of pixels).   */  /*                                                                       */  /*    Note that the maximum coordinates are exclusive, which means that  */  /*    one can compute the width and height of the glyph image (be it in  */  /*    integer or 26.6 pixels) as:                                        */  /*                                                                       */  /*      width  = bbox.xMax - bbox.xMin;                                  */  /*      height = bbox.yMax - bbox.yMin;                                  */  /*                                                                       */  /*    Note also that for 26.6 coordinates, if `bbox_mode' is set to      */  /*    `ft_glyph_bbox_gridfit', the coordinates will also be grid-fitted, */  /*    which corresponds to:                                              */  /*                                                                       */  /*      bbox.xMin = FLOOR(bbox.xMin);                                    */  /*      bbox.yMin = FLOOR(bbox.yMin);                                    */  /*      bbox.xMax = CEILING(bbox.xMax);                                  */  /*      bbox.yMax = CEILING(bbox.yMax);                                  */  /*                                                                       */  /*    To get the bbox in pixel coordinates, set `bbox_mode' to           */  /*    `ft_glyph_bbox_truncate'.                                          */  /*                                                                       */  /*    To get the bbox in grid-fitted pixel coordinates, set `bbox_mode'  */  /*    to `ft_glyph_bbox_pixels'.                                         */  /*                                                                       */

⌨️ 快捷键说明

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