Ignore:
Timestamp:
Jan 17, 2009, 10:45:05 AM (13 years ago)
Author:
Eugene Romanenko
Message:

PDF plugin: freetype library updated to version 2.3.8

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/poppler/freetype2/include/freetype/freetype.h

    r251 r262  
    55/*    FreeType high-level API and common types (specification only).       */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by      */
     7/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    6161  /* <Description>                                                         */
    6262  /*    FreeType assumes that structures allocated by the user and passed  */
    63   /*    as arguments are zeroed out except for the actual data.  With      */
    64   /*    other words, it is recommended to use `calloc' (or variants of it) */
     63  /*    as arguments are zeroed out except for the actual data.  In other  */
     64  /*    words, it is recommended to use `calloc' (or variants of it)      */
    6565  /*    instead of `malloc' for allocation.                                */
    6666  /*                                                                       */
     
    192192  /*    FT_Get_Charmap_Index                                               */
    193193  /*                                                                       */
     194  /*    FT_FSTYPE_INSTALLABLE_EMBEDDING                                    */
     195  /*    FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING                             */
     196  /*    FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING                              */
     197  /*    FT_FSTYPE_EDITABLE_EMBEDDING                                       */
     198  /*    FT_FSTYPE_NO_SUBSETTING                                            */
     199  /*    FT_FSTYPE_BITMAP_EMBEDDING_ONLY                                    */
     200  /*                                                                       */
     201  /*    FT_Get_FSType_Flags                                                */
     202  /*                                                                       */
    194203  /*************************************************************************/
    195204
     
    607616  /*                                                                       */
    608617  /* <Note>                                                                */
    609   /*   By default, FreeType automatically synthetizes a Unicode charmap    */
     618  /*   By default, FreeType automatically synthesizes a Unicode charmap    */
    610619  /*   for PostScript fonts, using their glyph names dictionaries.         */
    611620  /*   However, it also reports the encodings defined explicitly in the    */
     
    884893  /*                                                                       */
    885894  /*    underline_position  :: The position, in font units, of the         */
    886   /*                           underline line for this face.  It's the     */
     895  /*                           underline line for this face.  It is the    */
    887896  /*                           center of the underlining stem.  Only       */
    888897  /*                           relevant for scalable formats.              */
     
    10371046  /*      exist make FT_Load_Glyph return successfully; in all other cases */
    10381047  /*      you get an `FT_Err_Invalid_Argument' error.                      */
     1048  /*                                                                       */
     1049  /*      Note that CID-keyed fonts which are in an SFNT wrapper don't     */
     1050  /*      have this flag set since the glyphs are accessed in the normal   */
     1051  /*      way (using contiguous indices); the `CID-ness' isn't visible to  */
     1052  /*      the application.                                                 */
     1053  /*                                                                       */
     1054  /*    FT_FACE_FLAG_TRICKY ::                                             */
     1055  /*      Set if the font is `tricky', this is, it always needs the        */
     1056  /*      font format's native hinting engine to get a reasonable result.  */
     1057  /*      A typical example is the Chinese font `mingli.ttf' which uses    */
     1058  /*      TrueType bytecode instructions to move and scale all of its      */
     1059  /*      subglyphs.                                                       */
     1060  /*                                                                       */
     1061  /*      It is not possible to autohint such fonts using                  */
     1062  /*      @FT_LOAD_FORCE_AUTOHINT; it will also ignore                     */
     1063  /*      @FT_LOAD_NO_HINTING.  You have to set both FT_LOAD_NO_HINTING    */
     1064  /*      and @FT_LOAD_NO_AUTOHINT to really disable hinting; however, you */
     1065  /*      probably never want this except for demonstration purposes.      */
     1066  /*                                                                       */
     1067  /*      Currently, there are six TrueType fonts in the list of tricky    */
     1068  /*      fonts; they are hard-coded in file `ttobjs.c'.                   */
    10391069  /*                                                                       */
    10401070#define FT_FACE_FLAG_SCALABLE          ( 1L <<  0 )
     
    10511081#define FT_FACE_FLAG_HINTER            ( 1L << 11 )
    10521082#define FT_FACE_FLAG_CID_KEYED         ( 1L << 12 )
    1053 
    1054   /* */
     1083#define FT_FACE_FLAG_TRICKY            ( 1L << 13 )
    10551084
    10561085
     
    11631192          ( face->face_flags & FT_FACE_FLAG_FIXED_SIZES )
    11641193
    1165   /* */
    1166 
    11671194
    11681195  /*************************************************************************
     
    12251252
    12261253
    1227   /*************************************************************************/
    1228   /*                                                                       */
    1229   /* <Constant>                                                            */
     1254  /*************************************************************************
     1255   *
     1256   * @macro:
     1257   *   FT_IS_TRICKY( face )
     1258   *
     1259   * @description:
     1260   *   A macro that returns true whenever a face represents a `tricky' font.
     1261   *   See the discussion of @FT_FACE_FLAG_TRICKY for more details.
     1262   *
     1263   */
     1264#define FT_IS_TRICKY( face ) \
     1265          ( face->face_flags & FT_FACE_FLAG_TRICKY )
     1266
     1267
     1268  /*************************************************************************/
     1269  /*                                                                       */
     1270  /* <Const>                                                               */
    12301271  /*    FT_STYLE_FLAG_XXX                                                  */
    12311272  /*                                                                       */
     
    15191560  /*    This image can later be converted into a bitmap by calling         */
    15201561  /*    @FT_Render_Glyph.  This function finds the current renderer for    */
    1521   /*    the native image's format then invokes it.                         */
     1562  /*    the native image's format, then invokes it.                        */
    15221563  /*                                                                       */
    15231564  /*    The renderer is in charge of transforming the native image through */
    1524   /*    the slot's face transformation fields, then convert it into a      */
     1565  /*    the slot's face transformation fields, then converting it into a   */
    15251566  /*    bitmap that is returned in `slot->bitmap'.                         */
    15261567  /*                                                                       */
     
    17701811  /*                                                                       */
    17711812  /*    Ideally, both the `pathname' and `params' fields should be tagged  */
    1772   /*    as `const'; this is missing for API backwards compatibility.  With */
     1813  /*    as `const'; this is missing for API backwards compatibility.  In  */
    17731814  /*    other words, applications should treat them as read-only.          */
    17741815  /*                                                                       */
     
    21752216  /*    both resolution values are zero, they are set to 72dpi.            */
    21762217  /*                                                                       */
    2177 
     2218  /*    Don't use this function if you are using the FreeType cache API.   */
     2219  /*                                                                       */
    21782220  FT_EXPORT( FT_Error )
    21792221  FT_Set_Char_Size( FT_Face     face,
     
    23912433   *
    23922434   *     Note that this has no effect on the hinting algorithm used.  You
    2393    *     should use @FT_LOAD_TARGET_MONO instead so that the
     2435   *     should rather use @FT_LOAD_TARGET_MONO so that the
    23942436   *     monochrome-optimized hinting algorithm is used.
    23952437   *
     
    24092451   *   @FT_LOAD_NO_AUTOHINT in case you don't want the auto-hinter to be
    24102452   *   used at all.
     2453   *
     2454   *   See the description of @FT_FACE_FLAG_TRICKY for a special exception
     2455   *   (affecting only a handful of Asian fonts).
    24112456   *
    24122457   *   Besides deciding which hinter to use, you can also decide which
     
    24272472#define FT_LOAD_MONOCHROME                   0x1000
    24282473#define FT_LOAD_LINEAR_DESIGN                0x2000
    2429 #define FT_LOAD_SBITS_ONLY                   0x4000   /* temporary hack! */
    24302474#define FT_LOAD_NO_AUTOHINT                  0x8000U
    24312475
    24322476  /* */
     2477
     2478  /* used internally only by certain font drivers! */
     2479#define FT_LOAD_ADVANCE_ONLY                 0x100
     2480#define FT_LOAD_SBITS_ONLY                   0x4000
    24332481
    24342482
     
    31553203                        FT_Int       *p_arg2,
    31563204                        FT_Matrix    *p_transform );
     3205
     3206
     3207  /*************************************************************************/
     3208  /*                                                                       */
     3209  /* <Enum>                                                                */
     3210  /*    FT_FSTYPE_XXX                                                      */
     3211  /*                                                                       */
     3212  /* <Description>                                                         */
     3213  /*    A list of bit flags used in the `fsType' field of the OS/2 table   */
     3214  /*    in a TrueType or OpenType font and the `FSType' entry in a         */
     3215  /*    PostScript font.  These bit flags are returned by                  */
     3216  /*    @FT_Get_FSType_Flags; they inform client applications of embedding */
     3217  /*    and subsetting restrictions associated with a font.                */
     3218  /*                                                                       */
     3219  /*    See http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf for  */
     3220  /*    more details.                                                      */
     3221  /*                                                                       */
     3222  /* <Values>                                                              */
     3223  /*    FT_FSTYPE_INSTALLABLE_EMBEDDING ::                                 */
     3224  /*      Fonts with no fsType bit set may be embedded and permanently     */
     3225  /*      installed on the remote system by an application.                */
     3226  /*                                                                       */
     3227  /*    FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING ::                          */
     3228  /*      Fonts that have only this bit set must not be modified, embedded */
     3229  /*      or exchanged in any manner without first obtaining permission of */
     3230  /*      the font software copyright owner.                               */
     3231  /*                                                                       */
     3232  /*    FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING ::                           */
     3233  /*      If this bit is set, the font may be embedded and temporarily     */
     3234  /*      loaded on the remote system.  Documents containing Preview &     */
     3235  /*      Print fonts must be opened `read-only'; no edits can be applied  */
     3236  /*      to the document.                                                 */
     3237  /*                                                                       */
     3238  /*    FT_FSTYPE_EDITABLE_EMBEDDING ::                                    */
     3239  /*      If this bit is set, the font may be embedded but must only be    */
     3240  /*      installed temporarily on other systems.  In contrast to Preview  */
     3241  /*      & Print fonts, documents containing editable fonts may be opened */
     3242  /*      for reading, editing is permitted, and changes may be saved.     */
     3243  /*                                                                       */
     3244  /*    FT_FSTYPE_NO_SUBSETTING ::                                         */
     3245  /*      If this bit is set, the font may not be subsetted prior to       */
     3246  /*      embedding.                                                       */
     3247  /*                                                                       */
     3248  /*    FT_FSTYPE_BITMAP_EMBEDDING_ONLY ::                                 */
     3249  /*      If this bit is set, only bitmaps contained in the font may be    */
     3250  /*      embedded; no outline data may be embedded.  If there are no      */
     3251  /*      bitmaps available in the font, then the font is unembeddable.    */
     3252  /*                                                                       */
     3253  /* <Note>                                                                */
     3254  /*    While the fsType flags can indicate that a font may be embedded, a */
     3255  /*    license with the font vendor may be separately required to use the */
     3256  /*    font in this way.                                                  */
     3257  /*                                                                       */
     3258#define FT_FSTYPE_INSTALLABLE_EMBEDDING         0x0000
     3259#define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING  0x0002
     3260#define FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING   0x0004
     3261#define FT_FSTYPE_EDITABLE_EMBEDDING            0x0008
     3262#define FT_FSTYPE_NO_SUBSETTING                 0x0100
     3263#define FT_FSTYPE_BITMAP_EMBEDDING_ONLY         0x0200
     3264
     3265
     3266  /*************************************************************************/
     3267  /*                                                                       */
     3268  /* <Function>                                                            */
     3269  /*    FT_Get_FSType_Flags                                                */
     3270  /*                                                                       */
     3271  /* <Description>                                                         */
     3272  /*    Return the fsType flags for a font.                                */
     3273  /*                                                                       */
     3274  /* <Input>                                                               */
     3275  /*    face :: A handle to the source face object.                        */
     3276  /*                                                                       */
     3277  /* <Return>                                                              */
     3278  /*    The fsType flags, @FT_FSTYPE_XXX.                                  */
     3279  /*                                                                       */
     3280  /* <Note>                                                                */
     3281  /*    Use this function rather than directly reading the `fs_type' field */
     3282  /*    in the @PS_FontInfoRec structure which is only guaranteed to       */
     3283  /*    return the correct results for Type~1 fonts.                       */
     3284  /*                                                                       */
     3285  FT_EXPORT( FT_UShort )
     3286  FT_Get_FSType_Flags( FT_Face  face );
    31573287
    31583288
     
    34323562
    34333563
     3564  /* */
     3565
     3566  /* The following #if 0 ... #endif is for the documentation formatter, */
     3567  /* hiding the internal `FT_MULFIX_INLINED' macro.                     */
     3568
     3569#if 0
    34343570  /*************************************************************************/
    34353571  /*                                                                       */
     
    34643600  FT_MulFix( FT_Long  a,
    34653601             FT_Long  b );
     3602
     3603  /* */
     3604#endif
     3605
     3606#ifdef FT_MULFIX_INLINED
     3607#define FT_MulFix( a, b )  FT_MULFIX_INLINED( a, b )
     3608#else
     3609  FT_EXPORT( FT_Long )
     3610  FT_MulFix( FT_Long  a,
     3611             FT_Long  b );
     3612#endif
    34663613
    34673614
     
    36123759#define FREETYPE_MAJOR  2
    36133760#define FREETYPE_MINOR  3
    3614 #define FREETYPE_PATCH  7
     3761#define FREETYPE_PATCH  8
    36153762
    36163763
     
    36963843  /* <Return>                                                              */
    36973844  /*    The old setting value.  This will always be false if this is not   */
    3698   /*    a SFNT font, or if the unpatented hinter is not compiled in this   */
     3845  /*    an SFNT font, or if the unpatented hinter is not compiled in this  */
    36993846  /*    instance of the library.                                           */
    37003847  /*                                                                       */
Note: See TracChangeset for help on using the changeset viewer.