Ignore:
Timestamp:
Apr 12, 2009, 10:25:05 AM (13 years ago)
Author:
Eugene Romanenko
Message:

PDF plugin: freetype library updated to version 2.3.9

Location:
trunk/poppler/freetype2/include/freetype
Files:
15 edited

Legend:

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

    r262 r269  
    264264  /* Watcom doesn't provide 64-bit data types */
    265265#define FT_LONG64
    266 #define FT_INT64  long long int
     266#define FT_INT64  __int64
    267267
    268268#elif defined( __MWERKS__ )    /* Metrowerks CodeWarrior */
     
    360360      "shll  $16, %%edx\n"
    361361      "addl  %%edx, %%eax\n"
    362       : "=a"(result), "+d"(b)
    363       : "a"(a)
    364       : "%ecx" );
     362      : "=a"(result), "=d"(b)
     363      : "a"(a), "d"(b)
     364      : "%ecx", "cc" );
    365365    return result;
    366366  }
  • trunk/poppler/freetype2/include/freetype/freetype.h

    r262 r269  
    2626
    2727
    28   /*************************************************************************/
    29   /*                                                                       */
    30   /* The `raster' component duplicates some of the declarations in         */
    31   /* freetype.h for stand-alone use if _FREETYPE_ isn't defined.           */
    32   /*                                                                       */
    33   /*************************************************************************/
    34 
    35 
    3628#ifndef __FREETYPE_H__
    3729#define __FREETYPE_H__
     
    396388  /*                                                                       */
    397389  /* <Also>                                                                */
    398   /*    The @FT_FaceRec details the publicly accessible fields of a given */
    399   /*    face object.                                                       */
     390  /*    See @FT_FaceRec for the publicly accessible fields of a given face */
     391  /*    object.                                                            */
    400392  /*                                                                       */
    401393  typedef struct FT_FaceRec_*  FT_Face;
     
    426418  /*                                                                       */
    427419  /* <Also>                                                                */
    428   /*    The @FT_SizeRec structure details the publicly accessible fields  */
    429   /*    of a given size object.                                            */
     420  /*    See @FT_SizeRec for the publicly accessible fields of a given size */
     421  /*    object.                                                            */
    430422  /*                                                                       */
    431423  typedef struct FT_SizeRec_*  FT_Size;
     
    439431  /* <Description>                                                         */
    440432  /*    A handle to a given `glyph slot'.  A slot is a container where it  */
    441   /*    is possible to load any one of the glyphs contained in its parent  */
     433  /*    is possible to load any of the glyphs contained in its parent      */
    442434  /*    face.                                                              */
    443435  /*                                                                       */
     
    448440  /*                                                                       */
    449441  /* <Also>                                                                */
    450   /*    @FT_GlyphSlotRec details the publicly accessible glyph fields.     */
     442  /*    See @FT_GlyphSlotRec for the publicly accessible glyph fields.     */
    451443  /*                                                                       */
    452444  typedef struct FT_GlyphSlotRec_*  FT_GlyphSlot;
     
    479471  /*                                                                       */
    480472  /* <Also>                                                                */
    481   /*    The @FT_CharMapRec details the publicly accessible fields of a     */
    482   /*    given character map.                                               */
     473  /*    See @FT_CharMapRec for the publicly accessible fields of a given   */
     474  /*    character map.                                                     */
    483475  /*                                                                       */
    484476  typedef struct FT_CharMapRec_*  FT_CharMap;
     
    536528  /*                                                                       */
    537529  /* <Values>                                                              */
    538   /*   FT_ENCODING_NONE ::                                                 */
    539   /*     The encoding value~0 is reserved.                                 */
    540   /*                                                                       */
    541   /*   FT_ENCODING_UNICODE ::                                              */
    542   /*     Corresponds to the Unicode character set.  This value covers      */
    543   /*     all versions of the Unicode repertoire, including ASCII and       */
    544   /*     Latin-1.  Most fonts include a Unicode charmap, but not all       */
    545   /*     of them.                                                          */
    546   /*                                                                       */
    547   /*   FT_ENCODING_MS_SYMBOL ::                                            */
    548   /*     Corresponds to the Microsoft Symbol encoding, used to encode      */
    549   /*     mathematical symbols in the 32..255 character code range.  For    */
    550   /*     more information, see `http://www.ceviz.net/symbol.htm'.          */
    551   /*                                                                       */
    552   /*   FT_ENCODING_SJIS ::                                                 */
    553   /*     Corresponds to Japanese SJIS encoding.  More info at              */
    554   /*     at `http://langsupport.japanreference.com/encoding.shtml'.        */
    555   /*     See note on multi-byte encodings below.                           */
    556   /*                                                                       */
    557   /*   FT_ENCODING_GB2312 ::                                               */
    558   /*     Corresponds to an encoding system for Simplified Chinese as used */
    559   /*     used in mainland China.                                           */
    560   /*                                                                       */
    561   /*   FT_ENCODING_BIG5 ::                                                 */
    562   /*     Corresponds to an encoding system for Traditional Chinese as used */
    563   /*     in Taiwan and Hong Kong.                                          */
    564   /*                                                                       */
    565   /*   FT_ENCODING_WANSUNG ::                                              */
    566   /*     Corresponds to the Korean encoding system known as Wansung.       */
    567   /*     For more information see                                          */
    568   /*     `http://www.microsoft.com/typography/unicode/949.txt'.            */
    569   /*                                                                       */
    570   /*   FT_ENCODING_JOHAB ::                                                */
    571   /*     The Korean standard character set (KS~C 5601-1992), which         */
    572   /*     corresponds to MS Windows code page 1361.  This character set     */
    573   /*     includes all possible Hangeul character combinations.             */
    574   /*                                                                       */
    575   /*   FT_ENCODING_ADOBE_LATIN_1 ::                                        */
    576   /*     Corresponds to a Latin-1 encoding as defined in a Type~1          */
    577   /*     PostScript font.  It is limited to 256 character codes.           */
    578   /*                                                                       */
    579   /*   FT_ENCODING_ADOBE_STANDARD ::                                       */
    580   /*     Corresponds to the Adobe Standard encoding, as found in Type~1,   */
    581   /*     CFF, and OpenType/CFF fonts.  It is limited to 256 character      */
    582   /*     codes.                                                            */
    583   /*                                                                       */
    584   /*   FT_ENCODING_ADOBE_EXPERT ::                                         */
    585   /*     Corresponds to the Adobe Expert encoding, as found in Type~1,     */
    586   /*     CFF, and OpenType/CFF fonts.  It is limited to 256 character      */
    587   /*     codes.                                                            */
    588   /*                                                                       */
    589   /*   FT_ENCODING_ADOBE_CUSTOM ::                                         */
    590   /*     Corresponds to a custom encoding, as found in Type~1, CFF, and    */
    591   /*     OpenType/CFF fonts.  It is limited to 256 character codes.        */
    592   /*                                                                       */
    593   /*   FT_ENCODING_APPLE_ROMAN ::                                          */
    594   /*     Corresponds to the 8-bit Apple roman encoding.  Many TrueType and */
    595   /*     OpenType fonts contain a charmap for this encoding, since older   */
    596   /*     versions of Mac OS are able to use it.                            */
    597   /*                                                                       */
    598   /*   FT_ENCODING_OLD_LATIN_2 ::                                          */
    599   /*     This value is deprecated and was never used nor reported by       */
    600   /*     FreeType.  Don't use or test for it.                              */
    601   /*                                                                       */
    602   /*   FT_ENCODING_MS_SJIS ::                                              */
    603   /*     Same as FT_ENCODING_SJIS.  Deprecated.                            */
    604   /*                                                                       */
    605   /*   FT_ENCODING_MS_GB2312 ::                                            */
    606   /*     Same as FT_ENCODING_GB2312.  Deprecated.                          */
    607   /*                                                                       */
    608   /*   FT_ENCODING_MS_BIG5 ::                                              */
    609   /*     Same as FT_ENCODING_BIG5.  Deprecated.                            */
    610   /*                                                                       */
    611   /*   FT_ENCODING_MS_WANSUNG ::                                           */
    612   /*     Same as FT_ENCODING_WANSUNG.  Deprecated.                         */
    613   /*                                                                       */
    614   /*   FT_ENCODING_MS_JOHAB ::                                             */
    615   /*     Same as FT_ENCODING_JOHAB.  Deprecated.                           */
    616   /*                                                                       */
    617   /* <Note>                                                                */
    618   /*   By default, FreeType automatically synthesizes a Unicode charmap    */
    619   /*   for PostScript fonts, using their glyph names dictionaries.         */
    620   /*   However, it also reports the encodings defined explicitly in the    */
    621   /*   font file, for the cases when they are needed, with the Adobe       */
    622   /*   values as well.                                                     */
    623   /*                                                                       */
    624   /*   FT_ENCODING_NONE is set by the BDF and PCF drivers if the charmap   */
    625   /*   is neither Unicode nor ISO-8859-1 (otherwise it is set to           */
    626   /*   FT_ENCODING_UNICODE).  Use @FT_Get_BDF_Charset_ID to find out which */
    627   /*   encoding is really present.  If, for example, the `cs_registry'     */
    628   /*   field is `KOI8' and the `cs_encoding' field is `R', the font is     */
    629   /*   encoded in KOI8-R.                                                  */
    630   /*                                                                       */
    631   /*   FT_ENCODING_NONE is always set (with a single exception) by the     */
    632   /*   winfonts driver.  Use @FT_Get_WinFNT_Header and examine the         */
    633   /*   `charset' field of the @FT_WinFNT_HeaderRec structure to find out   */
    634   /*   which encoding is really present.  For example,                     */
    635   /*   @FT_WinFNT_ID_CP1251 (204) means Windows code page 1251 (for        */
    636   /*   Russian).                                                           */
    637   /*                                                                       */
    638   /*   FT_ENCODING_NONE is set if `platform_id' is @TT_PLATFORM_MACINTOSH */
    639   /*   and `encoding_id' is not @TT_MAC_ID_ROMAN (otherwise it is set to   */
    640   /*   FT_ENCODING_APPLE_ROMAN).                                           */
    641   /*                                                                       */
    642   /*   If `platform_id' is @TT_PLATFORM_MACINTOSH, use the function        */
    643   /*   @FT_Get_CMap_Language_ID  to query the Mac language ID which may be */
    644   /*   needed to be able to distinguish Apple encoding variants.  See      */
    645   /*                                                                       */
    646   /*     http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT   */
    647   /*                                                                       */
    648   /*   to get an idea how to do that.  Basically, if the language ID is~0, */
    649   /*   don't use it, otherwise subtract 1 from the language ID.  Then      */
    650   /*   examine `encoding_id'.  If, for example, `encoding_id' is           */
    651   /*   @TT_MAC_ID_ROMAN and the language ID (minus~1) is                   */
    652   /*   `TT_MAC_LANGID_GREEK', it is the Greek encoding, not Roman.         */
    653   /*   @TT_MAC_ID_ARABIC with `TT_MAC_LANGID_FARSI' means the Farsi        */
    654   /*   variant the Arabic encoding.                                        */
     530  /*    FT_ENCODING_NONE ::                                                */
     531  /*      The encoding value~0 is reserved.                                */
     532  /*                                                                       */
     533  /*    FT_ENCODING_UNICODE ::                                             */
     534  /*      Corresponds to the Unicode character set.  This value covers     */
     535  /*      all versions of the Unicode repertoire, including ASCII and      */
     536  /*      Latin-1.  Most fonts include a Unicode charmap, but not all      */
     537  /*      of them.                                                         */
     538  /*                                                                       */
     539  /*    FT_ENCODING_MS_SYMBOL ::                                           */
     540  /*      Corresponds to the Microsoft Symbol encoding, used to encode     */
     541  /*      mathematical symbols in the 32..255 character code range.  For   */
     542  /*      more information, see `http://www.ceviz.net/symbol.htm'.         */
     543  /*                                                                       */
     544  /*    FT_ENCODING_SJIS ::                                                */
     545  /*      Corresponds to Japanese SJIS encoding.  More info at             */
     546  /*      at `http://langsupport.japanreference.com/encoding.shtml'.       */
     547  /*      See note on multi-byte encodings below.                          */
     548  /*                                                                       */
     549  /*    FT_ENCODING_GB2312 ::                                              */
     550  /*      Corresponds to an encoding system for Simplified Chinese as used */
     551  /*      used in mainland China.                                          */
     552  /*                                                                       */
     553  /*    FT_ENCODING_BIG5 ::                                                */
     554  /*      Corresponds to an encoding system for Traditional Chinese as    */
     555  /*      used in Taiwan and Hong Kong.                                    */
     556  /*                                                                       */
     557  /*    FT_ENCODING_WANSUNG ::                                             */
     558  /*      Corresponds to the Korean encoding system known as Wansung.      */
     559  /*      For more information see                                         */
     560  /*      `http://www.microsoft.com/typography/unicode/949.txt'.           */
     561  /*                                                                       */
     562  /*    FT_ENCODING_JOHAB ::                                               */
     563  /*      The Korean standard character set (KS~C 5601-1992), which        */
     564  /*      corresponds to MS Windows code page 1361.  This character set    */
     565  /*      includes all possible Hangeul character combinations.            */
     566  /*                                                                       */
     567  /*    FT_ENCODING_ADOBE_LATIN_1 ::                                       */
     568  /*      Corresponds to a Latin-1 encoding as defined in a Type~1         */
     569  /*      PostScript font.  It is limited to 256 character codes.          */
     570  /*                                                                       */
     571  /*    FT_ENCODING_ADOBE_STANDARD ::                                      */
     572  /*      Corresponds to the Adobe Standard encoding, as found in Type~1,  */
     573  /*      CFF, and OpenType/CFF fonts.  It is limited to 256 character     */
     574  /*      codes.                                                           */
     575  /*                                                                       */
     576  /*    FT_ENCODING_ADOBE_EXPERT ::                                        */
     577  /*      Corresponds to the Adobe Expert encoding, as found in Type~1,    */
     578  /*      CFF, and OpenType/CFF fonts.  It is limited to 256 character     */
     579  /*      codes.                                                           */
     580  /*                                                                       */
     581  /*    FT_ENCODING_ADOBE_CUSTOM ::                                        */
     582  /*      Corresponds to a custom encoding, as found in Type~1, CFF, and   */
     583  /*      OpenType/CFF fonts.  It is limited to 256 character codes.       */
     584  /*                                                                       */
     585  /*    FT_ENCODING_APPLE_ROMAN ::                                         */
     586  /*      Corresponds to the 8-bit Apple roman encoding.  Many TrueType    */
     587  /*      and OpenType fonts contain a charmap for this encoding, since    */
     588  /*      older versions of Mac OS are able to use it.                     */
     589  /*                                                                       */
     590  /*    FT_ENCODING_OLD_LATIN_2 ::                                         */
     591  /*      This value is deprecated and was never used nor reported by      */
     592  /*      FreeType.  Don't use or test for it.                             */
     593  /*                                                                       */
     594  /*    FT_ENCODING_MS_SJIS ::                                             */
     595  /*      Same as FT_ENCODING_SJIS.  Deprecated.                           */
     596  /*                                                                       */
     597  /*    FT_ENCODING_MS_GB2312 ::                                           */
     598  /*      Same as FT_ENCODING_GB2312.  Deprecated.                         */
     599  /*                                                                       */
     600  /*    FT_ENCODING_MS_BIG5 ::                                             */
     601  /*      Same as FT_ENCODING_BIG5.  Deprecated.                           */
     602  /*                                                                       */
     603  /*    FT_ENCODING_MS_WANSUNG ::                                          */
     604  /*      Same as FT_ENCODING_WANSUNG.  Deprecated.                        */
     605  /*                                                                       */
     606  /*    FT_ENCODING_MS_JOHAB ::                                            */
     607  /*      Same as FT_ENCODING_JOHAB.  Deprecated.                          */
     608  /*                                                                       */
     609  /* <Note>                                                                */
     610  /*    By default, FreeType automatically synthesizes a Unicode charmap   */
     611  /*    for PostScript fonts, using their glyph names dictionaries.        */
     612  /*    However, it also reports the encodings defined explicitly in the   */
     613  /*    font file, for the cases when they are needed, with the Adobe      */
     614  /*    values as well.                                                    */
     615  /*                                                                       */
     616  /*    FT_ENCODING_NONE is set by the BDF and PCF drivers if the charmap  */
     617  /*    is neither Unicode nor ISO-8859-1 (otherwise it is set to          */
     618  /*    FT_ENCODING_UNICODE).  Use @FT_Get_BDF_Charset_ID to find out      */
     619  /*    which encoding is really present.  If, for example, the            */
     620  /*    `cs_registry' field is `KOI8' and the `cs_encoding' field is `R',  */
     621  /*    the font is encoded in KOI8-R.                                     */
     622  /*                                                                       */
     623  /*    FT_ENCODING_NONE is always set (with a single exception) by the    */
     624  /*    winfonts driver.  Use @FT_Get_WinFNT_Header and examine the        */
     625  /*    `charset' field of the @FT_WinFNT_HeaderRec structure to find out  */
     626  /*    which encoding is really present.  For example,                    */
     627  /*    @FT_WinFNT_ID_CP1251 (204) means Windows code page 1251 (for       */
     628  /*    Russian).                                                          */
     629  /*                                                                       */
     630  /*    FT_ENCODING_NONE is set if `platform_id' is @TT_PLATFORM_MACINTOSH */
     631  /*    and `encoding_id' is not @TT_MAC_ID_ROMAN (otherwise it is set to  */
     632  /*    FT_ENCODING_APPLE_ROMAN).                                          */
     633  /*                                                                       */
     634  /*    If `platform_id' is @TT_PLATFORM_MACINTOSH, use the function       */
     635  /*    @FT_Get_CMap_Language_ID  to query the Mac language ID which may  */
     636  /*    be needed to be able to distinguish Apple encoding variants.  See  */
     637  /*                                                                       */
     638  /*      http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT  */
     639  /*                                                                       */
     640  /*    to get an idea how to do that.  Basically, if the language ID      */
     641  /*    is~0, don't use it, otherwise subtract 1 from the language ID.     */
     642  /*    Then examine `encoding_id'.  If, for example, `encoding_id' is     */
     643  /*    @TT_MAC_ID_ROMAN and the language ID (minus~1) is                  */
     644  /*    `TT_MAC_LANGID_GREEK', it is the Greek encoding, not Roman.        */
     645  /*    @TT_MAC_ID_ARABIC with `TT_MAC_LANGID_FARSI' means the Farsi       */
     646  /*    variant the Arabic encoding.                                       */
    655647  /*                                                                       */
    656648  typedef enum  FT_Encoding_
     
    908900  /*                                                                       */
    909901  /* <Note>                                                                */
    910   /*   Fields may be changed after a call to @FT_Attach_File or            */
    911   /*   @FT_Attach_Stream.                                                  */
     902  /*    Fields may be changed after a call to @FT_Attach_File or           */
     903  /*    @FT_Attach_Stream.                                                 */
    912904  /*                                                                       */
    913905  typedef struct  FT_FaceRec_
     
    14861478  /*                                                                       */
    14871479  /*    advance           :: This is the transformed advance width for the */
    1488   /*                         glyph.                                        */
     1480  /*                         glyph (in 26.6 fractional pixel format).      */
    14891481  /*                                                                       */
    14901482  /*    format            :: This field indicates the format of the image  */
     
    16931685  /*                                                                       */
    16941686  /* <Values>                                                              */
    1695   /*    FT_OPEN_MEMORY      :: This is a memory-based stream.              */
    1696   /*                                                                       */
    1697   /*    FT_OPEN_STREAM      :: Copy the stream from the `stream' field.    */
    1698   /*                                                                       */
    1699   /*    FT_OPEN_PATHNAME    :: Create a new input stream from a C~path     */
    1700   /*                           name.                                       */
    1701   /*                                                                       */
    1702   /*    FT_OPEN_DRIVER      :: Use the `driver' field.                     */
    1703   /*                                                                       */
    1704   /*    FT_OPEN_PARAMS      :: Use the `num_params' and `params' fields.   */
    1705   /*                                                                       */
    1706   /*    ft_open_memory      :: Deprecated; use @FT_OPEN_MEMORY instead.    */
    1707   /*                                                                       */
    1708   /*    ft_open_stream      :: Deprecated; use @FT_OPEN_STREAM instead.    */
    1709   /*                                                                       */
    1710   /*    ft_open_pathname    :: Deprecated; use @FT_OPEN_PATHNAME instead.  */
    1711   /*                                                                       */
    1712   /*    ft_open_driver      :: Deprecated; use @FT_OPEN_DRIVER instead.    */
    1713   /*                                                                       */
    1714   /*    ft_open_params      :: Deprecated; use @FT_OPEN_PARAMS instead.    */
     1687  /*    FT_OPEN_MEMORY   :: This is a memory-based stream.                 */
     1688  /*                                                                       */
     1689  /*    FT_OPEN_STREAM   :: Copy the stream from the `stream' field.       */
     1690  /*                                                                       */
     1691  /*    FT_OPEN_PATHNAME :: Create a new input stream from a C~path        */
     1692  /*                        name.                                          */
     1693  /*                                                                       */
     1694  /*    FT_OPEN_DRIVER   :: Use the `driver' field.                        */
     1695  /*                                                                       */
     1696  /*    FT_OPEN_PARAMS   :: Use the `num_params' and `params' fields.      */
     1697  /*                                                                       */
     1698  /*    ft_open_memory   :: Deprecated; use @FT_OPEN_MEMORY instead.       */
     1699  /*                                                                       */
     1700  /*    ft_open_stream   :: Deprecated; use @FT_OPEN_STREAM instead.       */
     1701  /*                                                                       */
     1702  /*    ft_open_pathname :: Deprecated; use @FT_OPEN_PATHNAME instead.     */
     1703  /*                                                                       */
     1704  /*    ft_open_driver   :: Deprecated; use @FT_OPEN_DRIVER instead.       */
     1705  /*                                                                       */
     1706  /*    ft_open_params   :: Deprecated; use @FT_OPEN_PARAMS instead.       */
    17151707  /*                                                                       */
    17161708  /* <Note>                                                                */
     
    17371729  /*                                                                       */
    17381730  /* <Description>                                                         */
    1739   /*    A simple structure used to pass more or less generic parameters   */
    1740   /*    to @FT_Open_Face.                                                  */
     1731  /*    A simple structure used to pass more or less generic parameters to */
     1732  /*    @FT_Open_Face.                                                     */
    17411733  /*                                                                       */
    17421734  /* <Fields>                                                              */
     
    21292121  /*                                                                       */
    21302122  /* <Note>                                                                */
    2131   /*    If `width' is zero, then the horizontal scaling value is set     */
    2132   /*    equal to the vertical scaling value, and vice versa.               */
     2123  /*    If `width' is zero, then the horizontal scaling value is set equal */
     2124  /*    to the vertical scaling value, and vice versa.                     */
    21332125  /*                                                                       */
    21342126  typedef struct  FT_Size_RequestRec_
     
    24572449   *   Besides deciding which hinter to use, you can also decide which
    24582450   *   hinting algorithm to use.  See @FT_LOAD_TARGET_XXX for details.
     2451   *
    24592452   */
    24602453#define FT_LOAD_DEFAULT                      0x0
     
    25432536   *       FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD );
    25442537   *     }
     2538   *
    25452539   */
    2546 
    2547 #define FT_LOAD_TARGET_( x )      ( (FT_Int32)( (x) & 15 ) << 16 )
    2548 
    2549 #define FT_LOAD_TARGET_NORMAL     FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
    2550 #define FT_LOAD_TARGET_LIGHT      FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT  )
    2551 #define FT_LOAD_TARGET_MONO       FT_LOAD_TARGET_( FT_RENDER_MODE_MONO   )
    2552 #define FT_LOAD_TARGET_LCD        FT_LOAD_TARGET_( FT_RENDER_MODE_LCD    )
    2553 #define FT_LOAD_TARGET_LCD_V      FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V  )
     2540#define FT_LOAD_TARGET_( x )   ( (FT_Int32)( (x) & 15 ) << 16 )
     2541
     2542#define FT_LOAD_TARGET_NORMAL  FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
     2543#define FT_LOAD_TARGET_LIGHT   FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT  )
     2544#define FT_LOAD_TARGET_MONO    FT_LOAD_TARGET_( FT_RENDER_MODE_MONO   )
     2545#define FT_LOAD_TARGET_LCD     FT_LOAD_TARGET_( FT_RENDER_MODE_LCD    )
     2546#define FT_LOAD_TARGET_LCD_V   FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V  )
    25542547
    25552548
     
    25642557   *
    25652558   */
    2566 
    25672559#define FT_LOAD_TARGET_MODE( x )  ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) )
    25682560
     
    26122604  /*    conversion performed on the outline.                               */
    26132605  /*                                                                       */
    2614   /*    For bitmap fonts the `bitmap->pixel_mode' field in the             */
    2615   /*    @FT_GlyphSlotRec structure gives the format of the returned        */
    2616   /*    bitmap.                                                            */
     2606  /*    For bitmap fonts and embedded bitmaps the `bitmap->pixel_mode'     */
     2607  /*    field in the @FT_GlyphSlotRec structure gives the format of the    */
     2608  /*    returned bitmap.                                                   */
    26172609  /*                                                                       */
    26182610  /*    All modes except @FT_RENDER_MODE_MONO use 256 levels of opacity.   */
     
    26352627  /*    FT_RENDER_MODE_LCD ::                                              */
    26362628  /*      This mode corresponds to horizontal RGB and BGR sub-pixel        */
    2637   /*      displays, like LCD-screens.  It produces 8-bit bitmaps that are  */
     2629  /*      displays like LCD screens.  It produces 8-bit bitmaps that are   */
    26382630  /*      3~times the width of the original glyph outline in pixels, and   */
    26392631  /*      which use the @FT_PIXEL_MODE_LCD mode.                           */
     
    26462638  /*                                                                       */
    26472639  /* <Note>                                                                */
    2648   /*   The LCD-optimized glyph bitmaps produced by FT_Render_Glyph can be  */
    2649   /*   filtered to reduce color-fringes by using @FT_Library_SetLcdFilter  */
    2650   /*   (not active in the default builds).  It is up to the caller to      */
    2651   /*   either call @FT_Library_SetLcdFilter (if available) or do the       */
    2652   /*   filtering itself.                                                   */
     2640  /*    The LCD-optimized glyph bitmaps produced by FT_Render_Glyph can be */
     2641  /*    filtered to reduce color-fringes by using @FT_Library_SetLcdFilter */
     2642  /*    (not active in the default builds).  It is up to the caller to     */
     2643  /*    either call @FT_Library_SetLcdFilter (if available) or do the      */
     2644  /*    filtering itself.                                                  */
     2645  /*                                                                       */
     2646  /*    The selected render mode only affects vector glyphs of a font.     */
     2647  /*    Embedded bitmaps often have a different pixel mode like            */
     2648  /*    @FT_PIXEL_MODE_MONO.  You can use @FT_Bitmap_Convert to transform  */
     2649  /*    them into 8-bit pixmaps.                                           */
    26532650  /*                                                                       */
    26542651  typedef enum  FT_Render_Mode_
     
    26752672  /*                                                                       */
    26762673  /* <Values>                                                              */
    2677   /*   ft_render_mode_normal :: see @FT_RENDER_MODE_NORMAL                 */
    2678   /*   ft_render_mode_mono   :: see @FT_RENDER_MODE_MONO                   */
     2674  /*    ft_render_mode_normal :: see @FT_RENDER_MODE_NORMAL                */
     2675  /*    ft_render_mode_mono   :: see @FT_RENDER_MODE_MONO                  */
    26792676  /*                                                                       */
    26802677#define ft_render_mode_normal  FT_RENDER_MODE_NORMAL
     
    28232820  /*                                                                       */
    28242821  /* <Input>                                                               */
    2825   /*    face        :: A handle to a source face object.                   */
    2826   /*                                                                       */
    2827   /*    point_size  :: The point size in 16.16 fractional points.          */
    2828   /*                                                                       */
    2829   /*    degree      :: The degree of tightness.                            */
     2822  /*    face       :: A handle to a source face object.                    */
     2823  /*                                                                       */
     2824  /*    point_size :: The point size in 16.16 fractional points.           */
     2825  /*                                                                       */
     2826  /*    degree     :: The degree of tightness.                             */
    28302827  /*                                                                       */
    28312828  /* <Output>                                                              */
    2832   /*    akerning    :: The kerning in 16.16 fractional points.             */
     2829  /*    akerning   :: The kerning in 16.16 fractional points.              */
    28332830  /*                                                                       */
    28342831  /* <Return>                                                              */
     
    30613058  /*    Note that `*agindex' is set to~0 if the charmap is empty.  The     */
    30623059  /*    result itself can be~0 in two cases: if the charmap is empty or    */
    3063   /*    when the value~0 is the first valid character code.                */
     3060  /*    if the value~0 is the first valid character code.                  */
    30643061  /*                                                                       */
    30653062  FT_EXPORT( FT_ULong )
     
    30833080  /*                                                                       */
    30843081  /* <Output>                                                              */
    3085   /*    agindex   :: Glyph index of first character code.  0~if charmap    */
     3082  /*    agindex   :: Glyph index of next character code.  0~if charmap     */
    30863083  /*                 is empty.                                             */
    30873084  /*                                                                       */
     
    31603157   * @description:
    31613158   *   Retrieve a description of a given subglyph.  Only use it if
    3162    *   `glyph->format' is @FT_GLYPH_FORMAT_COMPOSITE, or an error is
    3163    *   returned.
     3159   *   `glyph->format' is @FT_GLYPH_FORMAT_COMPOSITE; an error is
     3160   *   returned otherwise.
    31643161   *
    31653162   * @input:
     
    31683165   *
    31693166   *   sub_index ::
    3170    *     The index of subglyph.  Must be less than `glyph->num_subglyphs'.
     3167   *     The index of the subglyph.  Must be less than
     3168   *     `glyph->num_subglyphs'.
    31713169   *
    31723170   * @output:
     
    37403738  /*************************************************************************
    37413739   *
    3742    *  @enum:
    3743    *    FREETYPE_XXX
    3744    *
    3745    *  @description:
    3746    *    These three macros identify the FreeType source code version.
    3747    *    Use @FT_Library_Version to access them at runtime.
    3748    *
    3749    *  @values:
    3750    *    FREETYPE_MAJOR :: The major version number.
    3751    *    FREETYPE_MINOR :: The minor version number.
    3752    *    FREETYPE_PATCH :: The patch level.
    3753    *
    3754    *  @note:
    3755    *    The version number of FreeType if built as a dynamic link library
    3756    *    with the `libtool' package is _not_ controlled by these three
    3757    *    macros.
     3740   * @enum:
     3741   *   FREETYPE_XXX
     3742   *
     3743   * @description:
     3744   *   These three macros identify the FreeType source code version.
     3745   *   Use @FT_Library_Version to access them at runtime.
     3746   *
     3747   * @values:
     3748   *   FREETYPE_MAJOR :: The major version number.
     3749   *   FREETYPE_MINOR :: The minor version number.
     3750   *   FREETYPE_PATCH :: The patch level.
     3751   *
     3752   * @note:
     3753   *   The version number of FreeType if built as a dynamic link library
     3754   *   with the `libtool' package is _not_ controlled by these three
     3755   *   macros.
     3756   *
    37583757   */
    37593758#define FREETYPE_MAJOR  2
    37603759#define FREETYPE_MINOR  3
    3761 #define FREETYPE_PATCH  8
     3760#define FREETYPE_PATCH  9
    37623761
    37633762
  • trunk/poppler/freetype2/include/freetype/ftcid.h

    r251 r269  
    55/*    FreeType API for accessing CID font information (specification).     */
    66/*                                                                         */
    7 /*  Copyright 2007 by Dereg Clegg.                                         */
     7/*  Copyright 2007, 2009 by Dereg Clegg, Michael Toftdal.                  */
    88/*                                                                         */
    99/*  This file is part of the FreeType project, and may only be used,       */
     
    8989                                           FT_Int       *supplement);
    9090
     91
     92  /**********************************************************************
     93   *
     94   * @function:
     95   *    FT_Get_CID_Is_Internally_CID_Keyed
     96   *
     97   * @description:
     98   *    Retrieve the type of the input face, CID keyed or not.  In
     99   *    constrast to the @FT_IS_CID_KEYED macro this function returns
     100   *    successfully also for CID-keyed fonts in an SNFT wrapper.
     101   *
     102   * @input:
     103   *    face ::
     104   *       A handle to the input face.
     105   *
     106   * @output:
     107   *    is_cid ::
     108   *       The type of the face as an @FT_Bool.
     109   *
     110   * @return:
     111   *    FreeType error code.  0~means success.
     112   *
     113   * @note:
     114   *    This function only works with CID faces and OpenType fonts,
     115   *    returning an error otherwise.
     116   *
     117   * @since:
     118   *    2.3.9
     119   */
     120  FT_EXPORT( FT_Error )
     121  FT_Get_CID_Is_Internally_CID_Keyed( FT_Face   face,
     122                                      FT_Bool  *is_cid );
     123
     124
     125  /**********************************************************************
     126   *
     127   * @function:
     128   *    FT_Get_CID_From_Glyph_Index
     129   *
     130   * @description:
     131   *    Retrieve the CID of the input glyph index.
     132   *
     133   * @input:
     134   *    face ::
     135   *       A handle to the input face.
     136   *
     137   *    glyph_index ::
     138   *       The input glyph index.
     139   *
     140   * @output:
     141   *    cid ::
     142   *       The CID as an @FT_UInt.
     143   *
     144   * @return:
     145   *    FreeType error code.  0~means success.
     146   *
     147   * @note:
     148   *    This function only works with CID faces and OpenType fonts,
     149   *    returning an error otherwise.
     150   *
     151   * @since:
     152   *    2.3.9
     153   */
     154  FT_EXPORT( FT_Error )
     155  FT_Get_CID_From_Glyph_Index( FT_Face   face,
     156                               FT_UInt   glyph_index,
     157                               FT_UInt  *cid );
     158
    91159 /* */
    92160
  • trunk/poppler/freetype2/include/freetype/ftglyph.h

    r262 r269  
    55/*    FreeType convenience functions to handle glyphs (specification).     */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2003, 2006, 2008 by                         */
     7/*  Copyright 1996-2001, 2002, 2003, 2006, 2008, 2009 by                   */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    195195  /*                                                                       */
    196196  /* <Note>                                                                */
    197   /*    You can typecast a @FT_Glyph to @FT_OutlineGlyph if you have       */
     197  /*    You can typecast an @FT_Glyph to @FT_OutlineGlyph if you have      */
    198198  /*    `glyph->format == FT_GLYPH_FORMAT_OUTLINE'.  This lets you access  */
    199199  /*    the outline's content easily.                                      */
  • trunk/poppler/freetype2/include/freetype/ftmm.h

    r251 r269  
    55/*    FreeType Multiple Master font interface (specification).             */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2003, 2004, 2006 by                               */
     7/*  Copyright 1996-2001, 2003, 2004, 2006, 2009 by                         */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    258258  /*                                                                       */
    259259  /* <Output>                                                              */
    260   /*    amaster :: The Multiple Masters descriptor.                        */
     260  /*    amaster :: The Multiple Masters/GX var descriptor.                 */
    261261  /*               Allocates a data structure, which the user must free    */
    262262  /*               (a single call to FT_FREE will do it).                  */
  • trunk/poppler/freetype2/include/freetype/ftoutln.h

    r262 r269  
    66/*    most scalable font formats (specification).                          */
    77/*                                                                         */
    8 /*  Copyright 1996-2001, 2002, 2003, 2005, 2006, 2007, 2008 by             */
     8/*  Copyright 1996-2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009 by       */
    99/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    1010/*                                                                         */
     
    131131  /*                                                                       */
    132132  /* <Output>                                                              */
    133   /*    anoutline   :: A handle to the new outline.  NULL in case of       */
    134   /*                   error.                                              */
     133  /*    anoutline   :: A handle to the new outline.                        */
    135134  /*                                                                       */
    136135  /* <Return>                                                              */
     
    363362  /*                                                                       */
    364363  /* <Note>                                                                */
    365   /*    This functions toggles the bit flag @FT_OUTLINE_REVERSE_FILL in    */
     364  /*    This function toggles the bit flag @FT_OUTLINE_REVERSE_FILL in     */
    366365  /*    the outline's `flags' field.                                       */
    367366  /*                                                                       */
     
    417416  /* <Description>                                                         */
    418417  /*    Render an outline within a bitmap using the current scan-convert.  */
    419   /*    This functions uses an @FT_Raster_Params structure as an argument, */
     418  /*    This function uses an @FT_Raster_Params structure as an argument, */
    420419  /*    allowing advanced features like direct composition, translucency,  */
    421420  /*    etc.                                                               */
  • trunk/poppler/freetype2/include/freetype/ftpfr.h

    r262 r269  
    55/*    FreeType API for accessing PFR-specific data (specification only).   */
    66/*                                                                         */
    7 /*  Copyright 2002, 2003, 2004, 2006, 2008 by                              */
     7/*  Copyright 2002, 2003, 2004, 2006, 2008, 2009 by                        */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    6363  * @output:
    6464  *    aoutline_resolution ::
    65   *      Outline resolution.  This is equivalent to `face->units_per_EM'.
    66   *      Optional (parameter can be NULL).
     65  *      Outline resolution.  This is equivalent to `face->units_per_EM'
     66  *      for non-PFR fonts.  Optional (parameter can be NULL).
    6767  *
    6868  *    ametrics_resolution ::
  • trunk/poppler/freetype2/include/freetype/ftsizes.h

    r251 r269  
    55/*    FreeType size objects management (specification).                    */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2003, 2004, 2006 by                               */
     7/*  Copyright 1996-2001, 2003, 2004, 2006, 2009 by                         */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    130130  /*    Even though it is possible to create several size objects for a    */
    131131  /*    given face (see @FT_New_Size for details), functions like          */
    132   /*    @FT_Load_Glyph or @FT_Load_Char only use the last-created one to   */
    133   /*    determine the `current character pixel size'.                      */
     132  /*    @FT_Load_Glyph or @FT_Load_Char only use the one which has been    */
     133  /*    activated last to determine the `current character pixel size'.    */
    134134  /*                                                                       */
    135135  /*    This function can be used to `activate' a previously created size  */
  • trunk/poppler/freetype2/include/freetype/ftstroke.h

    r262 r269  
    55/*    FreeType path stroker (specification).                               */
    66/*                                                                         */
    7 /*  Copyright 2002, 2003, 2004, 2005, 2006, 2008 by                        */
     7/*  Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009 by                  */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    172172   *
    173173   * @return:
    174    *   The border index.  @FT_STROKER_BORDER_LEFT for empty or invalid
     174   *   The border index.  @FT_STROKER_BORDER_RIGHT for empty or invalid
    175175   *   outlines.
    176176   */
  • trunk/poppler/freetype2/include/freetype/internal/psaux.h

    r262 r269  
    198198    T1_FIELD_LOCATION_CID_INFO,
    199199    T1_FIELD_LOCATION_FONT_DICT,
     200    T1_FIELD_LOCATION_FONT_EXTRA,
    200201    T1_FIELD_LOCATION_FONT_INFO,
    201202    T1_FIELD_LOCATION_PRIVATE,
  • trunk/poppler/freetype2/include/freetype/internal/services/svcid.h

    r251 r269  
    55/*    The FreeType CID font services (specification).                      */
    66/*                                                                         */
    7 /*  Copyright 2007 by Derek Clegg.                                         */
     7/*  Copyright 2007, 2009 by Derek Clegg, Michael Toftdal.                  */
    88/*                                                                         */
    99/*  This file is part of the FreeType project, and may only be used,       */
     
    3232                                               const char*  *ordering,
    3333                                               FT_Int       *supplement );
     34  typedef FT_Error
     35  (*FT_CID_GetIsInternallyCIDKeyedFunc)( FT_Face   face,
     36                                         FT_Bool  *is_cid );
     37  typedef FT_Error
     38  (*FT_CID_GetCIDFromGlyphIndexFunc)( FT_Face   face,
     39                                      FT_UInt   glyph_index,
     40                                      FT_UInt  *cid );
    3441
    3542  FT_DEFINE_SERVICE( CID )
    3643  {
    3744    FT_CID_GetRegistryOrderingSupplementFunc  get_ros;
     45    FT_CID_GetIsInternallyCIDKeyedFunc        get_is_cid;
     46    FT_CID_GetCIDFromGlyphIndexFunc           get_cid_from_glyph_index;
    3847  };
    3948
  • trunk/poppler/freetype2/include/freetype/internal/services/svpsinfo.h

    r251 r269  
    55/*    The FreeType PostScript info service (specification).                */
    66/*                                                                         */
    7 /*  Copyright 2003, 2004 by                                                */
     7/*  Copyright 2003, 2004, 2009 by                                          */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    3434                         PS_FontInfoRec*  afont_info );
    3535
     36  typedef FT_Error
     37  (*PS_GetFontExtraFunc)( FT_Face           face,
     38                          PS_FontExtraRec*  afont_extra );
     39
    3640  typedef FT_Int
    3741  (*PS_HasGlyphNamesFunc)( FT_Face   face );
     
    4549  {
    4650    PS_GetFontInfoFunc     ps_get_font_info;
     51    PS_GetFontExtraFunc    ps_get_font_extra;
    4752    PS_HasGlyphNamesFunc   ps_has_glyph_names;
    4853    PS_GetFontPrivateFunc  ps_get_font_private;
  • trunk/poppler/freetype2/include/freetype/internal/t1types.h

    r262 r269  
    66/*    only).                                                               */
    77/*                                                                         */
    8 /*  Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008 by                   */
     8/*  Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008, 2009 by             */
    99/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    1010/*                                                                         */
     
    8888
    8989
     90  /* used to hold extra data of PS_FontInfoRec that
     91   * cannot be stored in the publicly defined structure.
     92   *
     93   * Note these can't be blended with multiple-masters.
     94   */
     95  typedef struct  PS_FontExtraRec_
     96  {
     97    FT_UShort  fs_type;
     98
     99  } PS_FontExtraRec;
     100
     101
    90102  typedef struct  T1_FontRec_
    91103  {
    92     PS_FontInfoRec   font_info;         /* font info dictionary */
    93     PS_PrivateRec    private_dict;      /* private dictionary   */
    94     FT_String*       font_name;         /* top-level dictionary */
     104    PS_FontInfoRec   font_info;         /* font info dictionary   */
     105    PS_FontExtraRec  font_extra;        /* font info extra fields */
     106    PS_PrivateRec    private_dict;      /* private dictionary     */
     107    FT_String*       font_name;         /* top-level dictionary   */
    95108
    96109    T1_EncodingType  encoding_type;
     
    232245    void*            psaux;
    233246    CID_FaceInfoRec  cid;
     247    PS_FontExtraRec  font_extra;
    234248#if 0
    235249    void*            afm_data;
  • trunk/poppler/freetype2/include/freetype/t1tables.h

    r262 r269  
    66/*    only).                                                               */
    77/*                                                                         */
    8 /*  Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008 by                   */
     8/*  Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008, 2009 by             */
    99/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    1010/*                                                                         */
     
    7878    FT_Short    underline_position;
    7979    FT_UShort   underline_thickness;
    80 
    81     /* since 2.3.8 */
    82 
    83     FT_UShort   fs_type;
    8480
    8581  } PS_FontInfoRec;
     
    487483   *
    488484   * @note:
    489    *    The string pointers within the font info structure are owned by
     485   *    The string pointers within the @PS_PrivateRec structure are owned by
    490486   *    the face and don't need to be freed by the caller.
    491487   *
    492    *    If the font's format is not PostScript-based, this function will
    493    *    return the `FT_Err_Invalid_Argument' error code.
     488   *    If the font's format is not PostScript-based, this function returns
     489   *    the `FT_Err_Invalid_Argument' error code.
    494490   *
    495491   */
  • trunk/poppler/freetype2/include/freetype/tttables.h

    r251 r269  
    66/*    (specification only).                                                */
    77/*                                                                         */
    8 /*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2008 by                   */
     8/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2008, 2009 by             */
    99/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    1010/*                                                                         */
     
    696696  *
    697697  * @note:
    698   *   SFNT tables with length zero are treated as missing by Windows.
     698  *   SFNT tables with length zero are treated as missing.
    699699  *
    700700  */
Note: See TracChangeset for help on using the changeset viewer.