Changeset 251 for trunk


Ignore:
Timestamp:
Jun 30, 2008, 6:26:14 PM (13 years ago)
Author:
Eugene Romanenko
Message:

PDF plugin: freetype library updated to version 2.3.5

Location:
trunk
Files:
4 added
123 edited

Legend:

Unmodified
Added
Removed
  • trunk/Lucide/SOURCE/plugins/lupoppler/lupoppler.cpp

    r250 r251  
    9696extern "C" LuSignatureCheck * EXPENTRY getSignatureCheck()
    9797{
    98         return &lsc;
     98    return &lsc;
    9999}
    100100
     
    295295        dst = pixbuf_data + i * pixbuf_rowstride;
    296296        src = ((char *)color_ptr) + j * splash_rowstride;
    297         //memcpy( dst, src, rowstride );
    298        
     297        memcpy( dst, src, rowstride );
     298
    299299        // source 4 Bpp, dest 3 Bpp
    300300        for ( k = 0, l = 0, m = 0; k < width; k++ ) {
    301                 dst[ l++ ] = src[ m++ ];
    302                 dst[ l++ ] = src[ m++ ];
    303                 dst[ l++ ] = src[ m++ ];
    304                 m++;
     301            dst[ l++ ] = src[ m++ ];
     302            dst[ l++ ] = src[ m++ ];
     303            dst[ l++ ] = src[ m++ ];
     304            m++;
    305305        }
    306306    }
     
    798798    PDFDoc *doc = ((PopplerDocument *)somThis->data)->doc;
    799799
    800     PSOutputDev *out = new PSOutputDev( filename, doc->getXRef(), doc->getCatalog(), "",
     800    PSOutputDev *out = new PSOutputDev( filename, doc->getXRef(), doc->getCatalog(), NULL,
    801801                                (first_page <= last_page) ? (first_page + 1) : (last_page + 1),
    802802                                (first_page <= last_page) ? (last_page + 1) : (first_page + 1),
    803                                         psModePS, (int)width, (int)height,
    804                                         gFalse, 0, 0, 0, 0, gFalse );
     803                                        psModePS, (int)width, (int)height, gFalse );
    805804
    806805    if ( !out->isOk() ) {
     
    13391338}
    13401339
     1340
     1341// TODO: currently unused, must be fixed as bpp and internal bpp is different
    13411342SOM_Scope LuPixbuf*  SOMLINK getThumbnail(LuPopplerDocument *somSelf,
    13421343                                           Environment *ev, long pagenum,
  • trunk/Lucide/changelog

    r250 r251  
    111.XX:
    22  - PDF plugin: Poppler (pdf rendering) library updated to version 0.8.3.
     3  - PDF plugin: freetype library updated to version 2.3.7.
    34
    451.20:
  • trunk/poppler/freetype2/devel/ftoption.h

    r209 r251  
    55/*    User-selectable configuration macros (specification only).           */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
     7/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by       */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    437437#define TT_CONFIG_CMAP_FORMAT_10
    438438#define TT_CONFIG_CMAP_FORMAT_12
     439#define TT_CONFIG_CMAP_FORMAT_14
    439440
    440441
     
    625626  /*************************************************************************/
    626627  /*                                                                       */
    627   /* Compile autofit module with CJK script support.                       */
     628  /* Compile autofit module with CJK (Chinese, Japanese, Korean) script    */
     629  /* support.                                                              */
    628630  /*                                                                       */
    629631#define AF_CONFIG_OPTION_CJK
  • trunk/poppler/freetype2/include/freetype/config/ftconfig.h

    r209 r251  
    140140  /*************************************************************************/
    141141  /*                                                                       */
    142   /* IntN types                                                            */
    143   /*                                                                       */
    144   /*   Used to guarantee the size of some specific integers.               */
    145   /*                                                                       */
    146   typedef signed short    FT_Int16;
     142  /* <Section>                                                             */
     143  /*    basic_types                                                        */
     144  /*                                                                       */
     145  /*************************************************************************/
     146
     147
     148  /*************************************************************************/
     149  /*                                                                       */
     150  /* <Type>                                                                */
     151  /*    FT_Int16                                                           */
     152  /*                                                                       */
     153  /* <Description>                                                         */
     154  /*    A typedef for a 16bit signed integer type.                         */
     155  /*                                                                       */
     156  typedef signed short  FT_Int16;
     157
     158
     159  /*************************************************************************/
     160  /*                                                                       */
     161  /* <Type>                                                                */
     162  /*    FT_UInt16                                                          */
     163  /*                                                                       */
     164  /* <Description>                                                         */
     165  /*    A typedef for a 16bit unsigned integer type.                       */
     166  /*                                                                       */
    147167  typedef unsigned short  FT_UInt16;
     168
     169  /* */
     170
     171
     172  /* this #if 0 ... #endif clause is for documentation purposes */
     173#if 0
     174
     175  /*************************************************************************/
     176  /*                                                                       */
     177  /* <Type>                                                                */
     178  /*    FT_Int32                                                           */
     179  /*                                                                       */
     180  /* <Description>                                                         */
     181  /*    A typedef for a 32bit signed integer type.  The size depends on    */
     182  /*    the configuration.                                                 */
     183  /*                                                                       */
     184  typedef signed XXX  FT_Int32;
     185
     186
     187  /*************************************************************************/
     188  /*                                                                       */
     189  /* <Type>                                                                */
     190  /*    FT_UInt32                                                          */
     191  /*                                                                       */
     192  /*    A typedef for a 32bit unsigned integer type.  The size depends on  */
     193  /*    the configuration.                                                 */
     194  /*                                                                       */
     195  typedef unsigned XXX  FT_UInt32;
     196
     197  /* */
     198
     199#endif
    148200
    149201#if FT_SIZEOF_INT == (32 / FT_CHAR_BIT)
  • trunk/poppler/freetype2/include/freetype/config/ftheader.h

    r182 r251  
    55/*    Build macros of the FreeType 2 library.                              */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
     7/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by       */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    7575  /* <Description>                                                         */
    7676  /*    The following macros are defined to the name of specific           */
    77   /*    FreeType 2 header files.  They can be used directly in #include    */
     77  /*    FreeType~2 header files.  They can be used directly in #include    */
    7878  /*    statements as in:                                                  */
    7979  /*                                                                       */
     
    8686  /*    There are several reasons why we are now using macros to name      */
    8787  /*    public header files.  The first one is that such macros are not    */
    88   /*    limited to the infamous 8.3 naming rule required by DOS (and       */
     88  /*    limited to the infamous 8.3~naming rule required by DOS (and       */
    8989  /*    `FT_MULTIPLE_MASTERS_H' is a lot more meaningful than `ftmm.h').   */
    9090  /*                                                                       */
    9191  /*    The second reason is that it allows for more flexibility in the    */
    92   /*    way FreeType 2 is installed on a given system.                     */
     92  /*    way FreeType~2 is installed on a given system.                     */
    9393  /*                                                                       */
    9494  /*************************************************************************/
     
    104104   * @description:
    105105   *   A macro used in #include statements to name the file containing
    106    *   FreeType 2 configuration data.
     106   *   FreeType~2 configuration data.
    107107   *
    108108   */
     
    119119   * @description:
    120120   *   A macro used in #include statements to name the file containing
    121    *   FreeType 2 interface to the standard C library functions.
     121   *   FreeType~2 interface to the standard C library functions.
    122122   *
    123123   */
     
    134134   * @description:
    135135   *   A macro used in #include statements to name the file containing
    136    *   FreeType 2 project-specific configuration options.
     136   *   FreeType~2 project-specific configuration options.
    137137   *
    138138   */
     
    149149   * @description:
    150150   *   A macro used in #include statements to name the file containing the
    151    *   list of FreeType 2 modules that are statically linked to new library
     151   *   list of FreeType~2 modules that are statically linked to new library
    152152   *   instances in @FT_Init_FreeType.
    153153   *
     
    157157#endif
    158158
     159  /* */
    159160
    160161  /* public headers */
     
    167168   * @description:
    168169   *   A macro used in #include statements to name the file containing the
    169    *   base FreeType 2 API.
     170   *   base FreeType~2 API.
    170171   *
    171172   */
     
    180181   * @description:
    181182   *   A macro used in #include statements to name the file containing the
    182    *   list of FreeType 2 error codes (and messages).
     183   *   list of FreeType~2 error codes (and messages).
    183184   *
    184185   *   It is included by @FT_FREETYPE_H.
     
    195196   * @description:
    196197   *   A macro used in #include statements to name the file containing the
    197    *   list of FreeType 2 module error offsets (and messages).
     198   *   list of FreeType~2 module error offsets (and messages).
    198199   *
    199200   */
     
    208209   * @description:
    209210   *   A macro used in #include statements to name the file containing the
    210    *   FreeType 2 interface to low-level operations (i.e., memory management
     211   *   FreeType~2 interface to low-level operations (i.e., memory management
    211212   *   and stream i/o).
    212213   *
     
    240241   * @description:
    241242   *   A macro used in #include statements to name the file containing the
    242    *   basic data types defined by FreeType 2.
     243   *   basic data types defined by FreeType~2.
    243244   *
    244245   *   It is included by @FT_FREETYPE_H.
     
    255256   * @description:
    256257   *   A macro used in #include statements to name the file containing the
    257    *   list management API of FreeType 2.
     258   *   list management API of FreeType~2.
    258259   *
    259260   *   (Most applications will never need to include this file.)
     
    270271   * @description:
    271272   *   A macro used in #include statements to name the file containing the
    272    *   scalable outline management API of FreeType 2.
     273   *   scalable outline management API of FreeType~2.
    273274   *
    274275   */
     
    296297   * @description:
    297298   *   A macro used in #include statements to name the file containing the
    298    *   module management API of FreeType 2.
     299   *   module management API of FreeType~2.
    299300   *
    300301   */
     
    309310   * @description:
    310311   *   A macro used in #include statements to name the file containing the
    311    *   renderer module management API of FreeType 2.
     312   *   renderer module management API of FreeType~2.
    312313   *
    313314   */
     
    322323   * @description:
    323324   *   A macro used in #include statements to name the file containing the
    324    *   types and API specific to the Type 1 format.
     325   *   types and API specific to the Type~1 format.
    325326   *
    326327   */
     
    387388   *
    388389   * @macro:
     390   *   FT_CID_H
     391   *
     392   * @description:
     393   *   A macro used in #include statements to name the file containing the
     394   *   definitions of an API which access CID font information from a
     395   *   face.
     396   *
     397   */
     398#define FT_CID_H  <freetype/ftcid.h>
     399
     400
     401  /*************************************************************************
     402   *
     403   * @macro:
    389404   *   FT_GZIP_H
    390405   *
     
    469484   * @description:
    470485   *   A macro used in #include statements to name the file containing the
    471    *   API of the optional FreeType 2 cache sub-system.
     486   *   API of the optional FreeType~2 cache sub-system.
    472487   *
    473488   */
     
    482497   * @description:
    483498   *   A macro used in #include statements to name the file containing the
    484    *   `glyph image' API of the FreeType 2 cache sub-system.
     499   *   `glyph image' API of the FreeType~2 cache sub-system.
    485500   *
    486501   *   It is used to define a cache for @FT_Glyph elements.  You can also
     
    502517   * @description:
    503518   *   A macro used in #include statements to name the file containing the
    504    *   `small bitmaps' API of the FreeType 2 cache sub-system.
     519   *   `small bitmaps' API of the FreeType~2 cache sub-system.
    505520   *
    506521   *   It is used to define a cache for small glyph bitmaps in a relatively
     
    523538   * @description:
    524539   *   A macro used in #include statements to name the file containing the
    525    *   `charmap' API of the FreeType 2 cache sub-system.
     540   *   `charmap' API of the FreeType~2 cache sub-system.
    526541   *
    527542   *   This macro is deprecated.  Simply include @FT_CACHE_H to have all
     
    539554   * @description:
    540555   *   A macro used in #include statements to name the file containing the
    541    *   Macintosh-specific FreeType 2 API.  The latter is used to access
     556   *   Macintosh-specific FreeType~2 API.  The latter is used to access
    542557   *   fonts embedded in resource forks.
    543558   *
     
    556571   * @description:
    557572   *   A macro used in #include statements to name the file containing the
    558    *   optional multiple-masters management API of FreeType 2.
     573   *   optional multiple-masters management API of FreeType~2.
    559574   *
    560575   */
     
    569584   * @description:
    570585   *   A macro used in #include statements to name the file containing the
    571    *   optional FreeType 2 API which accesses embedded `name' strings in
     586   *   optional FreeType~2 API which accesses embedded `name' strings in
    572587   *   SFNT-based font formats (i.e., TrueType and OpenType).
    573588   *
     
    583598   * @description:
    584599   *   A macro used in #include statements to name the file containing the
    585    *   optional FreeType 2 API which validates OpenType tables (BASE, GDEF,
     600   *   optional FreeType~2 API which validates OpenType tables (BASE, GDEF,
    586601   *   GPOS, GSUB, JSTF).
    587602   *
     
    597612   * @description:
    598613   *   A macro used in #include statements to name the file containing the
    599    *   optional FreeType 2 API which validates TrueTypeGX/AAT tables (feat,
     614   *   optional FreeType~2 API which validates TrueTypeGX/AAT tables (feat,
    600615   *   mort, morx, bsln, just, kern, opbd, trak, prop).
    601616   *
     
    611626   * @description:
    612627   *   A macro used in #include statements to name the file containing the
    613    *   FreeType 2 API which accesses PFR-specific data.
     628   *   FreeType~2 API which accesses PFR-specific data.
    614629   *
    615630   */
     
    624639   * @description:
    625640   *   A macro used in #include statements to name the file containing the
    626    *   FreeType 2 API which provides functions to stroke outline paths.
     641   *   FreeType~2 API which provides functions to stroke outline paths.
    627642   */
    628643#define FT_STROKER_H  <freetype/ftstroke.h>
     
    636651   * @description:
    637652   *   A macro used in #include statements to name the file containing the
    638    *   FreeType 2 API which performs artificial obliquing and emboldening.
     653   *   FreeType~2 API which performs artificial obliquing and emboldening.
    639654   */
    640655#define FT_SYNTHESIS_H  <freetype/ftsynth.h>
     
    648663   * @description:
    649664   *   A macro used in #include statements to name the file containing the
    650    *   FreeType 2 API which provides functions specific to the XFree86 and
     665   *   FreeType~2 API which provides functions specific to the XFree86 and
    651666   *   X.Org X11 servers.
    652667   */
     
    661676   * @description:
    662677   *   A macro used in #include statements to name the file containing the
    663    *   FreeType 2 API which performs trigonometric computations (e.g.,
     678   *   FreeType~2 API which performs trigonometric computations (e.g.,
    664679   *   cosines and arc tangents).
    665680   */
     
    674689   * @description:
    675690   *   A macro used in #include statements to name the file containing the
    676    *   FreeType 2 API which performs color filtering for subpixel rendering.
     691   *   FreeType~2 API which performs color filtering for subpixel rendering.
    677692   */
    678693#define FT_LCD_FILTER_H  <freetype/ftlcdfil.h>
     
    682697   *
    683698   * @macro:
     699   *   FT_UNPATENTED_HINTING_H
     700   *
     701   * @description:
     702   *   A macro used in #include statements to name the file containing the
     703   *   FreeType~2 API which performs color filtering for subpixel rendering.
     704   */
     705#define FT_UNPATENTED_HINTING_H  <freetype/ttunpat.h>
     706
     707
     708  /*************************************************************************
     709   *
     710   * @macro:
     711   *   FT_INCREMENTAL_H
     712   *
     713   * @description:
     714   *   A macro used in #include statements to name the file containing the
     715   *   FreeType~2 API which performs color filtering for subpixel rendering.
     716   */
     717#define FT_INCREMENTAL_H  <freetype/ftincrem.h>
     718
     719
     720  /*************************************************************************
     721   *
     722   * @macro:
    684723   *   FT_GASP_H
    685724   *
    686725   * @description:
    687726   *   A macro used in #include statements to name the file containing the
    688    *   FreeType 2 API which returns entries from the TrueType GASP table.
     727   *   FreeType~2 API which returns entries from the TrueType GASP table.
    689728   */
    690729#define FT_GASP_H  <freetype/ftgasp.h>
  • trunk/poppler/freetype2/include/freetype/config/ftoption.h

    r209 r251  
    55/*    User-selectable configuration macros (specification only).           */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
     7/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by       */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    437437#define TT_CONFIG_CMAP_FORMAT_10
    438438#define TT_CONFIG_CMAP_FORMAT_12
     439#define TT_CONFIG_CMAP_FORMAT_14
    439440
    440441
     
    625626  /*************************************************************************/
    626627  /*                                                                       */
    627   /* Compile autofit module with CJK script support.                       */
     628  /* Compile autofit module with CJK (Chinese, Japanese, Korean) script    */
     629  /* support.                                                              */
    628630  /*                                                                       */
    629631#define AF_CONFIG_OPTION_CJK
  • trunk/poppler/freetype2/include/freetype/freetype.h

    r209 r251  
    55/*    FreeType high-level API and common types (specification only).       */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
     7/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by       */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    8787  /*                                                                       */
    8888  /* <Abstract>                                                            */
    89   /*    The FreeType 2 base font interface.                                */
    90   /*                                                                       */
    91   /* <Description>                                                         */
    92   /*    This section describes the public high-level API of FreeType 2.    */
     89  /*    The FreeType~2 base font interface.                                */
     90  /*                                                                       */
     91  /* <Description>                                                         */
     92  /*    This section describes the public high-level API of FreeType~2.    */
    9393  /*                                                                       */
    9494  /* <Order>                                                               */
     
    486486  /*                                                                       */
    487487  /* <Note>                                                                */
    488   /*    Since many 16bit compilers don't like 32bit enumerations, you      */
     488  /*    Since many 16-bit compilers don't like 32-bit enumerations, you    */
    489489  /*    should redefine this macro in case of problems to something like   */
    490490  /*    this:                                                              */
     
    528528  /* <Values>                                                              */
    529529  /*   FT_ENCODING_NONE ::                                                 */
    530   /*     The encoding value 0 is reserved.                                 */
     530  /*     The encoding value~0 is reserved.                                 */
    531531  /*                                                                       */
    532532  /*   FT_ENCODING_UNICODE ::                                              */
     
    560560  /*                                                                       */
    561561  /*   FT_ENCODING_JOHAB ::                                                */
    562   /*     The Korean standard character set (KS C-5601-1992), which         */
     562  /*     The Korean standard character set (KS~C 5601-1992), which         */
    563563  /*     corresponds to MS Windows code page 1361.  This character set     */
    564564  /*     includes all possible Hangeul character combinations.             */
    565565  /*                                                                       */
    566566  /*   FT_ENCODING_ADOBE_LATIN_1 ::                                        */
    567   /*     Corresponds to a Latin-1 encoding as defined in a Type 1          */
    568   /*     Postscript font.  It is limited to 256 character codes.           */
     567  /*     Corresponds to a Latin-1 encoding as defined in a Type~1          */
     568  /*     PostScript font.  It is limited to 256 character codes.           */
    569569  /*                                                                       */
    570570  /*   FT_ENCODING_ADOBE_STANDARD ::                                       */
    571   /*     Corresponds to the Adobe Standard encoding, as found in Type 1,   */
     571  /*     Corresponds to the Adobe Standard encoding, as found in Type~1,   */
    572572  /*     CFF, and OpenType/CFF fonts.  It is limited to 256 character      */
    573573  /*     codes.                                                            */
    574574  /*                                                                       */
    575575  /*   FT_ENCODING_ADOBE_EXPERT ::                                         */
    576   /*     Corresponds to the Adobe Expert encoding, as found in Type 1,     */
     576  /*     Corresponds to the Adobe Expert encoding, as found in Type~1,     */
    577577  /*     CFF, and OpenType/CFF fonts.  It is limited to 256 character      */
    578578  /*     codes.                                                            */
    579579  /*                                                                       */
    580580  /*   FT_ENCODING_ADOBE_CUSTOM ::                                         */
    581   /*     Corresponds to a custom encoding, as found in Type 1, CFF, and    */
     581  /*     Corresponds to a custom encoding, as found in Type~1, CFF, and    */
    582582  /*     OpenType/CFF fonts.  It is limited to 256 character codes.        */
    583583  /*                                                                       */
     
    608608  /* <Note>                                                                */
    609609  /*   By default, FreeType automatically synthetizes a Unicode charmap    */
    610   /*   for Postscript fonts, using their glyph names dictionaries.         */
     610  /*   for PostScript fonts, using their glyph names dictionaries.         */
    611611  /*   However, it also reports the encodings defined explicitly in the    */
    612612  /*   font file, for the cases when they are needed, with the Adobe       */
     
    631631  /*   FT_ENCODING_APPLE_ROMAN).                                           */
    632632  /*                                                                       */
    633   /*   If `platform_id' is @TT_PLATFORM_MACINTOSH, use the function  c     */
     633  /*   If `platform_id' is @TT_PLATFORM_MACINTOSH, use the function        */
    634634  /*   @FT_Get_CMap_Language_ID  to query the Mac language ID which may be */
    635635  /*   needed to be able to distinguish Apple encoding variants.  See      */
     
    637637  /*     http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT   */
    638638  /*                                                                       */
    639   /*   to get an idea how to do that.  Basically, if the language ID is 0, */
     639  /*   to get an idea how to do that.  Basically, if the language ID is~0, */
    640640  /*   don't use it, otherwise subtract 1 from the language ID.  Then      */
    641641  /*   examine `encoding_id'.  If, for example, `encoding_id' is           */
    642   /*   @TT_MAC_ID_ROMAN and the language ID (minus 1) is                   */
     642  /*   @TT_MAC_ID_ROMAN and the language ID (minus~1) is                   */
    643643  /*   `TT_MAC_LANGID_GREEK', it is the Greek encoding, not Roman.         */
    644644  /*   @TT_MAC_ID_ARABIC with `TT_MAC_LANGID_FARSI' means the Farsi        */
     
    754754  /*    model private data of a given @FT_Face object.                     */
    755755  /*                                                                       */
    756   /*    This structure might change between releases of FreeType 2 and is  */
     756  /*    This structure might change between releases of FreeType~2 and is  */
    757757  /*    not generally available to client applications.                    */
    758758  /*                                                                       */
     
    775775  /*                                                                       */
    776776  /*    face_index          :: The index of the face in the font file.  It */
    777   /*                           is set to 0 if there is only one face in    */
     777  /*                           is set to~0 if there is only one face in    */
    778778  /*                           the font file.                              */
    779779  /*                                                                       */
     
    790790  /*                           `num_fixed_sizes'), it is set to the number */
    791791  /*                           of outline glyphs.                          */
     792  /*                                                                       */
     793  /*                           For CID-keyed fonts, this value gives the   */
     794  /*                           highest CID used in the font.               */
    792795  /*                                                                       */
    793796  /*    family_name         :: The face's family name.  This is an ASCII   */
     
    800803  /*                           this string.  Applications should use the   */
    801804  /*                           format specific interface to access them.   */
     805  /*                           Can be NULL (e.g., in fonts embedded in a   */
     806  /*                           PDF file).                                  */
    802807  /*                                                                       */
    803808  /*    style_name          :: The face's style name.  This is an ASCII    */
     
    837842  /*                           formats.                                    */
    838843  /*                                                                       */
     844  /*                           Note that the bounding box might be off by  */
     845  /*                           (at least) one pixel for hinted fonts.  See */
     846  /*                           @FT_Size_Metrics for further discussion.    */
     847  /*                                                                       */
    839848  /*    units_per_EM        :: The number of font units per EM square for  */
    840849  /*                           this face.  This is typically 2048 for      */
    841   /*                           TrueType fonts, and 1000 for Type 1 fonts.  */
     850  /*                           TrueType fonts, and 1000 for Type~1 fonts.  */
    842851  /*                           Only relevant for scalable formats.         */
    843852  /*                                                                       */
     
    10191028  /*      the SFNT `gasp' table only if the native TrueType hinting engine */
    10201029  /*      (with the bytecode interpreter) is available and active.         */
     1030  /*                                                                       */
     1031  /*    FT_FACE_FLAG_CID_KEYED ::                                          */
     1032  /*      Set if the font is CID-keyed.  In that case, the font is not     */
     1033  /*      accessed by glyph indices but by CID values.  For subsetted      */
     1034  /*      CID-keyed fonts this has the consequence that not all index      */
     1035  /*      values are a valid argument to FT_Load_Glyph.  Only the CID      */
     1036  /*      values for which corresponding glyphs in the subsetted font      */
     1037  /*      exist make FT_Load_Glyph return successfully; in all other cases */
     1038  /*      you get an `FT_Err_Invalid_Argument' error.                      */
    10211039  /*                                                                       */
    10221040#define FT_FACE_FLAG_SCALABLE          ( 1L <<  0 )
     
    10321050#define FT_FACE_FLAG_EXTERNAL_STREAM   ( 1L << 10 )
    10331051#define FT_FACE_FLAG_HINTER            ( 1L << 11 )
     1052#define FT_FACE_FLAG_CID_KEYED         ( 1L << 12 )
    10341053
    10351054  /* */
     
    10881107   * @description:
    10891108   *   A macro that returns true whenever a face object contains a scalable
    1090    *   font face (true for TrueType, Type 1, Type 42, CID, OpenType/CFF,
     1109   *   font face (true for TrueType, Type~1, Type~42, CID, OpenType/CFF,
    10911110   *   and PFR font formats.
    10921111   *
     
    11881207
    11891208
     1209  /*************************************************************************
     1210   *
     1211   * @macro:
     1212   *   FT_IS_CID_KEYED( face )
     1213   *
     1214   * @description:
     1215   *   A macro that returns true whenever a face object contains a CID-keyed
     1216   *   font.  See the discussion of @FT_FACE_FLAG_CID_KEYED for more
     1217   *   details.
     1218   *
     1219   *   If this macro is true, all functions defined in @FT_CID_H are
     1220   *   available.
     1221   *
     1222   */
     1223#define FT_IS_CID_KEYED( face ) \
     1224          ( face->face_flags & FT_FACE_FLAG_CID_KEYED )
     1225
     1226
    11901227  /*************************************************************************/
    11911228  /*                                                                       */
     
    11991236  /* <Values>                                                              */
    12001237  /*    FT_STYLE_FLAG_ITALIC ::                                            */
    1201   /*      Indicates that a given face is italicized.                       */
     1238  /*      Indicates that a given face style is italic or oblique.          */
    12021239  /*                                                                       */
    12031240  /*    FT_STYLE_FLAG_BOLD ::                                              */
    12041241  /*      Indicates that a given face is bold.                             */
    12051242  /*                                                                       */
     1243  /* <Note>                                                                */
     1244  /*    The style information as provided by FreeType is very basic.  More */
     1245  /*    details are beyond the scope and should be done on a higher level  */
     1246  /*    (for example, by analyzing various fields of the `OS/2' table in   */
     1247  /*    SFNT based fonts).                                                 */
     1248  /*                                                                       */
    12061249#define FT_STYLE_FLAG_ITALIC  ( 1 << 0 )
    12071250#define FT_STYLE_FLAG_BOLD    ( 1 << 1 )
     
    12151258  /* <Description>                                                         */
    12161259  /*    An opaque handle to an `FT_Size_InternalRec' structure, used to    */
    1217   /*    model private data of a given FT_Size object.                      */
     1260  /*    model private data of a given @FT_Size object.                     */
    12181261  /*                                                                       */
    12191262  typedef struct FT_Size_InternalRec_*  FT_Size_Internal;
     
    13461389  /* <Description>                                                         */
    13471390  /*    An opaque handle to an `FT_Slot_InternalRec' structure, used to    */
    1348   /*    model private data of a given FT_GlyphSlot object.                 */
     1391  /*    model private data of a given @FT_GlyphSlot object.                */
    13491392  /*                                                                       */
    13501393  typedef struct FT_Slot_InternalRec_*  FT_Slot_Internal;
     
    14261469  /*                         integer pixels.  Remember that this is the    */
    14271470  /*                         distance from the baseline to the top-most    */
    1428   /*                         glyph scanline, upwards y-coordinates being   */
     1471  /*                         glyph scanline, upwards y~coordinates being   */
    14291472  /*                         *positive*.                                   */
    14301473  /*                                                                       */
     
    14491492  /*    control_data      :: Certain font drivers can also return the      */
    14501493  /*                         control data for a given glyph image (e.g.    */
    1451   /*                         TrueType bytecode, Type 1 charstrings, etc.). */
     1494  /*                         TrueType bytecode, Type~1 charstrings, etc.). */
    14521495  /*                         This field is a pointer to such data.         */
    14531496  /*                                                                       */
     
    14711514  /*    If @FT_Load_Glyph is called with default flags (see                */
    14721515  /*    @FT_LOAD_DEFAULT) the glyph image is loaded in the glyph slot in   */
    1473   /*    its native format (e.g., an outline glyph for TrueType and Type 1  */
     1516  /*    its native format (e.g., an outline glyph for TrueType and Type~1  */
    14741517  /*    formats).                                                          */
    14751518  /*                                                                       */
     
    15741617  /*                                                                       */
    15751618  /* <Return>                                                              */
    1576   /*    FreeType error code.  0 means success.                             */
     1619  /*    FreeType error code.  0~means success.                             */
    15771620  /*                                                                       */
    15781621  FT_EXPORT( FT_Error )
     
    15931636  /*                                                                       */
    15941637  /* <Return>                                                              */
    1595   /*    FreeType error code.  0 means success.                             */
     1638  /*    FreeType error code.  0~means success.                             */
    15961639  /*                                                                       */
    15971640  FT_EXPORT( FT_Error )
     
    16131656  /*    FT_OPEN_STREAM      :: Copy the stream from the `stream' field.    */
    16141657  /*                                                                       */
    1615   /*    FT_OPEN_PATHNAME    :: Create a new input stream from a C          */
    1616   /*                           path name.                                  */
     1658  /*    FT_OPEN_PATHNAME    :: Create a new input stream from a C~path     */
     1659  /*                           name.                                       */
    16171660  /*                                                                       */
    16181661  /*    FT_OPEN_DRIVER      :: Use the `driver' field.                     */
     
    16961739  /*    driver      :: This field is exclusively used by @FT_Open_Face;    */
    16971740  /*                   it simply specifies the font driver to use to open  */
    1698   /*                   the face.  If set to 0, FreeType tries to load the  */
     1741  /*                   the face.  If set to~0, FreeType tries to load the  */
    16991742  /*                   face with each one of the drivers in its list.      */
    17001743  /*                                                                       */
     
    17591802  /*                                                                       */
    17601803  /*    face_index :: The index of the face within the font.  The first    */
    1761   /*                  face has index 0.                                    */
     1804  /*                  face has index~0.                                    */
    17621805  /*                                                                       */
    17631806  /* <Output>                                                              */
     
    17671810  /*                                                                       */
    17681811  /* <Return>                                                              */
    1769   /*    FreeType error code.  0 means success.                             */
     1812  /*    FreeType error code.  0~means success.                             */
    17701813  /*                                                                       */
    17711814  FT_EXPORT( FT_Error )
     
    17941837  /*                                                                       */
    17951838  /*    face_index :: The index of the face within the font.  The first    */
    1796   /*                  face has index 0.                                    */
     1839  /*                  face has index~0.                                    */
    17971840  /*                                                                       */
    17981841  /* <Output>                                                              */
     
    18021845  /*                                                                       */
    18031846  /* <Return>                                                              */
    1804   /*    FreeType error code.  0 means success.                             */
     1847  /*    FreeType error code.  0~means success.                             */
    18051848  /*                                                                       */
    18061849  /* <Note>                                                                */
     
    18321875  /*                                                                       */
    18331876  /*    face_index :: The index of the face within the font.  The first    */
    1834   /*                  face has index 0.                                    */
     1877  /*                  face has index~0.                                    */
    18351878  /*                                                                       */
    18361879  /* <Output>                                                              */
     
    18401883  /*                                                                       */
    18411884  /* <Return>                                                              */
    1842   /*    FreeType error code.  0 means success.                             */
     1885  /*    FreeType error code.  0~means success.                             */
    18431886  /*                                                                       */
    18441887  /* <Note>                                                                */
     
    18491892  /*    FT_Open_Face can be used to quickly check whether the font         */
    18501893  /*    format of a given font resource is supported by FreeType.  If the  */
    1851   /*    `face_index' field is negative, the function's return value is 0   */
     1894  /*    `face_index' field is negative, the function's return value is~0   */
    18521895  /*    if the font format is recognized, or non-zero otherwise;           */
    18531896  /*    the function returns a more or less empty face handle in `*aface'  */
     
    18821925  /*                                                                       */
    18831926  /* <Return>                                                              */
    1884   /*    FreeType error code.  0 means success.                             */
     1927  /*    FreeType error code.  0~means success.                             */
    18851928  /*                                                                       */
    18861929  FT_EXPORT( FT_Error )
     
    18971940  /*    `Attach' data to a face object.  Normally, this is used to read    */
    18981941  /*    additional information for the face object.  For example, you can  */
    1899   /*    attach an AFM file that comes with a Type 1 font to get the        */
     1942  /*    attach an AFM file that comes with a Type~1 font to get the        */
    19001943  /*    kerning values and other metrics.                                  */
    19011944  /*                                                                       */
     
    19081951  /*                                                                       */
    19091952  /* <Return>                                                              */
    1910   /*    FreeType error code.  0 means success.                             */
     1953  /*    FreeType error code.  0~means success.                             */
    19111954  /*                                                                       */
    19121955  /* <Note>                                                                */
     
    19371980  /*                                                                       */
    19381981  /* <Return>                                                              */
    1939   /*    FreeType error code.  0 means success.                             */
     1982  /*    FreeType error code.  0~means success.                             */
    19401983  /*                                                                       */
    19411984  FT_EXPORT( FT_Error )
     
    19592002  /*                                                                       */
    19602003  /* <Return>                                                              */
    1961   /*    FreeType error code.  0 means success.                             */
     2004  /*    FreeType error code.  0~means success.                             */
    19622005  /*                                                                       */
    19632006  FT_EXPORT( FT_Error )
     
    20562099    FT_UInt               vertResolution;
    20572100
    2058   } FT_Size_RequestRec, *FT_Size_Request;
     2101  } FT_Size_RequestRec;
     2102
     2103
     2104  /*************************************************************************/
     2105  /*                                                                       */
     2106  /* <Struct>                                                              */
     2107  /*    FT_Size_Request                                                    */
     2108  /*                                                                       */
     2109  /* <Description>                                                         */
     2110  /*    A handle to a size request structure.                              */
     2111  /*                                                                       */
     2112  typedef struct FT_Size_RequestRec_  *FT_Size_Request;
    20592113
    20602114
     
    20742128  /*                                                                       */
    20752129  /* <Return>                                                              */
    2076   /*    FreeType error code.  0 means success.                             */
     2130  /*    FreeType error code.  0~means success.                             */
    20772131  /*                                                                       */
    20782132  /* <Note>                                                                */
     
    21092163  /*                                                                       */
    21102164  /* <Return>                                                              */
    2111   /*    FreeType error code.  0 means success.                             */
     2165  /*    FreeType error code.  0~means success.                             */
    21122166  /*                                                                       */
    21132167  /* <Note>                                                                */
     
    21482202  /*                                                                       */
    21492203  /* <Return>                                                              */
    2150   /*    FreeType error code.  0 means success.                             */
     2204  /*    FreeType error code.  0~means success.                             */
    21512205  /*                                                                       */
    21522206  FT_EXPORT( FT_Error )
     
    21812235  /*                                                                       */
    21822236  /* <Return>                                                              */
    2183   /*    FreeType error code.  0 means success.                             */
     2237  /*    FreeType error code.  0~means success.                             */
    21842238  /*                                                                       */
    21852239  /* <Note>                                                                */
    21862240  /*    The loaded glyph may be transformed.  See @FT_Set_Transform for    */
    21872241  /*    the details.                                                       */
     2242  /*                                                                       */
     2243  /*    For subsetted CID-keyed fonts, `FT_Err_Invalid_Argument' is        */
     2244  /*    returned for invalid CID values (this is, for CID values which     */
     2245  /*    don't have a corresponding glyph in the font).  See the discussion */
     2246  /*    of the @FT_FACE_FLAG_CID_KEYED flag for more details.              */
    21882247  /*                                                                       */
    21892248  FT_EXPORT( FT_Error )
     
    22172276  /*                                                                       */
    22182277  /* <Return>                                                              */
    2219   /*    FreeType error code.  0 means success.                             */
     2278  /*    FreeType error code.  0~means success.                             */
    22202279  /*                                                                       */
    22212280  /* <Note>                                                                */
     
    22392298   * @values:
    22402299   *   FT_LOAD_DEFAULT ::
    2241    *     Corresponding to 0, this value is used as the default glyph load
     2300   *     Corresponding to~0, this value is used as the default glyph load
    22422301   *     operation.  In this case, the following happens:
    22432302   *
     
    23292388   *     This flag is used with @FT_LOAD_RENDER to indicate that you want to
    23302389   *     render an outline glyph to a 1-bit monochrome bitmap glyph, with
    2331    *     8 pixels packed into each byte of the bitmap data.
     2390   *     8~pixels packed into each byte of the bitmap data.
    23322391   *
    23332392   *     Note that this has no effect on the hinting algorithm used.  You
     
    23682427#define FT_LOAD_MONOCHROME                   0x1000
    23692428#define FT_LOAD_LINEAR_DESIGN                0x2000
    2370 
    2371   /* temporary hack! */
    2372 #define FT_LOAD_SBITS_ONLY                   0x4000
     2429#define FT_LOAD_SBITS_ONLY                   0x4000   /* temporary hack! */
    23732430#define FT_LOAD_NO_AUTOHINT                  0x8000U
    23742431
     
    24022459   *     A lighter hinting algorithm for non-monochrome modes.  Many
    24032460   *     generated glyphs are more fuzzy but better resemble its original
    2404    *     shape.  A bit like rendering on Mac OS X.
     2461   *     shape.  A bit like rendering on Mac OS~X.
    24052462   *
    24062463   *     As a special exception, this target implies @FT_LOAD_FORCE_AUTOHINT.
     
    24492506
    24502507
    2451   /*
     2508  /**************************************************************************
     2509   *
    24522510   * @macro:
    24532511   *   FT_LOAD_TARGET_MODE
     
    24562514   *   Return the @FT_Render_Mode corresponding to a given
    24572515   *   @FT_LOAD_TARGET_XXX value.
     2516   *
    24582517   */
    24592518
    24602519#define FT_LOAD_TARGET_MODE( x )  ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) )
    2461 
    2462   /* */
    24632520
    24642521
     
    24772534  /*                                                                       */
    24782535  /* <Input>                                                               */
    2479   /*    matrix :: A pointer to the transformation's 2x2 matrix.  Use 0 for */
     2536  /*    matrix :: A pointer to the transformation's 2x2 matrix.  Use~0 for */
    24802537  /*              the identity matrix.                                     */
    2481   /*    delta  :: A pointer to the translation vector.  Use 0 for the null */
     2538  /*    delta  :: A pointer to the translation vector.  Use~0 for the null */
    24822539  /*              vector.                                                  */
    24832540  /*                                                                       */
     
    25042561  /* <Description>                                                         */
    25052562  /*    An enumeration type that lists the render modes supported by       */
    2506   /*    FreeType 2.  Each mode corresponds to a specific type of scanline  */
     2563  /*    FreeType~2.  Each mode corresponds to a specific type of scanline  */
    25072564  /*    conversion performed on the outline.                               */
    25082565  /*                                                                       */
     
    25112568  /*    bitmap.                                                            */
    25122569  /*                                                                       */
     2570  /*    All modes except @FT_RENDER_MODE_MONO use 256 levels of opacity.   */
     2571  /*                                                                       */
    25132572  /* <Values>                                                              */
    25142573  /*    FT_RENDER_MODE_NORMAL ::                                           */
    25152574  /*      This is the default render mode; it corresponds to 8-bit         */
    2516   /*      anti-aliased bitmaps, using 256 levels of opacity.               */
     2575  /*      anti-aliased bitmaps.                                            */
    25172576  /*                                                                       */
    25182577  /*    FT_RENDER_MODE_LIGHT ::                                            */
     
    25232582  /*                                                                       */
    25242583  /*    FT_RENDER_MODE_MONO ::                                             */
    2525   /*      This mode corresponds to 1-bit bitmaps.                          */
     2584  /*      This mode corresponds to 1-bit bitmaps (with 2~levels of         */
     2585  /*      opacity).                                                        */
    25262586  /*                                                                       */
    25272587  /*    FT_RENDER_MODE_LCD ::                                              */
    25282588  /*      This mode corresponds to horizontal RGB and BGR sub-pixel        */
    25292589  /*      displays, like LCD-screens.  It produces 8-bit bitmaps that are  */
    2530   /*      3 times the width of the original glyph outline in pixels, and   */
     2590  /*      3~times the width of the original glyph outline in pixels, and   */
    25312591  /*      which use the @FT_PIXEL_MODE_LCD mode.                           */
    25322592  /*                                                                       */
     
    25342594  /*      This mode corresponds to vertical RGB and BGR sub-pixel displays */
    25352595  /*      (like PDA screens, rotated LCD displays, etc.).  It produces     */
    2536   /*      8-bit bitmaps that are 3 times the height of the original        */
     2596  /*      8-bit bitmaps that are 3~times the height of the original        */
    25372597  /*      glyph outline in pixels and use the @FT_PIXEL_MODE_LCD_V mode.   */
    25382598  /*                                                                       */
    25392599  /* <Note>                                                                */
    2540   /*   The LCD-optimized glyph bitmaps produced by FT_Render_Glyph are     */
    2541   /*   _not_ _filtered_ to reduce color-fringes.  It is up to the caller   */
    2542   /*   to perform this pass.                                               */
     2600  /*   The LCD-optimized glyph bitmaps produced by FT_Render_Glyph can be  */
     2601  /*   filtered to reduce color-fringes by using @FT_Library_SetLcdFilter  */
     2602  /*   (not active in the default builds).  It is up to the caller to      */
     2603  /*   either call @FT_Library_SetLcdFilter (if available) or do the       */
     2604  /*   filtering itself.                                                   */
    25432605  /*                                                                       */
    25442606  typedef enum  FT_Render_Mode_
     
    25922654  /*                                                                       */
    25932655  /* <Return>                                                              */
    2594   /*    FreeType error code.  0 means success.                             */
     2656  /*    FreeType error code.  0~means success.                             */
    25952657  /*                                                                       */
    25962658  FT_EXPORT( FT_Error )
     
    26102672  /* <Values>                                                              */
    26112673  /*    FT_KERNING_DEFAULT  :: Return scaled and grid-fitted kerning       */
    2612   /*                           distances (value is 0).                     */
     2674  /*                           distances (value is~0).                     */
    26132675  /*                                                                       */
    26142676  /*    FT_KERNING_UNFITTED :: Return scaled but un-grid-fitted kerning    */
     
    26882750  /*                                                                       */
    26892751  /* <Return>                                                              */
    2690   /*    FreeType error code.  0 means success.                             */
     2752  /*    FreeType error code.  0~means success.                             */
    26912753  /*                                                                       */
    26922754  /* <Note>                                                                */
     
    27232785  /*                                                                       */
    27242786  /* <Return>                                                              */
    2725   /*    FreeType error code.  0 means success.                             */
     2787  /*    FreeType error code.  0~means success.                             */
    27262788  /*                                                                       */
    27272789  FT_EXPORT( FT_Error )
     
    27392801  /* <Description>                                                         */
    27402802  /*    Retrieve the ASCII name of a given glyph in a face.  This only     */
    2741   /*    works for those faces where @FT_HAS_GLYPH_NAMES(face) returns 1.   */
     2803  /*    works for those faces where @FT_HAS_GLYPH_NAMES(face) returns~1.   */
    27422804  /*                                                                       */
    27432805  /* <Input>                                                               */
     
    27542816  /*                                                                       */
    27552817  /* <Return>                                                              */
    2756   /*    FreeType error code.  0 means success.                             */
     2818  /*    FreeType error code.  0~means success.                             */
    27572819  /*                                                                       */
    27582820  /* <Note>                                                                */
    27592821  /*    An error is returned if the face doesn't provide glyph names or if */
    27602822  /*    the glyph index is invalid.  In all cases of failure, the first    */
    2761   /*    byte of `buffer' is set to 0 to indicate an empty name.            */
     2823  /*    byte of `buffer' is set to~0 to indicate an empty name.            */
    27622824  /*                                                                       */
    27632825  /*    The glyph name is truncated to fit within the buffer if it is too  */
     
    27812843  /*                                                                       */
    27822844  /* <Description>                                                         */
    2783   /*    Retrieve the ASCII Postscript name of a given face, if available.  */
    2784   /*    This only works with Postscript and TrueType fonts.                */
     2845  /*    Retrieve the ASCII PostScript name of a given face, if available.  */
     2846  /*    This only works with PostScript and TrueType fonts.                */
    27852847  /*                                                                       */
    27862848  /* <Input>                                                               */
     
    27882850  /*                                                                       */
    27892851  /* <Return>                                                              */
    2790   /*    A pointer to the face's Postscript name.  NULL if unavailable.     */
     2852  /*    A pointer to the face's PostScript name.  NULL if unavailable.     */
    27912853  /*                                                                       */
    27922854  /* <Note>                                                                */
     
    28142876  /*                                                                       */
    28152877  /* <Return>                                                              */
    2816   /*    FreeType error code.  0 means success.                             */
     2878  /*    FreeType error code.  0~means success.                             */
    28172879  /*                                                                       */
    28182880  /* <Note>                                                                */
     
    28222884  /*    Because many fonts contain more than a single cmap for Unicode     */
    28232885  /*    encoding, this function has some special code to select the one    */
    2824   /*    which covers Unicode best.  It is thus preferable to               */
     2886  /*    which covers Unicode best (`best' in the sense that a UCS-4 cmap   */
     2887  /*    is preferred to a UCS-2 cmap).  It is thus preferable to           */
    28252888  /*    @FT_Set_Charmap in this case.                                      */
    28262889  /*                                                                       */
     
    28452908  /*                                                                       */
    28462909  /* <Return>                                                              */
    2847   /*    FreeType error code.  0 means success.                             */
     2910  /*    FreeType error code.  0~means success.                             */
    28482911  /*                                                                       */
    28492912  /* <Note>                                                                */
     
    28522915  /*    table).                                                            */
    28532916  /*                                                                       */
     2917  /*    It also fails if a type~14 charmap is selected.                    */
     2918  /*                                                                       */
    28542919  FT_EXPORT( FT_Error )
    28552920  FT_Set_Charmap( FT_Face     face,
     
    28932958  /*                                                                       */
    28942959  /* <Return>                                                              */
    2895   /*    The glyph index.  0 means `undefined character code'.              */
     2960  /*    The glyph index.  0~means `undefined character code'.              */
    28962961  /*                                                                       */
    28972962  /* <Note>                                                                */
     
    28992964  /*    directly, be aware that the glyph index returned by this function  */
    29002965  /*    doesn't always correspond to the internal indices used within      */
    2901   /*    the file.  This is done to ensure that value 0 always corresponds  */
     2966  /*    the file.  This is done to ensure that value~0 always corresponds  */
    29022967  /*    to the `missing glyph'.                                            */
    29032968  /*                                                                       */
     
    29212986  /*                                                                       */
    29222987  /* <Output>                                                              */
    2923   /*    agindex :: Glyph index of first character code.  0 if charmap is   */
     2988  /*    agindex :: Glyph index of first character code.  0~if charmap is   */
    29242989  /*               empty.                                                  */
    29252990  /*                                                                       */
     
    29463011  /*    }                                                                  */
    29473012  /*                                                                       */
    2948   /*    Note that `*agindex' is set to 0 if the charmap is empty.  The     */
    2949   /*    result itself can be 0 in two cases: if the charmap is empty or    */
    2950   /*    when the value 0 is the first valid character code.                */
     3013  /*    Note that `*agindex' is set to~0 if the charmap is empty.  The     */
     3014  /*    result itself can be~0 in two cases: if the charmap is empty or    */
     3015  /*    when the value~0 is the first valid character code.                */
    29513016  /*                                                                       */
    29523017  FT_EXPORT( FT_ULong )
     
    29703035  /*                                                                       */
    29713036  /* <Output>                                                              */
    2972   /*    agindex   :: Glyph index of first character code.  0 if charmap    */
     3037  /*    agindex   :: Glyph index of first character code.  0~if charmap    */
    29733038  /*                 is empty.                                             */
    29743039  /*                                                                       */
     
    29813046  /*    note for this function for a simple code example.                  */
    29823047  /*                                                                       */
    2983   /*    Note that `*agindex' is set to 0 when there are no more codes in   */
     3048  /*    Note that `*agindex' is set to~0 when there are no more codes in   */
    29843049  /*    the charmap.                                                       */
    29853050  /*                                                                       */
     
    30053070  /*                                                                       */
    30063071  /* <Return>                                                              */
    3007   /*    The glyph index.  0 means `undefined character code'.              */
     3072  /*    The glyph index.  0~means `undefined character code'.              */
    30083073  /*                                                                       */
    30093074  FT_EXPORT( FT_UInt )
     
    30743139   *
    30753140   * @return:
    3076    *   FreeType error code.  0 means success.
     3141   *   FreeType error code.  0~means success.
    30773142   *
    30783143   * @note:
     
    30903155                        FT_Int       *p_arg2,
    30913156                        FT_Matrix    *p_transform );
     3157
     3158
     3159  /*************************************************************************/
     3160  /*                                                                       */
     3161  /* <Section>                                                             */
     3162  /*    glyph_variants                                                     */
     3163  /*                                                                       */
     3164  /* <Title>                                                               */
     3165  /*    Glyph Variants                                                     */
     3166  /*                                                                       */
     3167  /* <Abstract>                                                            */
     3168  /*    The FreeType~2 interface to Unicode Ideographic Variation          */
     3169  /*    Sequences (IVS), using the SFNT cmap format~14.                    */
     3170  /*                                                                       */
     3171  /* <Description>                                                         */
     3172  /*    Many CJK characters have variant forms.  They are a sort of grey   */
     3173  /*    area somewhere between being totally irrelevant and semantically   */
     3174  /*    distinct; for this reason, the Unicode consortium decided to       */
     3175  /*    introduce Ideographic Variation Sequences (IVS), consisting of a   */
     3176  /*    Unicode base character and one of 240 variant selectors            */
     3177  /*    (U+E0100-U+E01EF), instead of further extending the already huge   */
     3178  /*    code range for CJK characters.                                     */
     3179  /*                                                                       */
     3180  /*    An IVS is registered and unique; for further details please refer  */
     3181  /*    to Unicode Technical Report #37, the Ideographic Variation         */
     3182  /*    Database.  To date (October 2007), the character with the most     */
     3183  /*    variants is U+908A, having 8~such IVS.                             */
     3184  /*                                                                       */
     3185  /*    Adobe and MS decided to support IVS with a new cmap subtable       */
     3186  /*    (format~14).  It is an odd subtable because it is not a mapping of */
     3187  /*    input code points to glyphs, but contains lists of all variants    */
     3188  /*    supported by the font.                                             */
     3189  /*                                                                       */
     3190  /*    A variant may be either `default' or `non-default'.  A default     */
     3191  /*    variant is the one you will get for that code point if you look it */
     3192  /*    up in the standard Unicode cmap.  A non-default variant is a       */
     3193  /*    different glyph.                                                   */
     3194  /*                                                                       */
     3195  /*************************************************************************/
     3196
     3197
     3198  /*************************************************************************/
     3199  /*                                                                       */
     3200  /* <Function>                                                            */
     3201  /*    FT_Face_GetCharVariantIndex                                        */
     3202  /*                                                                       */
     3203  /* <Description>                                                         */
     3204  /*    Return the glyph index of a given character code as modified by    */
     3205  /*    the variation selector.                                            */
     3206  /*                                                                       */
     3207  /* <Input>                                                               */
     3208  /*    face ::                                                            */
     3209  /*      A handle to the source face object.                              */
     3210  /*                                                                       */
     3211  /*    charcode ::                                                        */
     3212  /*      The character code point in Unicode.                             */
     3213  /*                                                                       */
     3214  /*    variantSelector ::                                                 */
     3215  /*      The Unicode code point of the variation selector.                */
     3216  /*                                                                       */
     3217  /* <Return>                                                              */
     3218  /*    The glyph index.  0~means either `undefined character code', or    */
     3219  /*    `undefined selector code', or `no variation selector cmap          */
     3220  /*    subtable', or `current CharMap is not Unicode'.                    */
     3221  /*                                                                       */
     3222  /* <Note>                                                                */
     3223  /*    If you use FreeType to manipulate the contents of font files       */
     3224  /*    directly, be aware that the glyph index returned by this function  */
     3225  /*    doesn't always correspond to the internal indices used within      */
     3226  /*    the file.  This is done to ensure that value~0 always corresponds  */
     3227  /*    to the `missing glyph'.                                            */
     3228  /*                                                                       */
     3229  /*    This function is only meaningful if                                */
     3230  /*      a) the font has a variation selector cmap sub table,             */
     3231  /*    and                                                                */
     3232  /*      b) the current charmap has a Unicode encoding.                   */
     3233  /*                                                                       */
     3234  /* <Since>                                                               */
     3235  /*    2.3.6                                                              */
     3236  /*                                                                       */
     3237  FT_EXPORT( FT_UInt )
     3238  FT_Face_GetCharVariantIndex( FT_Face   face,
     3239                               FT_ULong  charcode,
     3240                               FT_ULong  variantSelector );
     3241
     3242
     3243  /*************************************************************************/
     3244  /*                                                                       */
     3245  /* <Function>                                                            */
     3246  /*    FT_Face_GetCharVariantIsDefault                                    */
     3247  /*                                                                       */
     3248  /* <Description>                                                         */
     3249  /*    Check whether this variant of this Unicode character is the one to */
     3250  /*    be found in the `cmap'.                                            */
     3251  /*                                                                       */
     3252  /* <Input>                                                               */
     3253  /*    face ::                                                            */
     3254  /*      A handle to the source face object.                              */
     3255  /*                                                                       */
     3256  /*    charcode ::                                                        */
     3257  /*      The character codepoint in Unicode.                              */
     3258  /*                                                                       */
     3259  /*    variantSelector ::                                                 */
     3260  /*      The Unicode codepoint of the variation selector.                 */
     3261  /*                                                                       */
     3262  /* <Return>                                                              */
     3263  /*    1~if found in the standard (Unicode) cmap, 0~if found in the       */
     3264  /*    variation selector cmap, or -1 if it is not a variant.             */
     3265  /*                                                                       */
     3266  /* <Note>                                                                */
     3267  /*    This function is only meaningful if the font has a variation       */
     3268  /*    selector cmap subtable.                                            */
     3269  /*                                                                       */
     3270  /* <Since>                                                               */
     3271  /*    2.3.6                                                              */
     3272  /*                                                                       */
     3273  FT_EXPORT( FT_Int )
     3274  FT_Face_GetCharVariantIsDefault( FT_Face   face,
     3275                                   FT_ULong  charcode,
     3276                                   FT_ULong  variantSelector );
     3277
     3278
     3279  /*************************************************************************/
     3280  /*                                                                       */
     3281  /* <Function>                                                            */
     3282  /*    FT_Face_GetVariantSelectors                                        */
     3283  /*                                                                       */
     3284  /* <Description>                                                         */
     3285  /*    Return a zero-terminated list of Unicode variant selectors found   */
     3286  /*    in the font.                                                       */
     3287  /*                                                                       */
     3288  /* <Input>                                                               */
     3289  /*    face ::                                                            */
     3290  /*      A handle to the source face object.                              */
     3291  /*                                                                       */
     3292  /* <Return>                                                              */
     3293  /*    A pointer to an array of selector code points, or NULL if there is */
     3294  /*    no valid variant selector cmap subtable.                           */
     3295  /*                                                                       */
     3296  /* <Note>                                                                */
     3297  /*    The last item in the array is~0; the array is owned by the         */
     3298  /*    @FT_Face object but can be overwritten or released on the next     */
     3299  /*    call to a FreeType function.                                       */
     3300  /*                                                                       */
     3301  /* <Since>                                                               */
     3302  /*    2.3.6                                                              */
     3303  /*                                                                       */
     3304  FT_EXPORT( FT_UInt32* )
     3305  FT_Face_GetVariantSelectors( FT_Face  face );
     3306
     3307
     3308  /*************************************************************************/
     3309  /*                                                                       */
     3310  /* <Function>                                                            */
     3311  /*    FT_Face_GetVariantsOfChar                                          */
     3312  /*                                                                       */
     3313  /* <Description>                                                         */
     3314  /*    Return a zero-terminated list of Unicode variant selectors found   */
     3315  /*    for the specified character code.                                  */
     3316  /*                                                                       */
     3317  /* <Input>                                                               */
     3318  /*    face ::                                                            */
     3319  /*      A handle to the source face object.                              */
     3320  /*                                                                       */
     3321  /*    charcode ::                                                        */
     3322  /*      The character codepoint in Unicode.                              */
     3323  /*                                                                       */
     3324  /* <Return>                                                              */
     3325  /*    A pointer to an array of variant selector code points which are    */
     3326  /*    active for the given character, or NULL if the corresponding list  */
     3327  /*    is empty.                                                          */
     3328  /*                                                                       */
     3329  /* <Note>                                                                */
     3330  /*    The last item in the array is~0; the array is owned by the         */
     3331  /*    @FT_Face object but can be overwritten or released on the next     */
     3332  /*    call to a FreeType function.                                       */
     3333  /*                                                                       */
     3334  /* <Since>                                                               */
     3335  /*    2.3.6                                                              */
     3336  /*                                                                       */
     3337  FT_EXPORT( FT_UInt32* )
     3338  FT_Face_GetVariantsOfChar( FT_Face   face,
     3339                             FT_ULong  charcode );
     3340
     3341
     3342  /*************************************************************************/
     3343  /*                                                                       */
     3344  /* <Function>                                                            */
     3345  /*    FT_Face_GetCharsOfVariant                                          */
     3346  /*                                                                       */
     3347  /* <Description>                                                         */
     3348  /*    Return a zero-terminated list of Unicode character codes found for */
     3349  /*    the specified variant selector.                                    */
     3350  /*                                                                       */
     3351  /* <Input>                                                               */
     3352  /*    face ::                                                            */
     3353  /*      A handle to the source face object.                              */
     3354  /*                                                                       */
     3355  /*    variantSelector ::                                                 */
     3356  /*      The variant selector code point in Unicode.                      */
     3357  /*                                                                       */
     3358  /* <Return>                                                              */
     3359  /*    A list of all the code points which are specified by this selector */
     3360  /*    (both default and non-default codes are returned) or NULL if there */
     3361  /*    is no valid cmap or the variant selector is invalid.               */
     3362  /*                                                                       */
     3363  /* <Note>                                                                */
     3364  /*    The last item in the array is~0; the array is owned by the         */
     3365  /*    @FT_Face object but can be overwritten or released on the next     */
     3366  /*    call to a FreeType function.                                       */
     3367  /*                                                                       */
     3368  /* <Since>                                                               */
     3369  /*    2.3.6                                                              */
     3370  /*                                                                       */
     3371  FT_EXPORT( FT_UInt32* )
     3372  FT_Face_GetCharsOfVariant( FT_Face   face,
     3373                             FT_ULong  variantSelector );
    30923374
    30933375
     
    32033485  /*                                                                       */
    32043486  /* <Note>                                                                */
    3205   /*    The optimization for FT_DivFix() is simple: If (a << 16) fits in   */
    3206   /*    32 bits, then the division is computed directly.  Otherwise, we    */
     3487  /*    The optimization for FT_DivFix() is simple: If (a~<<~16) fits in   */
     3488  /*    32~bits, then the division is computed directly.  Otherwise, we    */
    32073489  /*    use a specialized version of @FT_MulDiv.                           */
    32083490  /*                                                                       */
     
    33303612#define FREETYPE_MAJOR  2
    33313613#define FREETYPE_MINOR  3
    3332 #define FREETYPE_PATCH  5
     3614#define FREETYPE_PATCH  7
    33333615
    33343616
     
    33873669  /*                                                                       */
    33883670  /* <Return>                                                              */
    3389   /*    1 if this is a TrueType font that uses one of the patented         */
    3390   /*    opcodes, 0 otherwise.                                              */
     3671  /*    1~if this is a TrueType font that uses one of the patented         */
     3672  /*    opcodes, 0~otherwise.                                              */
    33913673  /*                                                                       */
    33923674  /* <Since>                                                               */
  • trunk/poppler/freetype2/include/freetype/ftbbox.h

    r209 r251  
    55/*    FreeType exact bbox computation (specification).                     */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2003 by                                           */
     7/*  Copyright 1996-2001, 2003, 2007 by                                     */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    5959  /*                                                                       */
    6060  /* <Description>                                                         */
    61   /*    Computes the exact bounding box of an outline.  This is slower     */
     61  /*    Compute the exact bounding box of an outline.  This is slower      */
    6262  /*    than computing the control box.  However, it uses an advanced      */
    6363  /*    algorithm which returns _very_ quickly when the two boxes          */
    64   /*    coincide.  Otherwise, the outline Bézier arcs are walked over to   */
     64  /*    coincide.  Otherwise, the outline Bézier arcs are traversed to     */
    6565  /*    extract their extrema.                                             */
    6666  /*                                                                       */
     
    7272  /*                                                                       */
    7373  /* <Return>                                                              */
    74   /*    FreeType error code.  0 means success.                             */
     74  /*    FreeType error code.  0~means success.                             */
    7575  /*                                                                       */
    7676  FT_EXPORT( FT_Error )
  • trunk/poppler/freetype2/include/freetype/ftbdf.h

    r209 r251  
    3939  /*                                                                       */
    4040  /* <Title>                                                               */
    41   /*    BDF Files                                                          */
     41  /*    BDF and PCF Files                                                  */
    4242  /*                                                                       */
    4343  /* <Abstract>                                                            */
    44   /*    BDF specific API.                                                  */
     44  /*    BDF and PCF specific API.                                          */
    4545  /*                                                                       */
    4646  /* <Description>                                                         */
    47   /*    This section contains the declaration of BDF specific functions.   */
     47  /*    This section contains the declaration of functions specific to BDF */
     48  /*    and PCF fonts.                                                     */
    4849  /*                                                                       */
    4950  /*************************************************************************/
    5051
    5152
    52  /**********************************************************************
    53   *
    54   * @enum:
    55   *    FT_PropertyType
    56   *
    57   * @description:
    58   *    A list of BDF property types.
    59   *
    60   * @values:
    61   *    BDF_PROPERTY_TYPE_NONE ::
    62   *      Value 0 is used to indicate a missing property.
    63   *
    64   *    BDF_PROPERTY_TYPE_ATOM ::
    65   *      Property is a string atom.
    66   *
    67   *    BDF_PROPERTY_TYPE_INTEGER ::
    68   *      Property is a 32-bit signed integer.
    69   *
    70   *    BDF_PROPERTY_TYPE_CARDINAL ::
    71   *      Property is a 32-bit unsigned integer.
    72   */
     53  /**********************************************************************
     54   *
     55   * @enum:
     56   *    FT_PropertyType
     57   *
     58   * @description:
     59   *    A list of BDF property types.
     60   *
     61   * @values:
     62   *    BDF_PROPERTY_TYPE_NONE ::
     63   *      Value~0 is used to indicate a missing property.
     64   *
     65   *    BDF_PROPERTY_TYPE_ATOM ::
     66   *      Property is a string atom.
     67   *
     68   *    BDF_PROPERTY_TYPE_INTEGER ::
     69   *      Property is a 32-bit signed integer.
     70   *
     71   *    BDF_PROPERTY_TYPE_CARDINAL ::
     72   *      Property is a 32-bit unsigned integer.
     73   */
    7374  typedef enum  BDF_PropertyType_
    7475  {
     
    8182
    8283
    83  /**********************************************************************
    84   *
    85   * @type:
    86   *    BDF_Property
    87   *
    88   * @description:
    89   *    A handle to a @BDF_PropertyRec structure to model a given
    90   *    BDF/PCF property.
    91   */
     84  /**********************************************************************
     85   *
     86   * @type:
     87   *    BDF_Property
     88   *
     89   * @description:
     90   *    A handle to a @BDF_PropertyRec structure to model a given
     91   *    BDF/PCF property.
     92   */
    9293  typedef struct BDF_PropertyRec_*  BDF_Property;
    9394
     
    133134  *
    134135  * @description:
    135   *    Retrieves a BDF font character set identity, according to
     136  *    Retrieve a BDF font character set identity, according to
    136137  *    the BDF specification.
    137138  *
     
    142143  * @output:
    143144  *    acharset_encoding ::
    144   *       Charset encoding, as a C string, owned by the face.
     145  *       Charset encoding, as a C~string, owned by the face.
    145146  *
    146147  *    acharset_registry ::
    147   *       Charset registry, as a C string, owned by the face.
     148  *       Charset registry, as a C~string, owned by the face.
    148149  *
    149150  * @return:
    150   *   FreeType error code.  0 means success.
     151  *   FreeType error code.  0~means success.
    151152  *
    152153  * @note:
     
    165166  *
    166167  * @description:
    167   *    Retrieves a BDF property from a BDF or PCF font file.
     168  *    Retrieve a BDF property from a BDF or PCF font file.
    168169  *
    169170  * @input:
     
    176177  *
    177178  * @return:
    178   *   FreeType error code.  0 means success.
     179  *   FreeType error code.  0~means success.
    179180  *
    180181  * @note:
  • trunk/poppler/freetype2/include/freetype/ftbitmap.h

    r209 r251  
    7373  /*                                                                       */
    7474  /* <Description>                                                         */
    75   /*    Copies an bitmap into another one.                                 */
     75  /*    Copy a bitmap into another one.                                    */
    7676  /*                                                                       */
    7777  /* <Input>                                                               */
     
    8484  /*                                                                       */
    8585  /* <Return>                                                              */
    86   /*    FreeType error code.  0 means success.                             */
     86  /*    FreeType error code.  0~means success.                             */
    8787  /*                                                                       */
    8888  FT_EXPORT( FT_Error )
     
    115115  /*                                                                       */
    116116  /* <Return>                                                              */
    117   /*    FreeType error code.  0 means success.                             */
     117  /*    FreeType error code.  0~means success.                             */
    118118  /*                                                                       */
    119119  /* <Note>                                                                */
    120120  /*    The current implementation restricts `xStrength' to be less than   */
    121   /*    or equal to 8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO.      */
     121  /*    or equal to~8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO.      */
    122122  /*                                                                       */
    123123  /*    If you want to embolden the bitmap owned by a @FT_GlyphSlotRec,    */
     
    153153  /*                                                                       */
    154154  /* <Return>                                                              */
    155   /*    FreeType error code.  0 means success.                             */
     155  /*    FreeType error code.  0~means success.                             */
    156156  /*                                                                       */
    157157  /* <Note>                                                                */
     
    185185  /*                                                                       */
    186186  /* <Return>                                                              */
    187   /*    FreeType error code.  0 means success.                             */
     187  /*    FreeType error code.  0~means success.                             */
    188188  /*                                                                       */
    189189  /* <Note>                                                                */
  • trunk/poppler/freetype2/include/freetype/ftcache.h

    r209 r251  
    55/*    FreeType Cache subsystem (specification).                            */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
     7/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by       */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    3737   *
    3838   * <Abstract>
    39    *    How to cache face, size, and glyph data with FreeType 2.
     39   *    How to cache face, size, and glyph data with FreeType~2.
    4040   *
    4141   * <Description>
    42    *   This section describes the FreeType 2 cache sub-system, which is used
     42   *   This section describes the FreeType~2 cache sub-system, which is used
    4343   *   to limit the number of concurrently opened @FT_Face and @FT_Size
    4444   *   objects, as well as caching information like character maps and glyph
     
    166166   *   memory leaks and crashes.
    167167   */
    168   typedef struct FTC_FaceIDRec_*  FTC_FaceID;
     168  typedef FT_Pointer  FTC_FaceID;
    169169
    170170
     
    194194   *
    195195   * <Return>
    196    *   FreeType error code.  0 means success.
     196   *   FreeType error code.  0~means success.
    197197   *
    198198   * <Note>
     
    261261  /* <Description>                                                         */
    262262  /*    An opaque handle to a cache node object.  Each cache node is       */
    263   /*    reference-counted.  A node with a count of 0 might be flushed      */
     263  /*    reference-counted.  A node with a count of~0 might be flushed      */
    264264  /*    out of a full cache whenever a lookup request is performed.        */
    265265  /*                                                                       */
     
    280280  /*                                                                       */
    281281  /* <Description>                                                         */
    282   /*    Creates a new cache manager.                                       */
     282  /*    Create a new cache manager.                                        */
    283283  /*                                                                       */
    284284  /* <Input>                                                               */
     
    286286  /*                                                                       */
    287287  /*    max_faces :: Maximum number of opened @FT_Face objects managed by  */
    288   /*                 this cache instance.  Use 0 for defaults.             */
     288  /*                 this cache instance.  Use~0 for defaults.             */
    289289  /*                                                                       */
    290290  /*    max_sizes :: Maximum number of opened @FT_Size objects managed by  */
    291   /*                 this cache instance.  Use 0 for defaults.             */
     291  /*                 this cache instance.  Use~0 for defaults.             */
    292292  /*                                                                       */
    293293  /*    max_bytes :: Maximum number of bytes to use for cached data nodes. */
    294   /*                 Use 0 for defaults.  Note that this value does not    */
     294  /*                 Use~0 for defaults.  Note that this value does not    */
    295295  /*                 account for managed @FT_Face and @FT_Size objects.    */
    296296  /*                                                                       */
     
    302302  /*                                                                       */
    303303  /* <Output>                                                              */
    304   /*    amanager  :: A handle to a new manager object.  0 in case of       */
     304  /*    amanager  :: A handle to a new manager object.  0~in case of       */
    305305  /*                 failure.                                              */
    306306  /*                                                                       */
    307307  /* <Return>                                                              */
    308   /*    FreeType error code.  0 means success.                             */
     308  /*    FreeType error code.  0~means success.                             */
    309309  /*                                                                       */
    310310  FT_EXPORT( FT_Error )
     
    324324  /*                                                                       */
    325325  /* <Description>                                                         */
    326   /*    Empties a given cache manager.  This simply gets rid of all the    */
     326  /*    Empty a given cache manager.  This simply gets rid of all the      */
    327327  /*    currently cached @FT_Face and @FT_Size objects within the manager. */
    328328  /*                                                                       */
     
    340340  /*                                                                       */
    341341  /* <Description>                                                         */
    342   /*    Destroys a given manager after emptying it.                        */
     342  /*    Destroy a given manager after emptying it.                         */
    343343  /*                                                                       */
    344344  /* <Input>                                                               */
     
    355355  /*                                                                       */
    356356  /* <Description>                                                         */
    357   /*    Retrieves the @FT_Face object that corresponds to a given face ID  */
     357  /*    Retrieve the @FT_Face object that corresponds to a given face ID   */
    358358  /*    through a cache manager.                                           */
    359359  /*                                                                       */
     
    367367  /*                                                                       */
    368368  /* <Return>                                                              */
    369   /*    FreeType error code.  0 means success.                             */
     369  /*    FreeType error code.  0~means success.                             */
    370370  /*                                                                       */
    371371  /* <Note>                                                                */
     
    416416  /*               Otherwise, they are expressed as 1/64th of points.      */
    417417  /*                                                                       */
    418   /*    x_res   :: Only used when `pixel' is value 0 to indicate the       */
     418  /*    x_res   :: Only used when `pixel' is value~0 to indicate the       */
    419419  /*               horizontal resolution in dpi.                           */
    420420  /*                                                                       */
    421   /*    y_res   :: Only used when `pixel' is value 0 to indicate the       */
     421  /*    y_res   :: Only used when `pixel' is value~0 to indicate the       */
    422422  /*               vertical resolution in dpi.                             */
    423423  /*                                                                       */
     
    435435    FT_UInt     y_res;
    436436
    437   } FTC_ScalerRec, *FTC_Scaler;
     437  } FTC_ScalerRec;
     438
     439
     440  /*************************************************************************/
     441  /*                                                                       */
     442  /* <Struct>                                                              */
     443  /*    FTC_Scaler                                                         */
     444  /*                                                                       */
     445  /* <Description>                                                         */
     446  /*    A handle to an @FTC_ScalerRec structure.                           */
     447  /*                                                                       */
     448  typedef struct FTC_ScalerRec_*  FTC_Scaler;
    438449
    439450
     
    456467  /*                                                                       */
    457468  /* <Return>                                                              */
    458   /*    FreeType error code.  0 means success.                             */
     469  /*    FreeType error code.  0~means success.                             */
    459470  /*                                                                       */
    460471  /* <Note>                                                                */
     
    570581   *
    571582   * @return:
    572    *   FreeType error code.  0 means success.
     583   *   FreeType error code.  0~means success.
    573584   *
    574585   * @note:
     
    605616   *
    606617   * @return:
    607    *    Glyph index.  0 means `no glyph'.
     618   *    Glyph index.  0~means `no glyph'.
    608619   *
    609620   */
     
    711722  /*                                                                       */
    712723  /* <Description>                                                         */
    713   /*    Creates a new glyph image cache.                                   */
     724  /*    Create a new glyph image cache.                                    */
    714725  /*                                                                       */
    715726  /* <Input>                                                               */
     
    720731  /*                                                                       */
    721732  /* <Return>                                                              */
    722   /*    FreeType error code.  0 means success.                             */
     733  /*    FreeType error code.  0~means success.                             */
    723734  /*                                                                       */
    724735  FT_EXPORT( FT_Error )
     
    733744  /*                                                                       */
    734745  /* <Description>                                                         */
    735   /*    Retrieves a given glyph image from a glyph image cache.            */
     746  /*    Retrieve a given glyph image from a glyph image cache.             */
    736747  /*                                                                       */
    737748  /* <Input>                                                               */
     
    743754  /*                                                                       */
    744755  /* <Output>                                                              */
    745   /*    aglyph :: The corresponding @FT_Glyph object.  0 in case of        */
     756  /*    aglyph :: The corresponding @FT_Glyph object.  0~in case of        */
    746757  /*              failure.                                                 */
    747758  /*                                                                       */
     
    751762  /*                                                                       */
    752763  /* <Return>                                                              */
    753   /*    FreeType error code.  0 means success.                             */
     764  /*    FreeType error code.  0~means success.                             */
    754765  /*                                                                       */
    755766  /* <Note>                                                                */
     
    796807  /*                                                                       */
    797808  /* <Output>                                                              */
    798   /*    aglyph     :: The corresponding @FT_Glyph object.  0 in case of    */
     809  /*    aglyph     :: The corresponding @FT_Glyph object.  0~in case of    */
    799810  /*                  failure.                                             */
    800811  /*                                                                       */
     
    804815  /*                                                                       */
    805816  /* <Return>                                                              */
    806   /*    FreeType error code.  0 means success.                             */
     817  /*    FreeType error code.  0~means success.                             */
    807818  /*                                                                       */
    808819  /* <Note>                                                                */
     
    863874  /*                 baseline) to the upper bitmap border (a.k.a. `top     */
    864875  /*                 side bearing').  The distance is positive for upwards */
    865   /*                 Y coordinates.                                        */
     876  /*                 y~coordinates.                                        */
    866877  /*                                                                       */
    867878  /*    format    :: The format of the glyph bitmap (monochrome or gray).  */
    868879  /*                                                                       */
    869   /*    max_grays :: Maximum gray level value (in the range 1 to 255).     */
     880  /*    max_grays :: Maximum gray level value (in the range 1 to~255).     */
    870881  /*                                                                       */
    871882  /*    pitch     :: The number of bytes per bitmap line.  May be positive */
     
    916927  /*                                                                       */
    917928  /* <Description>                                                         */
    918   /*    Creates a new cache to store small glyph bitmaps.                  */
     929  /*    Create a new cache to store small glyph bitmaps.                   */
    919930  /*                                                                       */
    920931  /* <Input>                                                               */
     
    925936  /*                                                                       */
    926937  /* <Return>                                                              */
    927   /*    FreeType error code.  0 means success.                             */
     938  /*    FreeType error code.  0~means success.                             */
    928939  /*                                                                       */
    929940  FT_EXPORT( FT_Error )
     
    938949  /*                                                                       */
    939950  /* <Description>                                                         */
    940   /*    Looks up a given small glyph bitmap in a given sbit cache and      */
     951  /*    Look up a given small glyph bitmap in a given sbit cache and       */
    941952  /*    `lock' it to prevent its flushing from the cache until needed.     */
    942953  /*                                                                       */
     
    956967  /*                                                                       */
    957968  /* <Return>                                                              */
    958   /*    FreeType error code.  0 means success.                             */
     969  /*    FreeType error code.  0~means success.                             */
    959970  /*                                                                       */
    960971  /* <Note>                                                                */
     
    964975  /*    treat them as persistent data.                                     */
    965976  /*                                                                       */
    966   /*    The descriptor's `buffer' field is set to 0 to indicate a missing  */
     977  /*    The descriptor's `buffer' field is set to~0 to indicate a missing  */
    967978  /*    glyph bitmap.                                                      */
    968979  /*                                                                       */
     
    10111022  /*                                                                       */
    10121023  /* <Return>                                                              */
    1013   /*    FreeType error code.  0 means success.                             */
     1024  /*    FreeType error code.  0~means success.                             */
    10141025  /*                                                                       */
    10151026  /* <Note>                                                                */
     
    10191030  /*    treat them as persistent data.                                     */
    10201031  /*                                                                       */
    1021   /*    The descriptor's `buffer' field is set to 0 to indicate a missing  */
     1032  /*    The descriptor's `buffer' field is set to~0 to indicate a missing  */
    10221033  /*    glyph bitmap.                                                      */
    10231034  /*                                                                       */
  • trunk/poppler/freetype2/include/freetype/ftchapters.h

    r209 r251  
    3333/*    basic_types                                                          */
    3434/*    base_interface                                                       */
     35/*    glyph_variants                                                       */
    3536/*    glyph_management                                                     */
    3637/*    mac_specific                                                         */
     
    5556/*    sfnt_names                                                           */
    5657/*    bdf_fonts                                                            */
     58/*    cid_fonts                                                            */
    5759/*    pfr_fonts                                                            */
    5860/*    winfnt_fonts                                                         */
  • trunk/poppler/freetype2/include/freetype/ftgasp.h

    r209 r251  
    55/*    Access of TrueType's `gasp' table (specification).                   */
    66/*                                                                         */
    7 /*  Copyright 2007 by                                                      */
     7/*  Copyright 2007, 2008 by                                                */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    3232   *
    3333   * @abstract:
    34    *   Retrieving TrueType `gasp' table entries
     34   *   Retrieving TrueType `gasp' table entries.
    3535   *
    3636   * @description:
    3737   *   The function @FT_Get_Gasp can be used to query a TrueType or OpenType
    38    *   font for specific entries in their `gasp' table, if any.  This is
     38   *   font for specific entries in its `gasp' table, if any.  This is
    3939   *   mainly useful when implementing native TrueType hinting with the
    4040   *   bytecode interpreter to duplicate the Windows text rendering results.
     
    9696   *
    9797   * @return:
    98    *   Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE is there is no
     98   *   Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE if there is no
    9999   *   `gasp' table in the face.
    100100   *
  • trunk/poppler/freetype2/include/freetype/ftglyph.h

    r209 r251  
    146146  /*    top    :: The top-side bearing, i.e., the vertical distance from   */
    147147  /*              the current pen position to the top border of the glyph  */
    148   /*              bitmap.  This distance is positive for upwards-y!        */
     148  /*              bitmap.  This distance is positive for upwards~y!        */
    149149  /*                                                                       */
    150150  /*    bitmap :: A descriptor for the bitmap.                             */
     
    229229  /*                                                                       */
    230230  /* <Return>                                                              */
    231   /*    FreeType error code.  0 means success.                             */
     231  /*    FreeType error code.  0~means success.                             */
    232232  /*                                                                       */
    233233  FT_EXPORT( FT_Error )
     
    249249  /*                                                                       */
    250250  /* <Output>                                                              */
    251   /*    target :: A handle to the target glyph object.  0 in case of       */
     251  /*    target :: A handle to the target glyph object.  0~in case of       */
    252252  /*              error.                                                   */
    253253  /*                                                                       */
    254254  /* <Return>                                                              */
    255   /*    FreeType error code.  0 means success.                             */
     255  /*    FreeType error code.  0~means success.                             */
    256256  /*                                                                       */
    257257  FT_EXPORT( FT_Error )
     
    266266  /*                                                                       */
    267267  /* <Description>                                                         */
    268   /*    Transforms a glyph image if its format is scalable.                */
     268  /*    Transform a glyph image if its format is scalable.                 */
    269269  /*                                                                       */
    270270  /* <InOut>                                                               */
     
    376376  /*                                                                       */
    377377  /* <Note>                                                                */
    378   /*    Coordinates are relative to the glyph origin, using the Y-upwards  */
     378  /*    Coordinates are relative to the glyph origin, using the y~upwards  */
    379379  /*    convention.                                                        */
    380380  /*                                                                       */
     
    422422  /*                                                                       */
    423423  /* <Description>                                                         */
    424   /*    Converts a given glyph object to a bitmap glyph object.            */
     424  /*    Convert a given glyph object to a bitmap glyph object.             */
    425425  /*                                                                       */
    426426  /* <InOut>                                                               */
     
    432432  /*                                                                       */
    433433  /*    origin      :: A pointer to a vector used to translate the glyph   */
    434   /*                   image before rendering.  Can be 0 (if no            */
     434  /*                   image before rendering.  Can be~0 (if no            */
    435435  /*                   translation).  The origin is expressed in           */
    436436  /*                   26.6 pixels.                                        */
     
    441441  /*                                                                       */
    442442  /* <Return>                                                              */
    443   /*    FreeType error code.  0 means success.                             */
     443  /*    FreeType error code.  0~means success.                             */
    444444  /*                                                                       */
    445445  /* <Note>                                                                */
     
    498498  /*                                                                       */
    499499  /* <Description>                                                         */
    500   /*    Destroys a given glyph.                                            */
     500  /*    Destroy a given glyph.                                             */
    501501  /*                                                                       */
    502502  /* <Input>                                                               */
     
    525525  /*                                                                       */
    526526  /* <Description>                                                         */
    527   /*    Performs the matrix operation `b = a*b'.                           */
     527  /*    Perform the matrix operation `b = a*b'.                            */
    528528  /*                                                                       */
    529529  /* <Input>                                                               */
     
    538538  FT_EXPORT( void )
    539539  FT_Matrix_Multiply( const FT_Matrix*  a,
    540                       FT_Matrix*  b );
     540                      FT_Matrix*        b );
    541541
    542542
     
    547547  /*                                                                       */
    548548  /* <Description>                                                         */
    549   /*    Inverts a 2x2 matrix.  Returns an error if it can't be inverted.   */
     549  /*    Invert a 2x2 matrix.  Return an error if it can't be inverted.     */
    550550  /*                                                                       */
    551551  /* <InOut>                                                               */
     
    554554  /*                                                                       */
    555555  /* <Return>                                                              */
    556   /*    FreeType error code.  0 means success.                             */
     556  /*    FreeType error code.  0~means success.                             */
    557557  /*                                                                       */
    558558  FT_EXPORT( FT_Error )
  • trunk/poppler/freetype2/include/freetype/ftgxval.h

    r209 r251  
    203203  *
    204204  * @return:
    205   *   FreeType error code.  0 means success.
     205  *   FreeType error code.  0~means success.
    206206  *
    207207  * @note:
     
    286286  *
    287287  * @description:
    288   *    Validate classic (16bit format) kern table to assure that the offsets
     288  *    Validate classic (16-bit format) kern table to assure that the offsets
    289289  *    and indices are valid.  The idea is that a higher-level library which
    290290  *    actually does the text layout can access those tables without error
     
    292292  *
    293293  *    The `kern' table validator in @FT_TrueTypeGX_Validate deals with both
    294   *    the new 32bit format and the classic 16bit format, while
    295   *    FT_ClassicKern_Validate only supports the classic 16bit format.
     294  *    the new 32-bit format and the classic 16-bit format, while
     295  *    FT_ClassicKern_Validate only supports the classic 16-bit format.
    296296  *
    297297  * @input:
     
    308308  *
    309309  * @return:
    310   *   FreeType error code.  0 means success.
     310  *   FreeType error code.  0~means success.
    311311  *
    312312  * @note:
  • trunk/poppler/freetype2/include/freetype/ftgzip.h

    r209 r251  
    6767  *
    6868  * @return:
    69   *   FreeType error code.  0 means success.
     69  *   FreeType error code.  0~means success.
    7070  *
    7171  * @note:
  • trunk/poppler/freetype2/include/freetype/ftimage.h

    r209 r251  
    66/*    (specification).                                                     */
    77/*                                                                         */
    8 /*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
     8/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by       */
    99/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    1010/*                                                                         */
     
    2929
    3030
    31 /* _STANDALONE_ is from ftgrays.c */
     31  /* _STANDALONE_ is from ftgrays.c */
    3232#ifndef _STANDALONE_
    3333#include <ft2build.h>
     
    5454  /*    The type FT_Pos is a 32-bit integer used to store vectorial        */
    5555  /*    coordinates.  Depending on the context, these can represent        */
    56   /*    distances in integer font units, or 16,16, or 26.6 fixed float     */
     56  /*    distances in integer font units, or 16.16, or 26.6 fixed float     */
    5757  /*    pixel coordinates.                                                 */
    5858  /*                                                                       */
     
    120120  /* <Values>                                                              */
    121121  /*    FT_PIXEL_MODE_NONE ::                                              */
    122   /*      Value 0 is reserved.                                             */
     122  /*      Value~0 is reserved.                                             */
    123123  /*                                                                       */
    124124  /*    FT_PIXEL_MODE_MONO ::                                              */
    125   /*      A monochrome bitmap, using 1 bit per pixel.  Note that pixels    */
     125  /*      A monochrome bitmap, using 1~bit per pixel.  Note that pixels    */
    126126  /*      are stored in most-significant order (MSB), which means that     */
    127127  /*      the left-most pixel in a byte has value 128.                     */
     
    130130  /*      An 8-bit bitmap, generally used to represent anti-aliased glyph  */
    131131  /*      images.  Each pixel is stored in one byte.  Note that the number */
    132   /*      of value `gray' levels is stored in the `num_bytes' field of     */
     132  /*      of value `gray' levels is stored in the `num_grays' field of     */
    133133  /*      the @FT_Bitmap structure (it generally is 256).                  */
    134134  /*                                                                       */
     
    207207  /*    used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8.               */
    208208  /*                                                                       */
    209   /* <Fields>                                                              */
    210   /*    ft_palette_mode_rgb  :: The palette is an array of 3-bytes RGB     */
     209  /* <Values>                                                              */
     210  /*    ft_palette_mode_rgb  :: The palette is an array of 3-byte RGB      */
    211211  /*                            records.                                   */
    212212  /*                                                                       */
    213   /*    ft_palette_mode_rgba :: The palette is an array of 4-bytes RGBA    */
     213  /*    ft_palette_mode_rgba :: The palette is an array of 4-byte RGBA     */
    214214  /*                            records.                                   */
    215215  /*                                                                       */
     
    223223    ft_palette_mode_rgba,
    224224
    225     ft_palettte_mode_max   /* do not remove */
     225    ft_palette_mode_max   /* do not remove */
    226226
    227227  } FT_Palette_Mode;
     
    318318  /*                                                                       */
    319319  /*    tags       :: A pointer to an array of `n_points' chars, giving    */
    320   /*                  each outline point's type.  If bit 0 is unset, the   */
     320  /*                  each outline point's type.  If bit~0 is unset, the   */
    321321  /*                  point is `off' the curve, i.e., a Bézier control     */
    322322  /*                  point, while it is `on' when set.                    */
    323323  /*                                                                       */
    324   /*                  Bit 1 is meaningful for `off' points only.  If set,  */
     324  /*                  Bit~1 is meaningful for `off' points only.  If set,  */
    325325  /*                  it indicates a third-order Bézier arc control point; */
    326326  /*                  and a second-order control point if unset.           */
     
    353353  /*                                                                       */
    354354  /* <Enum>                                                                */
    355   /*   FT_OUTLINE_FLAGS                                                    */
     355  /*    FT_OUTLINE_FLAGS                                                   */
    356356  /*                                                                       */
    357357  /* <Description>                                                         */
     
    360360  /*                                                                       */
    361361  /* <Values>                                                              */
    362   /*    FT_OUTLINE_NONE           :: Value 0 is reserved.                  */
    363   /*                                                                       */
    364   /*    FT_OUTLINE_OWNER          :: If set, this flag indicates that the  */
    365   /*                                 outline's field arrays (i.e.,         */
    366   /*                                 `points', `flags' & `contours') are   */
    367   /*                                 `owned' by the outline object, and    */
    368   /*                                 should thus be freed when it is       */
    369   /*                                 destroyed.                            */
    370   /*                                                                       */
    371   /*   FT_OUTLINE_EVEN_ODD_FILL   :: By default, outlines are filled using */
    372   /*                                 the non-zero winding rule.  If set to */
    373   /*                                 1, the outline will be filled using   */
    374   /*                                 the even-odd fill rule (only works    */
    375   /*                                 with the smooth raster).              */
    376   /*                                                                       */
    377   /*   FT_OUTLINE_REVERSE_FILL    :: By default, outside contours of an    */
    378   /*                                 outline are oriented in clock-wise    */
    379   /*                                 direction, as defined in the TrueType */
    380   /*                                 specification.  This flag is set if   */
    381   /*                                 the outline uses the opposite         */
    382   /*                                 direction (typically for Type 1       */
    383   /*                                 fonts).  This flag is ignored by the  */
    384   /*                                 scan-converter.                       */
    385   /*                                                                       */
    386   /*   FT_OUTLINE_IGNORE_DROPOUTS :: By default, the scan converter will   */
    387   /*                                 try to detect drop-outs in an outline */
    388   /*                                 and correct the glyph bitmap to       */
    389   /*                                 ensure consistent shape continuity.   */
    390   /*                                 If set, this flag hints the scan-line */
    391   /*                                 converter to ignore such cases.       */
    392   /*                                                                       */
    393   /*   FT_OUTLINE_HIGH_PRECISION  :: This flag indicates that the          */
    394   /*                                 scan-line converter should try to     */
    395   /*                                 convert this outline to bitmaps with  */
    396   /*                                 the highest possible quality.  It is  */
    397   /*                                 typically set for small character     */
    398   /*                                 sizes.  Note that this is only a      */
    399   /*                                 hint, that might be completely        */
    400   /*                                 ignored by a given scan-converter.    */
    401   /*                                                                       */
    402   /*   FT_OUTLINE_SINGLE_PASS     :: This flag is set to force a given     */
    403   /*                                 scan-converter to only use a single   */
    404   /*                                 pass over the outline to render a     */
    405   /*                                 bitmap glyph image.  Normally, it is  */
    406   /*                                 set for very large character sizes.   */
    407   /*                                 It is only a hint, that might be      */
    408   /*                                 completely ignored by a given         */
    409   /*                                 scan-converter.                       */
     362  /*    FT_OUTLINE_NONE ::                                                 */
     363  /*      Value~0 is reserved.                                             */
     364  /*                                                                       */
     365  /*    FT_OUTLINE_OWNER ::                                                */
     366  /*      If set, this flag indicates that the outline's field arrays      */
     367  /*      (i.e., `points', `flags', and `contours') are `owned' by the     */
     368  /*      outline object, and should thus be freed when it is destroyed.   */
     369  /*                                                                       */
     370  /*    FT_OUTLINE_EVEN_ODD_FILL ::                                        */
     371  /*      By default, outlines are filled using the non-zero winding rule. */
     372  /*      If set to 1, the outline will be filled using the even-odd fill  */
     373  /*      rule (only works with the smooth raster).                        */
     374  /*                                                                       */
     375  /*    FT_OUTLINE_REVERSE_FILL ::                                         */
     376  /*      By default, outside contours of an outline are oriented in       */
     377  /*      clock-wise direction, as defined in the TrueType specification.  */
     378  /*      This flag is set if the outline uses the opposite direction      */
     379  /*      (typically for Type~1 fonts).  This flag is ignored by the scan  */
     380  /*      converter.                                                       */
     381  /*                                                                       */
     382  /*    FT_OUTLINE_IGNORE_DROPOUTS ::                                      */
     383  /*      By default, the scan converter will try to detect drop-outs in   */
     384  /*      an outline and correct the glyph bitmap to ensure consistent     */
     385  /*      shape continuity.  If set, this flag hints the scan-line         */
     386  /*      converter to ignore such cases.                                  */
     387  /*                                                                       */
     388  /*    FT_OUTLINE_SMART_DROPOUTS ::                                       */
     389  /*      Select smart dropout control.  If unset, use simple dropout      */
     390  /*      control.  Ignored if @FT_OUTLINE_IGNORE_DROPOUTS is set.         */
     391  /*                                                                       */
     392  /*    FT_OUTLINE_INCLUDE_STUBS ::                                        */
     393  /*      If set, turn pixels on for `stubs', otherwise exclude them.      */
     394  /*      Ignored if @FT_OUTLINE_IGNORE_DROPOUTS is set.                   */
     395  /*                                                                       */
     396  /*    FT_OUTLINE_HIGH_PRECISION ::                                       */
     397  /*      This flag indicates that the scan-line converter should try to   */
     398  /*      convert this outline to bitmaps with the highest possible        */
     399  /*      quality.  It is typically set for small character sizes.  Note   */
     400  /*      that this is only a hint that might be completely ignored by a   */
     401  /*      given scan-converter.                                            */
     402  /*                                                                       */
     403  /*    FT_OUTLINE_SINGLE_PASS ::                                          */
     404  /*      This flag is set to force a given scan-converter to only use a   */
     405  /*      single pass over the outline to render a bitmap glyph image.     */
     406  /*      Normally, it is set for very large character sizes.  It is only  */
     407  /*      a hint that might be completely ignored by a given               */
     408  /*      scan-converter.                                                  */
     409  /*                                                                       */
     410  /* <Note>                                                                */
     411  /*    Please refer to the description of the `SCANTYPE' instruction in   */
     412  /*    the OpenType specification (in file `ttinst1.doc') how simple      */
     413  /*    drop-outs, smart drop-outs, and stubs are defined.                 */
    410414  /*                                                                       */
    411415#define FT_OUTLINE_NONE             0x0
     
    414418#define FT_OUTLINE_REVERSE_FILL     0x4
    415419#define FT_OUTLINE_IGNORE_DROPOUTS  0x8
     420#define FT_OUTLINE_SMART_DROPOUTS   0x10
     421#define FT_OUTLINE_INCLUDE_STUBS    0x20
    416422
    417423#define FT_OUTLINE_HIGH_PRECISION   0x100
     
    459465                                   FT_CURVE_TAG_TOUCH_Y )
    460466
    461 #define  FT_Curve_Tag_On       FT_CURVE_TAG_ON
    462 #define  FT_Curve_Tag_Conic    FT_CURVE_TAG_CONIC
    463 #define  FT_Curve_Tag_Cubic    FT_CURVE_TAG_CUBIC
    464 #define  FT_Curve_Tag_Touch_X  FT_CURVE_TAG_TOUCH_X
    465 #define  FT_Curve_Tag_Touch_Y  FT_CURVE_TAG_TOUCH_Y
     467#define FT_Curve_Tag_On       FT_CURVE_TAG_ON
     468#define FT_Curve_Tag_Conic    FT_CURVE_TAG_CONIC
     469#define FT_Curve_Tag_Cubic    FT_CURVE_TAG_CUBIC
     470#define FT_Curve_Tag_Touch_X  FT_CURVE_TAG_TOUCH_X
     471#define FT_Curve_Tag_Touch_Y  FT_CURVE_TAG_TOUCH_Y
     472
    466473
    467474  /*************************************************************************/
     
    483490  /*                                                                       */
    484491  /* <Return>                                                              */
    485   /*    Error code.  0 means success.                                      */
     492  /*    Error code.  0~means success.                                      */
    486493  /*                                                                       */
    487494  typedef int
     
    491498#define FT_Outline_MoveTo_Func  FT_Outline_MoveToFunc
    492499
     500
    493501  /*************************************************************************/
    494502  /*                                                                       */
     
    509517  /*                                                                       */
    510518  /* <Return>                                                              */
    511   /*    Error code.  0 means success.                                      */
     519  /*    Error code.  0~means success.                                      */
    512520  /*                                                                       */
    513521  typedef int
     
    515523                            void*             user );
    516524
    517 #define  FT_Outline_LineTo_Func  FT_Outline_LineToFunc
     525#define FT_Outline_LineTo_Func  FT_Outline_LineToFunc
     526
    518527
    519528  /*************************************************************************/
     
    539548  /*                                                                       */
    540549  /* <Return>                                                              */
    541   /*    Error code.  0 means success.                                      */
     550  /*    Error code.  0~means success.                                      */
    542551  /*                                                                       */
    543552  typedef int
     
    546555                             void*             user );
    547556
    548 #define  FT_Outline_ConicTo_Func  FT_Outline_ConicToFunc
     557#define FT_Outline_ConicTo_Func  FT_Outline_ConicToFunc
     558
    549559
    550560  /*************************************************************************/
     
    570580  /*                                                                       */
    571581  /* <Return>                                                              */
    572   /*    Error code.  0 means success.                                      */
     582  /*    Error code.  0~means success.                                      */
    573583  /*                                                                       */
    574584  typedef int
     
    578588                             void*             user );
    579589
    580 #define  FT_Outline_CubicTo_Func  FT_Outline_CubicToFunc
     590#define FT_Outline_CubicTo_Func  FT_Outline_CubicToFunc
    581591
    582592
     
    616626  /*    }                                                                  */
    617627  /*                                                                       */
    618   /*    Set the value of `shift' and `delta' to 0 to get the original      */
     628  /*    Set the value of `shift' and `delta' to~0 to get the original      */
    619629  /*    point coordinates.                                                 */
    620630  /*                                                                       */
     
    649659  /*                                                                       */
    650660  /* <Note>                                                                */
    651   /*    Since many 16bit compilers don't like 32bit enumerations, you      */
     661  /*    Since many 16-bit compilers don't like 32-bit enumerations, you    */
    652662  /*    should redefine this macro in case of problems to something like   */
    653663  /*    this:                                                              */
     
    681691  /* <Values>                                                              */
    682692  /*    FT_GLYPH_FORMAT_NONE ::                                            */
    683   /*      The value 0 is reserved.                                         */
     693  /*      The value~0 is reserved.                                         */
    684694  /*                                                                       */
    685695  /*    FT_GLYPH_FORMAT_COMPOSITE ::                                       */
     
    701711  /*    FT_GLYPH_FORMAT_PLOTTER ::                                         */
    702712  /*      The glyph image is a vectorial path with no inside and outside   */
    703   /*      contours.  Some Type 1 fonts, like those in the Hershey family,  */
     713  /*      contours.  Some Type~1 fonts, like those in the Hershey family,  */
    704714  /*      contain glyphs in this format.  These are described as           */
    705715  /*      @FT_Outline, but FreeType isn't currently capable of rendering   */
     
    813823  /* <Note>                                                                */
    814824  /*    This structure is used by the span drawing callback type named     */
    815   /*    @FT_SpanFunc which takes the y-coordinate of the span as a         */
     825  /*    @FT_SpanFunc which takes the y~coordinate of the span as a         */
    816826  /*    a parameter.                                                       */
    817827  /*                                                                       */
    818   /*    The coverage value is always between 0 and 255.                    */
     828  /*    The coverage value is always between 0 and 255.  If you want less  */
     829  /*    gray values, the callback function has to reduce them.             */
    819830  /*                                                                       */
    820831  typedef struct  FT_Span_
     
    838849  /*                                                                       */
    839850  /* <Input>                                                               */
    840   /*    y     :: The scanline's y-coordinate.                              */
     851  /*    y     :: The scanline's y~coordinate.                              */
    841852  /*                                                                       */
    842853  /*    count :: The number of spans to draw on this scanline.             */
     
    855866  /*    Note that the `count' field cannot be greater than a fixed value   */
    856867  /*    defined by the `FT_MAX_GRAY_SPANS' configuration macro in          */
    857   /*    `ftoption.h'.  By default, this value is set to 32, which means    */
    858   /*    that if there are more than 32 spans on a given scanline, the      */
     868  /*    `ftoption.h'.  By default, this value is set to~32, which means    */
     869  /*    that if there are more than 32~spans on a given scanline, the      */
    859870  /*    callback is called several times with the same `y' parameter in    */
    860871  /*    order to draw all callbacks.                                       */
     
    869880                  void*           user );
    870881
    871 #define FT_Raster_Span_Func   FT_SpanFunc
     882#define FT_Raster_Span_Func  FT_SpanFunc
    872883
    873884
     
    886897  /*                                                                       */
    887898  /* <Input>                                                               */
    888   /*    y     :: The pixel's y-coordinate.                                 */
    889   /*                                                                       */
    890   /*    x     :: The pixel's x-coordinate.                                 */
     899  /*    y     :: The pixel's y~coordinate.                                 */
     900  /*                                                                       */
     901  /*    x     :: The pixel's x~coordinate.                                 */
    891902  /*                                                                       */
    892903  /*    user  :: User-supplied data that is passed to the callback.        */
    893904  /*                                                                       */
    894905  /* <Return>                                                              */
    895   /*   1 if the pixel is `set', 0 otherwise.                               */
     906  /*   1~if the pixel is `set', 0~otherwise.                               */
    896907  /*                                                                       */
    897908  typedef int
     
    914925  /*                                                                       */
    915926  /* <Input>                                                               */
    916   /*    y     :: The pixel's y-coordinate.                                 */
    917   /*                                                                       */
    918   /*    x     :: The pixel's x-coordinate.                                 */
     927  /*    y     :: The pixel's y~coordinate.                                 */
     928  /*                                                                       */
     929  /*    x     :: The pixel's x~coordinate.                                 */
    919930  /*                                                                       */
    920931  /*    user  :: User-supplied data that is passed to the callback.        */
    921932  /*                                                                       */
    922933  /* <Return>                                                              */
    923   /*    1 if the pixel is `set', 0 otherwise.                              */
     934  /*    1~if the pixel is `set', 0~otherwise.                              */
    924935  /*                                                                       */
    925936  typedef void
     
    10611072  /*                                                                       */
    10621073  /* <Return>                                                              */
    1063   /*    Error code.  0 means success.                                      */
     1074  /*    Error code.  0~means success.                                      */
    10641075  /*                                                                       */
    10651076  /* <Note>                                                                */
     
    10741085                        FT_Raster*  raster );
    10751086
    1076 #define  FT_Raster_New_Func    FT_Raster_NewFunc
     1087#define FT_Raster_New_Func  FT_Raster_NewFunc
     1088
    10771089
    10781090  /*************************************************************************/
     
    10901102  (*FT_Raster_DoneFunc)( FT_Raster  raster );
    10911103
    1092 #define  FT_Raster_Done_Func   FT_Raster_DoneFunc
     1104#define FT_Raster_Done_Func  FT_Raster_DoneFunc
     1105
    10931106
    10941107  /*************************************************************************/
     
    11241137                          unsigned long   pool_size );
    11251138
    1126 #define  FT_Raster_Reset_Func   FT_Raster_ResetFunc
     1139#define FT_Raster_Reset_Func  FT_Raster_ResetFunc
     1140
    11271141
    11281142  /*************************************************************************/
     
    11491163                            void*          args );
    11501164
    1151 #define  FT_Raster_Set_Mode_Func  FT_Raster_SetModeFunc
     1165#define FT_Raster_Set_Mode_Func  FT_Raster_SetModeFunc
     1166
    11521167
    11531168  /*************************************************************************/
     
    11571172  /*                                                                       */
    11581173  /* <Description>                                                         */
    1159   /*   Invokes a given raster to scan-convert a given glyph image into a   */
    1160   /*   target bitmap.                                                      */
     1174  /*    Invoke a given raster to scan-convert a given glyph image into a   */
     1175  /*    target bitmap.                                                     */
    11611176  /*                                                                       */
    11621177  /* <Input>                                                               */
     
    11671182  /*                                                                       */
    11681183  /* <Return>                                                              */
    1169   /*    Error code.  0 means success.                                      */
     1184  /*    Error code.  0~means success.                                      */
    11701185  /*                                                                       */
    11711186  /* <Note>                                                                */
     
    11891204                           const FT_Raster_Params*  params );
    11901205
    1191 #define  FT_Raster_Render_Func    FT_Raster_RenderFunc
     1206#define FT_Raster_Render_Func  FT_Raster_RenderFunc
     1207
    11921208
    11931209  /*************************************************************************/
     
    12121228  typedef struct  FT_Raster_Funcs_
    12131229  {
    1214     FT_Glyph_Format         glyph_format;
    1215     FT_Raster_NewFunc       raster_new;
    1216     FT_Raster_ResetFunc     raster_reset;
    1217     FT_Raster_SetModeFunc   raster_set_mode;
    1218     FT_Raster_RenderFunc    raster_render;
    1219     FT_Raster_DoneFunc      raster_done;
     1230    FT_Glyph_Format        glyph_format;
     1231    FT_Raster_NewFunc      raster_new;
     1232    FT_Raster_ResetFunc    raster_reset;
     1233    FT_Raster_SetModeFunc  raster_set_mode;
     1234    FT_Raster_RenderFunc   raster_render;
     1235    FT_Raster_DoneFunc     raster_done;
    12201236
    12211237  } FT_Raster_Funcs;
  • trunk/poppler/freetype2/include/freetype/ftincrem.h

    r209 r251  
    55/*    FreeType incremental loading (specification).                        */
    66/*                                                                         */
    7 /*  Copyright 2002, 2003, 2006, 2007 by                                    */
     7/*  Copyright 2002, 2003, 2006, 2007, 2008 by                              */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    3232FT_BEGIN_HEADER
    3333
    34  /***************************************************************************
    35   *
    36   * @section:
    37   *    incremental
    38   *
    39   * @title:
    40   *    Incremental Loading
    41   *
    42   * @abstract:
    43   *    Custom Glyph Loading.
    44   *
    45   * @description:
    46   *   This section contains various functions used to perform so-called
    47   *   `incremental' glyph loading.  This is a mode where all glyphs loaded
    48   *   from a given @FT_Face are provided by the client application,
    49   *
    50   *   Apart from that, all other tables are loaded normally from the font
    51   *   file.  This mode is useful when FreeType is used within another
    52   *   engine, e.g., a Postscript Imaging Processor.
    53   *
    54   *   To enable this mode, you must use @FT_Open_Face, passing an
    55   *   @FT_Parameter with the @FT_PARAM_TAG_INCREMENTAL tag and an
    56   *   @FT_Incremental_Interface value.  See the comments for
    57   *   @FT_Incremental_InterfaceRec for an example.
    58   *
    59   */
    60 
    61 
    62  /***************************************************************************
    63   *
    64   * @type:
    65   *   FT_Incremental
    66   *
    67   * @description:
    68   *   An opaque type describing a user-provided object used to implement
    69   *   `incremental' glyph loading within FreeType.  This is used to support
    70   *   embedded fonts in certain environments (e.g., Postscript interpreters),
    71   *   where the glyph data isn't in the font file, or must be overridden by
    72   *   different values.
    73   *
    74   * @note:
    75   *   It is up to client applications to create and implement @FT_Incremental
    76   *   objects, as long as they provide implementations for the methods
    77   *   @FT_Incremental_GetGlyphDataFunc, @FT_Incremental_FreeGlyphDataFunc
    78   *   and @FT_Incremental_GetGlyphMetricsFunc.
    79   *
    80   *   See the description of @FT_Incremental_InterfaceRec to understand how
    81   *   to use incremental objects with FreeType.
    82   */
     34  /***************************************************************************
     35   *
     36   * @section:
     37   *    incremental
     38   *
     39   * @title:
     40   *    Incremental Loading
     41   *
     42   * @abstract:
     43   *    Custom Glyph Loading.
     44   *
     45   * @description:
     46   *   This section contains various functions used to perform so-called
     47   *   `incremental' glyph loading.  This is a mode where all glyphs loaded
     48   *   from a given @FT_Face are provided by the client application,
     49   *
     50   *   Apart from that, all other tables are loaded normally from the font
     51   *   file.  This mode is useful when FreeType is used within another
     52   *   engine, e.g., a PostScript Imaging Processor.
     53   *
     54   *   To enable this mode, you must use @FT_Open_Face, passing an
     55   *   @FT_Parameter with the @FT_PARAM_TAG_INCREMENTAL tag and an
     56   *   @FT_Incremental_Interface value.  See the comments for
     57   *   @FT_Incremental_InterfaceRec for an example.
     58   *
     59   */
     60
     61
     62  /***************************************************************************
     63   *
     64   * @type:
     65   *   FT_Incremental
     66   *
     67   * @description:
     68   *   An opaque type describing a user-provided object used to implement
     69   *   `incremental' glyph loading within FreeType.  This is used to support
     70   *   embedded fonts in certain environments (e.g., PostScript interpreters),
     71   *   where the glyph data isn't in the font file, or must be overridden by
     72   *   different values.
     73   *
     74   * @note:
     75   *   It is up to client applications to create and implement @FT_Incremental
     76   *   objects, as long as they provide implementations for the methods
     77   *   @FT_Incremental_GetGlyphDataFunc, @FT_Incremental_FreeGlyphDataFunc
     78   *   and @FT_Incremental_GetGlyphMetricsFunc.
     79   *
     80   *   See the description of @FT_Incremental_InterfaceRec to understand how
     81   *   to use incremental objects with FreeType.
     82   *
     83   */
    8384  typedef struct FT_IncrementalRec_*  FT_Incremental;
    8485
    8586
    86  /***************************************************************************
    87   *
    88   * @struct:
    89   *   FT_Incremental_Metrics
    90   *
    91   * @description:
    92   *   A small structure used to contain the basic glyph metrics returned
    93   *   by the @FT_Incremental_GetGlyphMetricsFunc method.
    94   *
    95   * @fields:
    96   *   bearing_x ::
    97   *     Left bearing, in font units.
    98   *
    99   *   bearing_y ::
    100   *     Top bearing, in font units.
    101   *
    102   *   advance ::
    103   *     Glyph advance, in font units.
    104   *
    105   * @note:
    106   *   These correspond to horizontal or vertical metrics depending on the
    107   *   value of the `vertical' argument to the function
    108   *   @FT_Incremental_GetGlyphMetricsFunc.
    109   */
     87  /***************************************************************************
     88   *
     89   * @struct:
     90   *   FT_Incremental_MetricsRec
     91   *
     92   * @description:
     93   *   A small structure used to contain the basic glyph metrics returned
     94   *   by the @FT_Incremental_GetGlyphMetricsFunc method.
     95   *
     96   * @fields:
     97   *   bearing_x ::
     98   *     Left bearing, in font units.
     99   *
     100   *   bearing_y ::
     101   *     Top bearing, in font units.
     102   *
     103   *   advance ::
     104   *     Glyph advance, in font units.
     105   *
     106   * @note:
     107   *   These correspond to horizontal or vertical metrics depending on the
     108   *   value of the `vertical' argument to the function
     109   *   @FT_Incremental_GetGlyphMetricsFunc.
     110   *
     111   */
    110112  typedef struct  FT_Incremental_MetricsRec_
    111113  {
     
    114116    FT_Long  advance;
    115117
    116   } FT_Incremental_MetricsRec, *FT_Incremental_Metrics;
    117 
    118 
    119  /***************************************************************************
    120   *
    121   * @type:
    122   *   FT_Incremental_GetGlyphDataFunc
    123   *
    124   * @description:
    125   *   A function called by FreeType to access a given glyph's data bytes
    126   *   during @FT_Load_Glyph or @FT_Load_Char if incremental loading is
    127   *   enabled.
    128   *
    129   *   Note that the format of the glyph's data bytes depends on the font
    130   *   file format.  For TrueType, it must correspond to the raw bytes within
    131   *   the `glyf' table.  For Postscript formats, it must correspond to the
    132   *   *unencrypted* charstring bytes, without any `lenIV' header.  It is
    133   *   undefined for any other format.
    134   *
    135   * @input:
    136   *   incremental ::
    137   *     Handle to an opaque @FT_Incremental handle provided by the client
    138   *     application.
    139   *
    140   *   glyph_index ::
    141   *     Index of relevant glyph.
    142   *
    143   * @output:
    144   *   adata ::
    145   *     A structure describing the returned glyph data bytes (which will be
    146   *     accessed as a read-only byte block).
    147   *
    148   * @return:
    149   *   FreeType error code.  0 means success.
    150   *
    151   * @note:
    152   *   If this function returns successfully the method
    153   *   @FT_Incremental_FreeGlyphDataFunc will be called later to release
    154   *   the data bytes.
    155   *
    156   *   Nested calls to @FT_Incremental_GetGlyphDataFunc can happen for
    157   *   compound glyphs.
    158   */
     118  } FT_Incremental_MetricsRec;
     119
     120
     121  /***************************************************************************
     122   *
     123   * @struct:
     124   *   FT_Incremental_Metrics
     125   *
     126   * @description:
     127   *   A handle to an @FT_Incremental_MetricsRec structure.
     128   *
     129   */
     130   typedef struct FT_Incremental_MetricsRec_*  FT_Incremental_Metrics;
     131
     132
     133  /***************************************************************************
     134   *
     135   * @type:
     136   *   FT_Incremental_GetGlyphDataFunc
     137   *
     138   * @description:
     139   *   A function called by FreeType to access a given glyph's data bytes
     140   *   during @FT_Load_Glyph or @FT_Load_Char if incremental loading is
     141   *   enabled.
     142   *
     143   *   Note that the format of the glyph's data bytes depends on the font
     144   *   file format.  For TrueType, it must correspond to the raw bytes within
     145   *   the `glyf' table.  For PostScript formats, it must correspond to the
     146   *   *unencrypted* charstring bytes, without any `lenIV' header.  It is
     147   *   undefined for any other format.
     148   *
     149   * @input:
     150   *   incremental ::
     151   *     Handle to an opaque @FT_Incremental handle provided by the client
     152   *     application.
     153   *
     154   *   glyph_index ::
     155   *     Index of relevant glyph.
     156   *
     157   * @output:
     158   *   adata ::
     159   *     A structure describing the returned glyph data bytes (which will be
     160   *     accessed as a read-only byte block).
     161   *
     162   * @return:
     163   *   FreeType error code.  0~means success.
     164   *
     165   * @note:
     166   *   If this function returns successfully the method
     167   *   @FT_Incremental_FreeGlyphDataFunc will be called later to release
     168   *   the data bytes.
     169   *
     170   *   Nested calls to @FT_Incremental_GetGlyphDataFunc can happen for
     171   *   compound glyphs.
     172   *
     173   */
    159174  typedef FT_Error
    160175  (*FT_Incremental_GetGlyphDataFunc)( FT_Incremental  incremental,
     
    163178
    164179
    165  /***************************************************************************
    166   *
    167   * @type:
    168   *   FT_Incremental_FreeGlyphDataFunc
    169   *
    170   * @description:
    171   *   A function used to release the glyph data bytes returned by a
    172   *   successful call to @FT_Incremental_GetGlyphDataFunc.
    173   *
    174   * @input:
    175   *   incremental ::
    176   *     A handle to an opaque @FT_Incremental handle provided by the client
    177   *     application.
    178   *
    179   *   data ::
    180   *     A structure describing the glyph data bytes (which will be accessed
    181   *     as a read-only byte block).
    182   */
     180  /***************************************************************************
     181   *
     182   * @type:
     183   *   FT_Incremental_FreeGlyphDataFunc
     184   *
     185   * @description:
     186   *   A function used to release the glyph data bytes returned by a
     187   *   successful call to @FT_Incremental_GetGlyphDataFunc.
     188   *
     189   * @input:
     190   *   incremental ::
     191   *     A handle to an opaque @FT_Incremental handle provided by the client
     192   *     application.
     193   *
     194   *   data ::
     195   *     A structure describing the glyph data bytes (which will be accessed
     196   *     as a read-only byte block).
     197   *
     198   */
    183199  typedef void
    184200  (*FT_Incremental_FreeGlyphDataFunc)( FT_Incremental  incremental,
     
    186202
    187203
    188  /***************************************************************************
    189   *
    190   * @type:
    191   *   FT_Incremental_GetGlyphMetricsFunc
    192   *
    193   * @description:
    194   *   A function used to retrieve the basic metrics of a given glyph index
    195   *   before accessing its data.  This is necessary because, in certain
    196   *   formats like TrueType, the metrics are stored in a different place from
    197   *   the glyph images proper.
    198   *
    199   * @input:
    200   *   incremental ::
    201   *     A handle to an opaque @FT_Incremental handle provided by the client
    202   *     application.
    203   *
    204   *   glyph_index ::
    205   *     Index of relevant glyph.
    206   *
    207   *   vertical ::
    208   *     If true, return vertical metrics.
    209   *
    210   *   ametrics ::
    211   *     This parameter is used for both input and output.
    212   *     The original glyph metrics, if any, in font units.  If metrics are
    213   *     not available all the values must be set to zero.
    214   *
    215   * @output:
    216   *   ametrics ::
    217   *     The replacement glyph metrics in font units.
    218   *
    219   */
     204  /***************************************************************************
     205   *
     206   * @type:
     207   *   FT_Incremental_GetGlyphMetricsFunc
     208   *
     209   * @description:
     210   *   A function used to retrieve the basic metrics of a given glyph index
     211   *   before accessing its data.  This is necessary because, in certain
     212   *   formats like TrueType, the metrics are stored in a different place from
     213   *   the glyph images proper.
     214   *
     215   * @input:
     216   *   incremental ::
     217   *     A handle to an opaque @FT_Incremental handle provided by the client
     218   *     application.
     219   *
     220   *   glyph_index ::
     221   *     Index of relevant glyph.
     222   *
     223   *   vertical ::
     224   *     If true, return vertical metrics.
     225   *
     226   *   ametrics ::
     227   *     This parameter is used for both input and output.
     228   *     The original glyph metrics, if any, in font units.  If metrics are
     229   *     not available all the values must be set to zero.
     230   *
     231   * @output:
     232   *   ametrics ::
     233   *     The replacement glyph metrics in font units.
     234   *
     235   */
    220236  typedef FT_Error
    221237  (*FT_Incremental_GetGlyphMetricsFunc)
     
    245261   *     The function to get glyph metrics.  May be null if the font does
    246262   *     not provide overriding glyph metrics.
     263   *
    247264   */
    248265  typedef struct  FT_Incremental_FuncsRec_
     
    255272
    256273
    257  /***************************************************************************
    258   *
    259   * @struct:
    260   *   FT_Incremental_InterfaceRec
    261   *
    262   * @description:
    263   *   A structure to be used with @FT_Open_Face to indicate that the user
    264   *   wants to support incremental glyph loading.  You should use it with
    265   *   @FT_PARAM_TAG_INCREMENTAL as in the following example:
    266   *
    267   *     {
    268   *       FT_Incremental_InterfaceRec  inc_int;
    269   *       FT_Parameter                 parameter;
    270   *       FT_Open_Args                 open_args;
    271   *
    272   *
    273   *       // set up incremental descriptor
    274   *       inc_int.funcs  = my_funcs;
    275   *       inc_int.object = my_object;
    276   *
    277   *       // set up optional parameter
    278   *       parameter.tag  = FT_PARAM_TAG_INCREMENTAL;
    279   *       parameter.data = &inc_int;
    280   *
    281   *       // set up FT_Open_Args structure
    282   *       open_args.flags      = FT_OPEN_PATHNAME | FT_OPEN_PARAMS;
    283   *       open_args.pathname   = my_font_pathname;
    284   *       open_args.num_params = 1;
    285   *       open_args.params     = &parameter; // we use one optional argument
    286   *
    287   *       // open the font
    288   *       error = FT_Open_Face( library, &open_args, index, &face );
    289   *       ...
    290   *     }
    291   */
     274  /***************************************************************************
     275   *
     276   * @struct:
     277   *   FT_Incremental_InterfaceRec
     278   *
     279   * @description:
     280   *   A structure to be used with @FT_Open_Face to indicate that the user
     281   *   wants to support incremental glyph loading.  You should use it with
     282   *   @FT_PARAM_TAG_INCREMENTAL as in the following example:
     283   *
     284   *     {
     285   *       FT_Incremental_InterfaceRec  inc_int;
     286   *       FT_Parameter                 parameter;
     287   *       FT_Open_Args                 open_args;
     288   *
     289   *
     290   *       // set up incremental descriptor
     291   *       inc_int.funcs  = my_funcs;
     292   *       inc_int.object = my_object;
     293   *
     294   *       // set up optional parameter
     295   *       parameter.tag  = FT_PARAM_TAG_INCREMENTAL;
     296   *       parameter.data = &inc_int;
     297   *
     298   *       // set up FT_Open_Args structure
     299   *       open_args.flags      = FT_OPEN_PATHNAME | FT_OPEN_PARAMS;
     300   *       open_args.pathname   = my_font_pathname;
     301   *       open_args.num_params = 1;
     302   *       open_args.params     = &parameter; // we use one optional argument
     303   *
     304   *       // open the font
     305   *       error = FT_Open_Face( library, &open_args, index, &face );
     306   *       ...
     307   *     }
     308   *
     309   */
    292310  typedef struct  FT_Incremental_InterfaceRec_
    293311  {
     
    298316
    299317
    300  /***************************************************************************
    301   *
    302   * @type:
    303   *   FT_Incremental_Interface
    304   *
    305   * @description:
    306   *   A pointer to an @FT_Incremental_InterfaceRec structure.
    307   *
    308   */
     318  /***************************************************************************
     319   *
     320   * @type:
     321   *   FT_Incremental_Interface
     322   *
     323   * @description:
     324   *   A pointer to an @FT_Incremental_InterfaceRec structure.
     325   *
     326   */
    309327  typedef FT_Incremental_InterfaceRec*   FT_Incremental_Interface;
    310328
    311329
    312  /***************************************************************************
    313   *
    314   * @constant:
    315   *   FT_PARAM_TAG_INCREMENTAL
    316   *
    317   * @description:
    318   *   A constant used as the tag of @FT_Parameter structures to indicate
    319   *   an incremental loading object to be used by FreeType.
    320   *
    321   */
     330  /***************************************************************************
     331   *
     332   * @constant:
     333   *   FT_PARAM_TAG_INCREMENTAL
     334   *
     335   * @description:
     336   *   A constant used as the tag of @FT_Parameter structures to indicate
     337   *   an incremental loading object to be used by FreeType.
     338   *
     339   */
    322340#define FT_PARAM_TAG_INCREMENTAL  FT_MAKE_TAG( 'i', 'n', 'c', 'r' )
    323341
    324  /* */
     342  /* */
    325343
    326344FT_END_HEADER
  • trunk/poppler/freetype2/include/freetype/ftlcdfil.h

    r209 r251  
    66/*    (specification).                                                     */
    77/*                                                                         */
    8 /*  Copyright 2006, 2007 by                                                */
     8/*  Copyright 2006, 2007, 2008 by                                          */
    99/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    1010/*                                                                         */
     
    8686   *   2.3.0
    8787   */
    88   typedef enum
     88  typedef enum  FT_LcdFilter_
    8989  {
    9090    FT_LCD_FILTER_NONE    = 0,
     
    120120   *
    121121   * @return:
    122    *   FreeType error code.  0 means success.
     122   *   FreeType error code.  0~means success.
    123123   *
    124124   * @note:
     
    142142   *   either larger or taller than the dimensions of the corresponding
    143143   *   outline with regards to the pixel grid.  For example, for
    144    *   @FT_RENDER_MODE_LCD, the filter adds up to 3 pixels to the left, and
    145    *   up to 3 pixels to the right.
     144   *   @FT_RENDER_MODE_LCD, the filter adds up to 3~pixels to the left, and
     145   *   up to 3~pixels to the right.
    146146   *
    147147   *   The bitmap offset values are adjusted correctly, so clients shouldn't
  • trunk/poppler/freetype2/include/freetype/ftlist.h

    r200 r251  
    8282  /*                                                                       */
    8383  /* <Description>                                                         */
    84   /*    Finds the list node for a given listed object.                     */
     84  /*    Find the list node for a given listed object.                      */
    8585  /*                                                                       */
    8686  /* <Input>                                                               */
     
    102102  /*                                                                       */
    103103  /* <Description>                                                         */
    104   /*    Appends an element to the end of a list.                           */
     104  /*    Append an element to the end of a list.                            */
    105105  /*                                                                       */
    106106  /* <InOut>                                                               */
     
    119119  /*                                                                       */
    120120  /* <Description>                                                         */
    121   /*    Inserts an element at the head of a list.                          */
     121  /*    Insert an element at the head of a list.                           */
    122122  /*                                                                       */
    123123  /* <InOut>                                                               */
     
    136136  /*                                                                       */
    137137  /* <Description>                                                         */
    138   /*    Removes a node from a list.  This function doesn't check whether   */
     138  /*    Remove a node from a list.  This function doesn't check whether    */
    139139  /*    the node is in the list!                                           */
    140140  /*                                                                       */
     
    156156  /*                                                                       */
    157157  /* <Description>                                                         */
    158   /*    Moves a node to the head/top of a list.  Used to maintain LRU      */
     158  /*    Move a node to the head/top of a list.  Used to maintain LRU       */
    159159  /*    lists.                                                             */
    160160  /*                                                                       */
     
    194194  /*                                                                       */
    195195  /* <Description>                                                         */
    196   /*    Parses a list and calls a given iterator function on each element. */
     196  /*    Parse a list and calls a given iterator function on each element. */
    197197  /*    Note that parsing is stopped as soon as one of the iterator calls  */
    198198  /*    returns a non-zero value.                                          */
     
    243243  /*                                                                       */
    244244  /* <Description>                                                         */
    245   /*    Destroys all elements in the list as well as the list itself.      */
     245  /*    Destroy all elements in the list as well as the list itself.       */
    246246  /*                                                                       */
    247247  /* <Input>                                                               */
  • trunk/poppler/freetype2/include/freetype/ftlzw.h

    r209 r251  
    6464  *
    6565  * @return:
    66   *   FreeType error code.  0 means success.
     66  *   FreeType error code.  0~means success.
    6767  *
    6868  * @note:
  • trunk/poppler/freetype2/include/freetype/ftmac.h

    r209 r251  
    1919/***************************************************************************/
    2020/*                                                                         */
    21 /* NOTE: Include this file after <freetype/freetype.h> and after the       */
    22 /*       Mac-specific <Types.h> header (or any other Mac header that       */
    23 /*       includes <Types.h>); we use Handle type.                          */
     21/* NOTE: Include this file after <freetype/freetype.h> and after any       */
     22/*       Mac-specific headers (because this header uses Mac types such as  */
     23/*       Handle, FSSpec, FSRef, etc.)                                      */
    2424/*                                                                         */
    2525/***************************************************************************/
     
    8686  /*                                                                       */
    8787  /* <Return>                                                              */
    88   /*    FreeType error code.  0 means success.                             */
     88  /*    FreeType error code.  0~means success.                             */
    8989  /*                                                                       */
    9090  /* <Notes>                                                               */
     
    101101                         Handle      fond,
    102102                         FT_Long     face_index,
    103                          FT_Face    *aface );
     103                         FT_Face    *aface )
     104                       FT_DEPRECATED_ATTRIBUTE;
    104105
    105106
     
    124125  /*                                                                       */
    125126  /* <Return>                                                              */
    126   /*    FreeType error code.  0 means success.                             */
     127  /*    FreeType error code.  0~means success.                             */
    127128  /*                                                                       */
    128129  FT_EXPORT( FT_Error )
     
    152153  /*                                                                       */
    153154  /* <Return>                                                              */
    154   /*    FreeType error code.  0 means success.                             */
     155  /*    FreeType error code.  0~means success.                             */
    155156  /*                                                                       */
    156157  FT_EXPORT( FT_Error )
     
    183184  /*                                                                       */
    184185  /* <Return>                                                              */
    185   /*    FreeType error code.  0 means success.                             */
     186  /*    FreeType error code.  0~means success.                             */
    186187  /*                                                                       */
    187188  FT_EXPORT( FT_Error )
     
    189190                                    UInt8*       path,
    190191                                    UInt32       maxPathSize,
    191                                     FT_Long*     face_index );
     192                                    FT_Long*     face_index )
     193                                  FT_DEPRECATED_ATTRIBUTE;
    192194
    193195
     
    208210  /*                                                                       */
    209211  /*    face_index :: The index of the face within the resource.  The      */
    210   /*                  first face has index 0.                              */
     212  /*                  first face has index~0.                              */
    211213  /* <Output>                                                              */
    212214  /*    aface      :: A handle to a new face object.                       */
    213215  /*                                                                       */
    214216  /* <Return>                                                              */
    215   /*    FreeType error code.  0 means success.                             */
     217  /*    FreeType error code.  0~means success.                             */
    216218  /*                                                                       */
    217219  /* <Note>                                                                */
     
    243245  /*                                                                       */
    244246  /*    face_index :: The index of the face within the resource.  The      */
    245   /*                  first face has index 0.                              */
     247  /*                  first face has index~0.                              */
    246248  /* <Output>                                                              */
    247249  /*    aface      :: A handle to a new face object.                       */
    248250  /*                                                                       */
    249251  /* <Return>                                                              */
    250   /*    FreeType error code.  0 means success.                             */
     252  /*    FreeType error code.  0~means success.                             */
    251253  /*                                                                       */
    252254  /* <Note>                                                                */
  • trunk/poppler/freetype2/include/freetype/ftmm.h

    r150 r251  
    4545  /*                                                                       */
    4646  /*    George Williams has extended this interface to make it work with   */
    47   /*    both Type 1 Multiple Masters fonts and GX distortable (var)        */
     47  /*    both Type~1 Multiple Masters fonts and GX distortable (var)        */
    4848  /*    fonts.  Some of these routines only work with MM fonts, others     */
    4949  /*    will work with both types.  They are similar enough that a         */
     
    9292  /*                                                                       */
    9393  /* <Fields>                                                              */
    94   /*    num_axis    :: Number of axes.  Cannot exceed 4.                   */
     94  /*    num_axis    :: Number of axes.  Cannot exceed~4.                   */
    9595  /*                                                                       */
    9696  /*    num_designs :: Number of designs; should be normally 2^num_axis    */
    97   /*                   even though the Type 1 specification strangely      */
     97  /*                   even though the Type~1 specification strangely      */
    9898  /*                   allows for intermediate designs to be present. This */
    99   /*                   number cannot exceed 16.                            */
     99  /*                   number cannot exceed~16.                            */
    100100  /*                                                                       */
    101101  /*    axis        :: A table of axis descriptors.                        */
     
    188188  /*                                                                       */
    189189  /* <Fields>                                                              */
    190   /*    num_axis        :: The number of axes.  The maximum value is 4 for */
     190  /*    num_axis        :: The number of axes.  The maximum value is~4 for */
    191191  /*                       MM; no limit in GX.                             */
    192192  /*                                                                       */
     
    228228  /*                                                                       */
    229229  /* <Description>                                                         */
    230   /*    Retrieves the Multiple Master descriptor of a given font.          */
     230  /*    Retrieve the Multiple Master descriptor of a given font.           */
    231231  /*                                                                       */
    232232  /*    This function can't be used with GX fonts.                         */
     
    239239  /*                                                                       */
    240240  /* <Return>                                                              */
    241   /*    FreeType error code.  0 means success.                             */
     241  /*    FreeType error code.  0~means success.                             */
    242242  /*                                                                       */
    243243  FT_EXPORT( FT_Error )
     
    252252  /*                                                                       */
    253253  /* <Description>                                                         */
    254   /*    Retrieves the Multiple Master/GX var descriptor of a given font.   */
     254  /*    Retrieve the Multiple Master/GX var descriptor of a given font.    */
    255255  /*                                                                       */
    256256  /* <Input>                                                               */
     
    263263  /*                                                                       */
    264264  /* <Return>                                                              */
    265   /*    FreeType error code.  0 means success.                             */
     265  /*    FreeType error code.  0~means success.                             */
    266266  /*                                                                       */
    267267  FT_EXPORT( FT_Error )
     
    291291  /*                                                                       */
    292292  /* <Return>                                                              */
    293   /*    FreeType error code.  0 means success.                             */
     293  /*    FreeType error code.  0~means success.                             */
    294294  /*                                                                       */
    295295  FT_EXPORT( FT_Error )
     
    318318  /*                                                                       */
    319319  /* <Return>                                                              */
    320   /*    FreeType error code.  0 means success.                             */
     320  /*    FreeType error code.  0~means success.                             */
    321321  /*                                                                       */
    322322  FT_EXPORT( FT_Error )
     
    346346  /*                                                                       */
    347347  /* <Return>                                                              */
    348   /*    FreeType error code.  0 means success.                             */
     348  /*    FreeType error code.  0~means success.                             */
    349349  /*                                                                       */
    350350  FT_EXPORT( FT_Error )
  • trunk/poppler/freetype2/include/freetype/ftmodapi.h

    r209 r251  
    55/*    FreeType modules public interface (specification).                   */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2003, 2006 by                               */
     7/*  Copyright 1996-2001, 2002, 2003, 2006, 2008 by                         */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    7979  typedef FT_Pointer  FT_Module_Interface;
    8080
     81
     82  /*************************************************************************/
     83  /*                                                                       */
     84  /* <FuncType>                                                            */
     85  /*    FT_Module_Constructor                                              */
     86  /*                                                                       */
     87  /* <Description>                                                         */
     88  /*    A function used to initialize (not create) a new module object.    */
     89  /*                                                                       */
     90  /* <Input>                                                               */
     91  /*    module :: The module to initialize.                                */
     92  /*                                                                       */
    8193  typedef FT_Error
    8294  (*FT_Module_Constructor)( FT_Module  module );
    8395
     96
     97  /*************************************************************************/
     98  /*                                                                       */
     99  /* <FuncType>                                                            */
     100  /*    FT_Module_Destructor                                               */
     101  /*                                                                       */
     102  /* <Description>                                                         */
     103  /*    A function used to finalize (not destroy) a given module object.   */
     104  /*                                                                       */
     105  /* <Input>                                                               */
     106  /*    module :: The module to finalize.                                  */
     107  /*                                                                       */
    84108  typedef void
    85109  (*FT_Module_Destructor)( FT_Module  module );
    86110
     111
     112  /*************************************************************************/
     113  /*                                                                       */
     114  /* <FuncType>                                                            */
     115  /*    FT_Module_Requester                                                */
     116  /*                                                                       */
     117  /* <Description>                                                         */
     118  /*    A function used to query a given module for a specific interface.  */
     119  /*                                                                       */
     120  /* <Input>                                                               */
     121  /*    module :: The module to finalize.                                  */
     122  /*                                                                       */
     123  /*    name ::   The name of the interface in the module.                 */
     124  /*                                                                       */
    87125  typedef FT_Module_Interface
    88126  (*FT_Module_Requester)( FT_Module    module,
     
    113151  /*                       at version 2.0, i.e., 0x20000.                  */
    114152  /*                                                                       */
    115   /*    module_init     :: A function used to initialize (not create) a    */
    116   /*                       new module object.                              */
    117   /*                                                                       */
    118   /*    module_done     :: A function used to finalize (not destroy) a     */
    119   /*                       given module object                             */
    120   /*                                                                       */
    121   /*    get_interface   :: Queries a given module for a specific           */
    122   /*                       interface by name.                              */
     153  /*    module_init     :: The initializing function.                      */
     154  /*                                                                       */
     155  /*    module_done     :: The finalizing function.                        */
     156  /*                                                                       */
     157  /*    get_interface   :: The interface requesting function.              */
    123158  /*                                                                       */
    124159  typedef struct  FT_Module_Class_
     
    145180  /*                                                                       */
    146181  /* <Description>                                                         */
    147   /*    Adds a new module to a given library instance.                     */
     182  /*    Add a new module to a given library instance.                      */
    148183  /*                                                                       */
    149184  /* <InOut>                                                               */
     
    154189  /*                                                                       */
    155190  /* <Return>                                                              */
    156   /*    FreeType error code.  0 means success.                             */
     191  /*    FreeType error code.  0~means success.                             */
    157192  /*                                                                       */
    158193  /* <Note>                                                                */
     
    171206  /*                                                                       */
    172207  /* <Description>                                                         */
    173   /*    Finds a module by its name.                                        */
     208  /*    Find a module by its name.                                         */
    174209  /*                                                                       */
    175210  /* <Input>                                                               */
     
    179214  /*                                                                       */
    180215  /* <Return>                                                              */
    181   /*    A module handle.  0 if none was found.                             */
     216  /*    A module handle.  0~if none was found.                             */
    182217  /*                                                                       */
    183218  /* <Note>                                                                */
     
    196231  /*                                                                       */
    197232  /* <Description>                                                         */
    198   /*    Removes a given module from a library instance.                    */
     233  /*    Remove a given module from a library instance.                     */
    199234  /*                                                                       */
    200235  /* <InOut>                                                               */
     
    205240  /*                                                                       */
    206241  /* <Return>                                                              */
    207   /*    FreeType error code.  0 means success.                             */
     242  /*    FreeType error code.  0~means success.                             */
    208243  /*                                                                       */
    209244  /* <Note>                                                                */
     
    232267  /*                                                                       */
    233268  /* <Return>                                                              */
    234   /*    FreeType error code.  0 means success.                             */
     269  /*    FreeType error code.  0~means success.                             */
    235270  /*                                                                       */
    236271  FT_EXPORT( FT_Error )
     
    245280  /*                                                                       */
    246281  /* <Description>                                                         */
    247   /*    Discards a given library object.  This closes all drivers and      */
     282  /*    Discard a given library object.  This closes all drivers and       */
    248283  /*    discards all resource objects.                                     */
    249284  /*                                                                       */
     
    252287  /*                                                                       */
    253288  /* <Return>                                                              */
    254   /*    FreeType error code.  0 means success.                             */
     289  /*    FreeType error code.  0~means success.                             */
    255290  /*                                                                       */
    256291  FT_EXPORT( FT_Error )
     
    269304  /*                                                                       */
    270305  /* <Description>                                                         */
    271   /*    Sets a debug hook function for debugging the interpreter of a font */
     306  /*    Set a debug hook function for debugging the interpreter of a font */
    272307  /*    format.                                                            */
    273308  /*                                                                       */
     
    284319  /* <Note>                                                                */
    285320  /*    Currently, four debug hook slots are available, but only two (for  */
    286   /*    the TrueType and the Type 1 interpreter) are defined.              */
     321  /*    the TrueType and the Type~1 interpreter) are defined.              */
    287322  /*                                                                       */
    288323  /*    Since the internal headers of FreeType are no longer installed,    */
     
    302337  /*                                                                       */
    303338  /* <Description>                                                         */
    304   /*    Adds the set of default drivers to a given library object.         */
     339  /*    Add the set of default drivers to a given library object.          */
    305340  /*    This is only useful when you create a library object with          */
    306341  /*    @FT_New_Library (usually to plug a custom memory manager).         */
     
    363398   *
    364399   */
    365   typedef enum
     400  typedef enum  FT_TrueTypeEngineType_
    366401  {
    367402    FT_TRUETYPE_ENGINE_TYPE_NONE = 0,
  • trunk/poppler/freetype2/include/freetype/ftotval.h

    r209 r251  
    55/*    FreeType API for validating OpenType tables (specification).         */
    66/*                                                                         */
    7 /*  Copyright 2004, 2005, 2006 by                                          */
     7/*  Copyright 2004, 2005, 2006, 2007 by                                    */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    5757  /* <Description>                                                         */
    5858  /*    This section contains the declaration of functions to validate     */
    59   /*    some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).               */
     59  /*    some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).         */
    6060  /*                                                                       */
    6161  /*************************************************************************/
     
    8787  *      Validate JSTF table.
    8888  *
     89  *    FT_VALIDATE_MATH ::
     90  *      Validate MATH table.
     91  *
    8992  *    FT_VALIDATE_OT ::
    90   *      Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).
     93  *      Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).
    9194  *
    9295  */
     
    9699#define FT_VALIDATE_GSUB  0x0800
    97100#define FT_VALIDATE_JSTF  0x1000
     101#define FT_VALIDATE_MATH  0x2000
    98102
    99103#define FT_VALIDATE_OT  FT_VALIDATE_BASE | \
     
    101105                        FT_VALIDATE_GPOS | \
    102106                        FT_VALIDATE_GSUB | \
    103                         FT_VALIDATE_JSTF
     107                        FT_VALIDATE_JSTF | \
     108                        FT_VALIDATE_MATH
    104109
    105110  /* */
     
    141146  *
    142147  * @return:
    143   *   FreeType error code.  0 means success.
     148  *   FreeType error code.  0~means success.
    144149  *
    145150  * @note:
  • trunk/poppler/freetype2/include/freetype/ftoutln.h

    r200 r251  
    66/*    most scalable font formats (specification).                          */
    77/*                                                                         */
    8 /*  Copyright 1996-2001, 2002, 2003, 2005, 2006, 2007 by                   */
     8/*  Copyright 1996-2001, 2002, 2003, 2005, 2006, 2007, 2008 by             */
    99/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    1010/*                                                                         */
     
    8585  /*                                                                       */
    8686  /* <Description>                                                         */
    87   /*    Walks over an outline's structure to decompose it into individual  */
     87  /*    Walk over an outline's structure to decompose it into individual   */
    8888  /*    segments and Bézier arcs.  This function is also able to emit      */
    8989  /*    `move to' and `close to' operations to indicate the start and end  */
     
    104104  /*                                                                       */
    105105  /* <Return>                                                              */
    106   /*    FreeType error code.  0 means success.                             */
     106  /*    FreeType error code.  0~means success.                             */
    107107  /*                                                                       */
    108108  FT_EXPORT( FT_Error )
     
    118118  /*                                                                       */
    119119  /* <Description>                                                         */
    120   /*    Creates a new outline of a given size.                             */
     120  /*    Create a new outline of a given size.                              */
    121121  /*                                                                       */
    122122  /* <Input>                                                               */