Changeset 200


Ignore:
Timestamp:
Feb 2, 2007, 6:05:47 PM (15 years ago)
Author:
Eugene Romanenko
Message:

PDF plugin: update freetype to 2.3.1 release

Location:
trunk/poppler/freetype2
Files:
47 edited

Legend:

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

    r182 r200  
    638638  /*                                                                       */
    639639  /*   to get an idea how to do that.  Basically, if the language ID is 0, */
    640   /*   dont use it, otherwise subtract 1 from the language ID.  Then       */
     640  /*   don't use it, otherwise subtract 1 from the language ID.  Then      */
    641641  /*   examine `encoding_id'.  If, for example, `encoding_id' is           */
    642642  /*   @TT_MAC_ID_ROMAN and the language ID (minus 1) is                   */
     
    15861586  /*                                                                       */
    15871587  /* <Description>                                                         */
    1588   /*    Destroy a given FreeType library object and all of its childs,     */
     1588  /*    Destroy a given FreeType library object and all of its children,   */
    15891589  /*    including resources, drivers, faces, sizes, etc.                   */
    15901590  /*                                                                       */
     
    17251725  /*    If the `FT_OPEN_PARAMS' bit is set, the parameters given by        */
    17261726  /*    `num_params' and `params' is used.  They are ignored otherwise.    */
     1727  /*                                                                       */
     1728  /*    Ideally, both the `pathname' and `params' fields should be tagged  */
     1729  /*    as `const'; this is missing for API backwards compatibility.  With */
     1730  /*    other words, applications should treat them as read-only.          */
    17271731  /*                                                                       */
    17281732  typedef struct  FT_Open_Args_
     
    23122316   *
    23132317   *   FT_LOAD_IGNORE_TRANSFORM ::
    2314    *     Indicates that the tranform matrix set by @FT_Set_Transform should
     2318   *     Indicates that the transform matrix set by @FT_Set_Transform should
    23152319   *     be ignored.
    23162320   *
     
    33153319#define FREETYPE_MAJOR  2
    33163320#define FREETYPE_MINOR  3
    3317 #define FREETYPE_PATCH  0
     3321#define FREETYPE_PATCH  1
    33183322
    33193323
  • trunk/poppler/freetype2/include/freetype/fterrors.h

    r150 r200  
    55/*    FreeType error code handling (specification).                        */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2004 by                                     */
     7/*  Copyright 1996-2001, 2002, 2004, 2007 by                               */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    7474  /*       {                                                               */
    7575  /*         int          err_code;                                        */
    76   /*         const char*  err_msg                                          */
     76  /*         const char*  err_msg;                                         */
    7777  /*       } ft_errors[] =                                                 */
    7878  /*                                                                       */
  • trunk/poppler/freetype2/include/freetype/ftimage.h

    r150 r200  
    66/*    (specification).                                                     */
    77/*                                                                         */
    8 /*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by                   */
     8/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
    99/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    1010/*                                                                         */
     
    725725  /*                                                                       */
    726726  /* <Description>                                                         */
    727   /*    A list of decprecated constants.  Use the corresponding            */
     727  /*    A list of deprecated constants.  Use the corresponding             */
    728728  /*    @FT_Glyph_Format values instead.                                   */
    729729  /*                                                                       */
  • trunk/poppler/freetype2/include/freetype/ftincrem.h

    r182 r200  
    55/*    FreeType incremental loading (specification).                        */
    66/*                                                                         */
    7 /*  Copyright 2002, 2003, 2006 by                                          */
     7/*  Copyright 2002, 2003, 2006, 2007 by                                    */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    150150  *
    151151  * @note:
    152   *   If this function returns succesfully the method
     152  *   If this function returns successfully the method
    153153  *   @FT_Incremental_FreeGlyphDataFunc will be called later to release
    154154  *   the data bytes.
  • trunk/poppler/freetype2/include/freetype/ftlist.h

    r150 r200  
    55/*    Generic list support for FreeType (specification).                   */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2003 by                                           */
     7/*  Copyright 1996-2001, 2003, 2007 by                                     */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    200200  /* <Input>                                                               */
    201201  /*    list     :: A handle to the list.                                  */
    202   /*    iterator :: An interator function, called on each node of the      */
    203   /*                list.                                                  */
     202  /*    iterator :: An iterator function, called on each node of the list. */
    204203  /*    user     :: A user-supplied field which is passed as the second    */
    205204  /*                argument to the iterator.                              */
  • trunk/poppler/freetype2/include/freetype/ftoutln.h

    r182 r200  
    66/*    most scalable font formats (specification).                          */
    77/*                                                                         */
    8 /*  Copyright 1996-2001, 2002, 2003, 2005, 2006 by                         */
     8/*  Copyright 1996-2001, 2002, 2003, 2005, 2006, 2007 by                   */
    99/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    1010/*                                                                         */
     
    104104  /*                                                                       */
    105105  /* <Return>                                                              */
    106   /*    FreeType error code.  0 means sucess.                              */
     106  /*    FreeType error code.  0 means success.                             */
    107107  /*                                                                       */
    108108  FT_EXPORT( FT_Error )
     
    394394  /*    outline image within the one you pass to it!                       */
    395395  /*                                                                       */
    396   /*    It will use the raster correponding to the default glyph format.   */
     396  /*    It will use the raster corresponding to the default glyph format.  */
    397397  /*                                                                       */
    398398  FT_EXPORT( FT_Error )
  • trunk/poppler/freetype2/include/freetype/fttrigon.h

    r150 r200  
    55/*    FreeType trigonometric functions (specification).                    */
    66/*                                                                         */
    7 /*  Copyright 2001, 2003, 2005 by                                          */
     7/*  Copyright 2001, 2003, 2005, 2007 by                                    */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    211211   *
    212212   * @return:
    213    *   Contrainted value of `value2-value1'.
     213   *   Constrained value of `value2-value1'.
    214214   *
    215215   */
  • trunk/poppler/freetype2/include/freetype/ftxf86.h

    r165 r200  
    55/*    Support functions for X11.                                           */
    66/*                                                                         */
    7 /*  Copyright 2002, 2003, 2004, 2006 by                                    */
     7/*  Copyright 2002, 2003, 2004, 2006, 2007 by                              */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    4848  /*   format.  Note that this information is not needed normally;         */
    4949  /*   however, there are special cases (like in PDF devices) where it is  */
    50   /*   important to differentiate, inspite of FreeType's uniform API.      */
     50  /*   important to differentiate, in spite of FreeType's uniform API.     */
    5151  /*                                                                       */
    5252  /*************************************************************************/
  • trunk/poppler/freetype2/include/freetype/internal/autohint.h

    r150 r200  
    55/*    High-level `autohint' module-specific interface (specification).     */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002 by                                           */
     7/*  Copyright 1996-2001, 2002, 2007 by                                     */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    3838  /* - global hints: Usually some metrics that describe global properties  */
    3939  /*                 of the face.  It is computed by scanning more or less */
    40   /*                 agressively the glyphs in the face, and thus can be   */
     40  /*                 aggressively the glyphs in the face, and thus can be  */
    4141  /*                 very slow to compute (even if the size of global      */
    4242  /*                 hints is really small).                               */
  • trunk/poppler/freetype2/include/freetype/internal/ftdebug.h

    r150 r200  
    55/*    Debugging and logging component (specification).                     */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2004, 2006 by                               */
     7/*  Copyright 1996-2001, 2002, 2004, 2006, 2007 by                         */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    139139  /*                                                                       */
    140140  /*    This function may be useful if you want to control FreeType 2's    */
    141   /*    debug level in your appliaciton.                                   */
     141  /*    debug level in your application.                                   */
    142142  /*                                                                       */
    143143  FT_BASE( const char * )
  • trunk/poppler/freetype2/include/freetype/internal/ftmemory.h

    r150 r200  
    55/*    The FreeType memory management macros (specification).               */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2004, 2005, 2006 by                         */
     7/*  Copyright 1996-2001, 2002, 2004, 2005, 2006, 2007 by                   */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg                       */
    99/*                                                                         */
     
    210210
    211211  /*
    212    *  Return the maximum number of adressable elements in an array.
     212   *  Return the maximum number of addressable elements in an array.
    213213   *  We limit ourselves to INT_MAX, rather than UINT_MAX, to avoid
    214214   *  any problems.
  • trunk/poppler/freetype2/include/freetype/internal/pshints.h

    r150 r200  
    77/*    T1/T2 hints in the `type1', `cid', and `cff' font drivers.           */
    88/*                                                                         */
    9 /*  Copyright 2001, 2002, 2003, 2005, 2006 by                              */
     9/*  Copyright 2001, 2002, 2003, 2005, 2006, 2007 by                        */
    1010/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    1111/*                                                                         */
     
    453453   *   horizontal coordinates (x) for vertical stems (dim=1).
    454454   *
    455    *   There are `2*count' elements in the `coords' aray.  Each even element
    456    *   is an absolute position in font units, each odd element is a length
    457    *   in font units.
     455   *   There are `2*count' elements in the `coords' array.  Each even
     456   *   element is an absolute position in font units, each odd element is a
     457   *   length in font units.
    458458   *
    459459   *   A length can be negative, in which case it must be either -20 or
  • trunk/poppler/freetype2/include/freetype/internal/services/svpostnm.h

    r150 r200  
    55/*    The FreeType PostScript name services (specification).               */
    66/*                                                                         */
    7 /*  Copyright 2003 by                                                      */
     7/*  Copyright 2003, 2007 by                                                */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    2929   *  font when available.  The `get_name' field should never be NULL.
    3030   *
    31    *  The correponding function can return NULL to indicate that the
     31   *  The corresponding function can return NULL to indicate that the
    3232   *  PostScript name is not available.
    3333   *
  • trunk/poppler/freetype2/include/freetype/internal/tttypes.h

    r182 r200  
    865865   *   USHORT   version      `BDF ' table version number, should be 0x0001.
    866866   *   USHORT   strikeCount  Number of strikes (bitmap sizes) in this table.
    867    *   ULONG    stringTable  Offset (froms start of BDF table) to string
     867   *   ULONG    stringTable  Offset (from start of BDF table) to string
    868868   *                         table.
    869869   *
     
    14461446  /*     max_points   :: The maximal size in points of the zone.           */
    14471447  /*                                                                       */
    1448   /*     max_contours :: Max size in links contours of thez one.           */
     1448  /*     max_contours :: Max size in links contours of the zone.           */
    14491449  /*                                                                       */
    14501450  /*     n_points     :: The current number of points in the zone.         */
  • trunk/poppler/freetype2/include/freetype/ttnameid.h

    r150 r200  
    55/*    TrueType name ID definitions (specification only).                   */
    66/*                                                                         */
    7 /*  Copyright 1996-2002, 2003, 2004, 2006 by                               */
     7/*  Copyright 1996-2002, 2003, 2004, 2006, 2007 by                         */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    607607#define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA        0x141a
    608608       /* and XPsp2 Platform SDK added (2004-07-26) */
    609        /* Names are shortened to be signifiant within 40 chars. */
     609       /* Names are shortened to be significant within 40 chars. */
    610610#define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN         0x181a
    611611#define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC      0x181a
     
    661661#define TT_MS_LANGID_SAAMI_LAPONIA                     0x043b
    662662
    663 #if 0 /* this seems to be a previous invertion */
     663#if 0 /* this seems to be a previous inversion */
    664664#define TT_MS_LANGID_IRISH_GAELIC_IRELAND              0x043c
    665665#define TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM    0x083c
  • trunk/poppler/freetype2/src/autofit/afglobal.c

    r150 r200  
    55/*    Auto-fitter routines to compute global hinting values (body).        */
    66/*                                                                         */
    7 /*  Copyright 2003, 2004, 2005, 2006 by                                    */
     7/*  Copyright 2003, 2004, 2005, 2006, 2007 by                              */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    132132    /*
    133133     *  By default, all uncovered glyphs are set to the latin script.
    134      *  XXX: Shouldnt' we disable hinting or do something similar?
     134     *  XXX: Shouldn't we disable hinting or do something similar?
    135135     */
    136136    {
  • trunk/poppler/freetype2/src/autofit/afhints.c

    r182 r200  
    727727    hints->x_delta = x_delta;
    728728    hints->y_delta = y_delta;
     729
     730    hints->xmin_delta = 0;
     731    hints->xmax_delta = 0;
    729732
    730733    points = hints->points;
  • trunk/poppler/freetype2/src/autofit/afhints.h

    r165 r200  
    55/*    Auto-fitter hinting routines (specification).                        */
    66/*                                                                         */
    7 /*  Copyright 2003, 2004, 2005, 2006 by                                    */
     7/*  Copyright 2003, 2004, 2005, 2006, 2007 by                              */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    209209    AF_ScriptMetrics  metrics;
    210210
     211    FT_Pos            xmin_delta;    /* used for warping */
     212    FT_Pos            xmax_delta;
     213   
    211214  } AF_GlyphHintsRec;
    212215
  • trunk/poppler/freetype2/src/autofit/aflatin.c

    r182 r200  
    13861386
    13871387    /*
    1388      *  correct x_scale and y_scale when needed, since they may have
    1389      *  been modified af_latin_scale_dim above
     1388     *  correct x_scale and y_scale if needed, since they may have
     1389     *  been modified `af_latin_metrics_scale_dim' above
    13901390     */
    13911391    hints->x_scale = metrics->axis[AF_DIMENSION_HORZ].scale;
     
    13971397    mode = metrics->root.scaler.render_mode;
    13981398
    1399 #ifdef AF_USE_WARPER
     1399#if 0 /* #ifdef AF_USE_WARPER */
    14001400    if ( mode == FT_RENDER_MODE_LCD || mode == FT_RENDER_MODE_LCD_V )
    14011401    {
     
    21152115
    21162116    /* analyze glyph outline */
     2117#ifdef AF_USE_WARPER
     2118    if ( metrics->root.scaler.render_mode == FT_RENDER_MODE_LIGHT ||
     2119         AF_HINTS_DO_HORIZONTAL( hints ) )
     2120#else
    21172121    if ( AF_HINTS_DO_HORIZONTAL( hints ) )
     2122#endif
    21182123    {
    21192124      error = af_latin_hints_detect_features( hints, AF_DIMENSION_HORZ );
     
    21342139    for ( dim = 0; dim < AF_DIMENSION_MAX; dim++ )
    21352140    {
     2141#ifdef AF_USE_WARPER
     2142      if ( ( dim == AF_DIMENSION_HORZ &&
     2143             metrics->root.scaler.render_mode == FT_RENDER_MODE_LIGHT ) )
     2144      {
     2145        AF_WarperRec  warper;
     2146        FT_Fixed      scale;
     2147        FT_Pos        delta;
     2148
     2149
     2150        af_warper_compute( &warper, hints, dim, &scale, &delta );
     2151        af_glyph_hints_scale_dim( hints, dim, scale, delta );
     2152        continue;
     2153      }
     2154#endif
     2155
    21362156      if ( ( dim == AF_DIMENSION_HORZ && AF_HINTS_DO_HORIZONTAL( hints ) ) ||
    21372157           ( dim == AF_DIMENSION_VERT && AF_HINTS_DO_VERTICAL( hints ) )   )
    21382158      {
    2139 #ifdef AF_USE_WARPER
    2140         if ( dim == AF_DIMENSION_HORZ &&
    2141              metrics->root.scaler.render_mode == FT_RENDER_MODE_NORMAL )
    2142         {
    2143           AF_WarperRec  warper;
    2144           FT_Fixed      scale;
    2145           FT_Pos        delta;
    2146 
    2147 
    2148           af_warper_compute( &warper, hints, dim, &scale, &delta );
    2149           af_glyph_hints_scale_dim( hints, dim, scale, delta );
    2150           continue;
    2151         }
    2152 #endif
    21532159        af_latin_hint_edges( hints, (AF_Dimension)dim );
    21542160        af_glyph_hints_align_edge_points( hints, (AF_Dimension)dim );
  • trunk/poppler/freetype2/src/autofit/afloader.c

    r182 r200  
    55/*    Auto-fitter glyph loading routines (body).                           */
    66/*                                                                         */
    7 /*  Copyright 2003, 2004, 2005, 2006 by                                    */
     7/*  Copyright 2003, 2004, 2005, 2006, 2007 by                              */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    171171
    172172      /* we now need to hint the metrics according to the change in */
    173       /* width/positioning that occured during the hinting process  */
     173      /* width/positioning that occurred during the hinting process */
     174      if ( scaler->render_mode != FT_RENDER_MODE_LIGHT )
    174175      {
    175 #ifndef AF_USE_WARPER
    176176        FT_Pos        old_advance, old_rsb, old_lsb, new_lsb;
    177177        FT_Pos        pp1x_uh, pp2x_uh;
     
    217217        }
    218218        else
    219 #endif /* !AF_USE_WARPER */
    220219        {
    221220          FT_Pos   pp1x = loader->pp1.x;
    222221          FT_Pos   pp2x = loader->pp2.x;
    223222
    224           loader->pp1.x = FT_PIX_ROUND( loader->pp1.x );
    225           loader->pp2.x = FT_PIX_ROUND( loader->pp2.x );
     223          loader->pp1.x = FT_PIX_ROUND( pp1x );
     224          loader->pp2.x = FT_PIX_ROUND( pp2x );
    226225
    227226          slot->lsb_delta = loader->pp1.x - pp1x;
    228227          slot->rsb_delta = loader->pp2.x - pp2x;
    229228        }
     229      }
     230      else
     231      {
     232        FT_Pos   pp1x = loader->pp1.x;
     233        FT_Pos   pp2x = loader->pp2.x;
     234
     235        loader->pp1.x = FT_PIX_ROUND( pp1x + hints->xmin_delta );
     236        loader->pp2.x = FT_PIX_ROUND( pp2x + hints->xmax_delta );
     237
     238        slot->lsb_delta = loader->pp1.x - pp1x;
     239        slot->rsb_delta = loader->pp2.x - pp2x;
    230240      }
    231241
  • trunk/poppler/freetype2/src/autofit/aftypes.h

    r182 r200  
    2323   *  scripts in order to apply language-specific rules.
    2424   *
    25    *  The code has also been compartimentized into several entities that
     25   *  The code has also been compartmentized into several entities that
    2626   *  should make algorithmic experimentation easier than with the old
    2727   *  code.
  • trunk/poppler/freetype2/src/autofit/afwarp.c

    r150 r200  
    55/*    Auto-fitter warping algorithm (body).                                */
    66/*                                                                         */
    7 /*  Copyright 2006 by                                                      */
     7/*  Copyright 2006, 2007 by                                                */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    2525  af_warper_weights[64] =
    2626  {
    27     35, 20, 20, 20, 15, 12, 10,  5,  2,  1,  0,  0,  0,  0,  0,  0,
     27    35, 32, 30, 25, 20, 15, 12, 10,  5,  1,  0,  0,  0,  0,  0,  0,
    2828     0,  0,  0,  0,  0,  0, -1, -2, -5, -8,-10,-10,-20,-20,-30,-30,
    2929
    3030   -30,-30,-20,-20,-10,-10, -8, -5, -2, -1,  0,  0,  0,  0,  0,  0,
    31      0,  0,  0,  0,  0,  0,  0,  1,  2,  5, 10, 12, 15, 20, 20, 20,
     31     0,  0,  0,  0,  0,  0,  0,  1,  5, 10, 12, 15, 20, 25, 30, 32,
    3232  };
    3333#else
     
    5656    FT_Int        idx_min, idx_max, idx0;
    5757    FT_UInt       nn;
    58     AF_WarpScore  scores[64];
    59 
    60 
    61     for ( nn = 0; nn < 64; nn++ )
     58    AF_WarpScore  scores[65];
     59
     60
     61    for ( nn = 0; nn < 65; nn++ )
    6262      scores[nn] = 0;
    6363
     
    7272
    7373      if ( xx1min + w < warper->x2min )
    74         xx1min = warper->x2min - ( xx2 - xx1 );
     74        xx1min = warper->x2min - w;
    7575
    7676      xx1max = warper->x1max;
    7777      if ( xx1max + w > warper->x2max )
    78         xx1max = warper->x2max - ( xx2 - xx1 );
     78        xx1max = warper->x2max - w;
    7979
    8080      idx_min = xx1min - warper->t1;
    8181      idx_max = xx1max - warper->t1;
    8282
    83       if ( idx_min > idx_max )
     83      if ( idx_min < 0 || idx_min > idx_max || idx_max > 64 )
    8484      {
    8585        AF_LOG(( "invalid indices:\n"
     
    9898      FT_Pos  y0  = FT_MulFix( segments[nn].pos, scale ) + delta;
    9999      FT_Pos  y   = y0 + ( idx_min - idx0 );
    100 
    101100      FT_Int  idx;
    102101
     
    166165    warper->best_scale   = org_scale;
    167166    warper->best_delta   = org_delta;
    168     warper->best_score   = 0;
     167    warper->best_score   = INT_MIN;
    169168    warper->best_distort = 0;
    170169
     
    179178
    180179    /* get X1 and X2, minimum and maximum in original coordinates */
    181     if ( axis->num_segments < 1 )
     180    if ( num_segments < 1 )
    182181      return;
    183182
     
    239238    warper->wmax = warper->x2max - warper->x1min;
    240239
    241     if ( warper->wmin < warper->w0 - 32 )
    242       warper->wmin = warper->w0 - 32;
    243 
    244     if ( warper->wmax > warper->w0 + 32 )
    245       warper->wmax = warper->w0 + 32;
     240#if 1
     241    {
     242      int  margin = 16;
     243
     244
     245      if ( warper->w0 <= 128 )
     246      {
     247         margin = 8;
     248         if ( warper->w0 <= 96 )
     249           margin = 4;
     250      }
     251
     252      if ( warper->wmin < warper->w0 - margin )
     253        warper->wmin = warper->w0 - margin;
     254
     255      if ( warper->wmax > warper->w0 + margin )
     256        warper->wmax = warper->w0 + margin;
     257    }
    246258
    247259    if ( warper->wmin < warper->w0 * 3 / 4 )
     
    250262    if ( warper->wmax > warper->w0 * 5 / 4 )
    251263      warper->wmax = warper->w0 * 5 / 4;
    252 
    253     /* warper->wmin = warper->wmax = warper->w0; */
     264#else
     265    /* no scaling, just translation */
     266    warper->wmin = warper->wmax = warper->w0;
     267#endif
    254268
    255269    for ( w = warper->wmin; w <= warper->wmax; w++ )
     
    301315    }
    302316
    303     *a_scale = warper->best_scale;
    304     *a_delta = warper->best_delta;
     317    {
     318      FT_Fixed  best_scale = warper->best_scale;
     319      FT_Pos    best_delta = warper->best_delta;
     320     
     321
     322      hints->xmin_delta = FT_MulFix( X1, best_scale - org_scale )
     323                          + best_delta;
     324      hints->xmax_delta = FT_MulFix( X2, best_scale - org_scale )
     325                          + best_delta;
     326
     327      *a_scale = best_scale;
     328      *a_delta = best_delta;
     329    }
    305330  }
    306331
  • trunk/poppler/freetype2/src/autofit/afwarp.h

    r150 r200  
    55/*    Auto-fitter warping algorithm (specification).                       */
    66/*                                                                         */
    7 /*  Copyright 2006 by                                                      */
     7/*  Copyright 2006, 2007 by                                                */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    3434  typedef struct  AF_WarperRec_
    3535  {
    36     FT_Int        X1, X2;
    3736    FT_Pos        x1, x2;
    3837    FT_Pos        t1, t2;
  • trunk/poppler/freetype2/src/base/ftbbox.c

    r150 r200  
    55/*    FreeType bbox computation (body).                                    */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2004 by                                     */
     7/*  Copyright 1996-2001, 2002, 2004, 2006 by                               */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    304304
    305305
    306     /* The polynom is                         */
     306    /* The polynomial is                      */
    307307    /*                                        */
    308308    /*    P(x) = a*x^3 + 3b*x^2 + 3c*x + d  , */
  • trunk/poppler/freetype2/src/base/ftobjs.c

    r182 r200  
    24612461      pixel_height = 1;
    24622462
    2463     /* use `>=' to avoid potention compiler warning on 16bit platforms */
     2463    /* use `>=' to avoid potential compiler warning on 16bit platforms */
    24642464    if ( pixel_width  >= 0xFFFFU )
    24652465      pixel_width  = 0xFFFFU;
  • trunk/poppler/freetype2/src/cff/cffgload.c

    r182 r200  
    20902090            zone->cursor = zone->base;
    20912091
    2092             if ( !zone->base )
     2092            if ( !zone->base || zone->limit == zone->base )
    20932093            {
    20942094              FT_ERROR(( "cff_decoder_parse_charstrings:"
     
    21322132            zone->cursor = zone->base;
    21332133
    2134             if ( !zone->base )
     2134            if ( !zone->base || zone->limit == zone->base )
    21352135            {
    21362136              FT_ERROR(( "cff_decoder_parse_charstrings:"
  • trunk/poppler/freetype2/src/cff/cffload.c

    r182 r200  
    404404          offset = old_offset;
    405405
    406         /* sanity check for invalid offset tables */
    407         else if ( offset < old_offset || offset - 1 >= idx->data_size )
     406        /* two sanity checks for invalid offset tables */
     407        else if ( offset < old_offset )
     408          offset = old_offset;
     409
     410        else if ( offset - 1 >= idx->data_size && n < idx->count )
    408411          offset = old_offset;
    409412
  • trunk/poppler/freetype2/src/cff/cffparse.c

    r150 r200  
    55/*    CFF token stream parser (body)                                       */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2003, 2004 by                               */
     7/*  Copyright 1996-2001, 2002, 2003, 2004, 2007 by                         */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    160160    {
    161161      /* If we entered this iteration with phase == 4, we need to */
    162       /* read a new byte.  This also skips past the intial 0x1E. */
     162      /* read a new byte.  This also skips past the initial 0x1E. */
    163163      if ( phase )
    164164      {
  • trunk/poppler/freetype2/src/gzip/inftrees.c

    r165 r200  
    132132
    133133
    134   /* Make comiler happy */
     134  /* Make compiler happy */
    135135  r.base = 0;
    136136
  • trunk/poppler/freetype2/src/pfr/pfrload.c

    r150 r200  
    55/*    FreeType PFR loader (body).                                          */
    66/*                                                                         */
    7 /*  Copyright 2002, 2003, 2004, 2005 by                                    */
     7/*  Copyright 2002, 2003, 2004, 2005, 2007 by                              */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    744744    phy_font->flags      = flags = PFR_NEXT_BYTE( p );
    745745
    746     /* get the standard advance for non-proprotional fonts */
     746    /* get the standard advance for non-proportional fonts */
    747747    if ( !(flags & PFR_PHY_PROPORTIONAL) )
    748748    {
  • trunk/poppler/freetype2/src/psaux/psobjs.c

    r182 r200  
    55/*    Auxiliary functions for PostScript fonts (body).                     */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by                   */
     7/*  Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by             */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    11741174
    11751175      default:
    1176         /* an error occured */
     1176        /* an error occurred */
    11771177        goto Fail;
    11781178      }
  • trunk/poppler/freetype2/src/pshinter/pshrec.c

    r150 r200  
    55/*    FreeType PostScript hints recorder (body).                           */
    66/*                                                                         */
    7 /*  Copyright 2001, 2002, 2003, 2004 by                                    */
     7/*  Copyright 2001, 2002, 2003, 2004, 2007 by                              */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    731731    }
    732732
    733     /* creat a new counter when needed */
     733    /* create a new counter when needed */
    734734    if ( count == 0 )
    735735    {
  • trunk/poppler/freetype2/src/psnames/psmodule.c

    r165 r200  
    55/*    PSNames module implementation (body).                                */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2003, 2005, 2006 by                         */
     7/*  Copyright 1996-2001, 2002, 2003, 2005, 2006, 2007 by                   */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    9898
    9999    /* If the name begins with `u', followed by four to six uppercase */
    100     /* hexadicimal digits, it is a hard-coded unicode character code. */
     100    /* hexadecimal digits, it is a hard-coded unicode character code. */
    101101    if ( glyph_name[0] == 'u' )
    102102    {
  • trunk/poppler/freetype2/src/raster/ftraster.c

    r182 r200  
    127127  /*                                                                       */
    128128  /*   Of course, the raster detects whether the two stacks collide and    */
    129   /*   handles the situation propertly.                                    */
     129  /*   handles the situation properly.                                     */
    130130  /*                                                                       */
    131131  /*************************************************************************/
     
    487487    Byte      dropOutControl;       /* current drop_out control method     */
    488488
    489     Bool      second_pass;          /* indicates wether a horizontal pass */
     489    Bool      second_pass;          /* indicates whether a horizontal pass */
    490490                                    /* should be performed to control      */
    491491                                    /* drop-out accurately when calling    */
     
    16471647  /*                                                                       */
    16481648  /* <Description>                                                         */
    1649   /*    Scans the outline arays in order to emit individual segments and   */
     1649  /*    Scans the outline arrays in order to emit individual segments and  */
    16501650  /*    Beziers by calling Line_To() and Bezier_To().  It handles all      */
    16511651  /*    weird cases, like when the first point is off the curve, or when   */
  • trunk/poppler/freetype2/src/sfnt/sfobjs.c

    r182 r200  
    829829        /*        sTypoAscender, sTypoDescender & sTypoLineGap fields.    */
    830830        /*                                                                */
    831         /*        However, certains fonts have these fields set to 0.     */
     831        /*        However, certain fonts have these fields set to 0.      */
    832832        /*        Rather, they have usWinAscent & usWinDescent correctly  */
    833833        /*        set (but with different values).                        */
  • trunk/poppler/freetype2/src/sfnt/ttcmap.c

    r182 r200  
    15291529  /*                                                                       */
    15301530  /*   format      0              USHORT      must be 8                    */
    1531   /*   reseved     2              USHORT      reserved                     */
     1531  /*   reserved    2              USHORT      reserved                     */
    15321532  /*   length      4              ULONG       length in bytes              */
    15331533  /*   language    8              ULONG       Mac language code            */
  • trunk/poppler/freetype2/src/sfnt/ttkern.c

    r182 r200  
    276276
    277277    Found:
    278       if ( coverage & 8 ) /* overide or add */
     278      if ( coverage & 8 ) /* override or add */
    279279        result = value;
    280280      else
  • trunk/poppler/freetype2/src/sfnt/ttload.c

    r182 r200  
    807807  /*                                                                       */
    808808  /* <Description>                                                         */
    809   /*    Loads the cmap directory in a face object.  The cmaps itselves are */
    810   /*    loaded on demand in the `ttcmap.c' module.                         */
     809  /*    Loads the cmap directory in a face object.  The cmaps themselves  */
     810  /*    are loaded on demand in the `ttcmap.c' module.                     */
    811811  /*                                                                       */
    812812  /* <Input>                                                               */
  • trunk/poppler/freetype2/src/sfnt/ttmtx.c

    r182 r200  
    369369      {
    370370        table_pos += 4 * gindex;
    371         if ( table_pos + 6 > table_end )
     371        if ( table_pos + 4 > table_end )
    372372          goto NoData;
    373373
    374374        if ( FT_STREAM_SEEK( table_pos ) ||
    375              FT_READ_USHORT( *aadvance) ||
     375             FT_READ_USHORT( *aadvance ) ||
    376376             FT_READ_SHORT( *abearing )  )
    377377          goto NoData;
  • trunk/poppler/freetype2/src/sfnt/ttpost.c

    r150 r200  
    66/*    (body).                                                              */
    77/*                                                                         */
    8 /*  Copyright 1996-2001, 2002, 2003, 2006 by                               */
     8/*  Copyright 1996-2001, 2002, 2003, 2006, 2007 by                         */
    99/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    1010/*                                                                         */
     
    241241    }
    242242
    243     /* all right, set table fields and exit successfuly */
     243    /* all right, set table fields and exit successfully */
    244244    {
    245245      TT_Post_20  table = &face->postscript_names.names.format_20;
     
    315315    }
    316316
    317     /* OK, set table fields and exit successfuly */
     317    /* OK, set table fields and exit successfully */
    318318    {
    319319      TT_Post_25  table = &face->postscript_names.names.format_25;
  • trunk/poppler/freetype2/src/smooth/ftgrays.c

    r182 r200  
    13601360  /*                                                                       */
    13611361  /* <Return>                                                              */
    1362   /*    Error code.  0 means sucess.                                       */
     1362  /*    Error code.  0 means success.                                      */
    13631363  /*                                                                       */
    13641364  static
  • trunk/poppler/freetype2/src/truetype/ttgload.c

    r182 r200  
    617617
    618618#ifdef TT_USE_BYTECODE_INTERPRETER
    619     /* save original point positioin in org */
     619    /* save original point position in org */
    620620    if ( n_ins > 0 )
    621621      FT_ARRAY_COPY( zone->org, zone->cur, zone->n_points );
  • trunk/poppler/freetype2/src/truetype/ttgxvar.c

    r150 r200  
    55/*    TrueType GX Font Variation loader                                    */
    66/*                                                                         */
    7 /*  Copyright 2004, 2005, 2006 by                                          */
     7/*  Copyright 2004, 2005, 2006, 2007 by                                    */
    88/*  David Turner, Robert Wilhelm, Werner Lemberg, and George Williams.     */
    99/*                                                                         */
     
    2323/*   http://developer.apple.com/fonts/TTRefMan/RM06/Chap6[fgca]var.html    */
    2424/*                                                                         */
    25 /* The documentation for `fvar' is inconsistant.  At one point it says     */
     25/* The documentation for `fvar' is inconsistent.  At one point it says     */
    2626/* that `countSizePairs' should be 3, at another point 2.  It should be 2. */
    2727/*                                                                         */
  • trunk/poppler/freetype2/src/truetype/ttinterp.c

    r182 r200  
    5454  /* In order to detect infinite loops in the code, we set up a counter    */
    5555  /* within the run loop.  A single stroke of interpretation is now        */
    56   /* limitet to a maximal number of opcodes defined below.                 */
     56  /* limited to a maximal number of opcodes defined below.                 */
    5757  /*                                                                       */
    5858#define MAX_RUNNABLE_OPCODES  1000000L
     
    141141  /*                                                                       */
    142142  /* The following macros hide the use of EXEC_ARG and EXEC_ARG_ to        */
    143   /* increase readabilty of the code.                                      */
     143  /* increase readability of the code.                                     */
    144144  /*                                                                       */
    145145  /*************************************************************************/
     
    27702770
    27712771
    2772     /* XXX: UNDOCUMENTED! or bug in the Windows engine? */
    2773     /*                                                  */
    2774     /* It seems that the value that is read here is     */
    2775     /* expressed in 16.16 format rather than in font    */
    2776     /* units.                                           */
    2777     /*                                                  */
     2772    /* XXX: UNDOCUMENTED! or bug in the Windows engine?   */
     2773    /*                                                    */
     2774    /*      It seems that the value that is read here is  */
     2775    /*      expressed in 16.16 format rather than in font */
     2776    /*      units.                                        */
     2777    /*                                                    */
    27782778#define DO_SSW                                                 \
    27792779    CUR.GS.single_width_value = (FT_F26Dot6)( args[0] >> 10 );
     
    43204320    /* Exit the current call frame.                      */
    43214321
    4322     /* NOTE: If the last intruction of a program is a    */
     4322    /* NOTE: If the last instruction of a program is a   */
    43234323    /*       CALL or LOOPCALL, the return address is     */
    43244324    /*       always out of the code range.  This is a    */
     
    54315431    }
    54325432
    5433     /* XXX: UNDOCUMENTED! SHC does touch the points */
     5433    /* XXX: UNDOCUMENTED! SHC touches the points */
    54345434    for ( i = first_point; i <= last_point; i++ )
    54355435    {
     
    54675467      return;
    54685468
    5469     if ( CUR.zp2.n_points > 0 )
    5470       last_point = (FT_UShort)(CUR.zp2.n_points - 1);
     5469    /* XXX: UNDOCUMENTED! SHZ doesn't move the phantom points.  */
     5470    /*      Twilight zone has no contours, so use `n_points'.   */
     5471    /*      Normal zone's `n_points' includes phantoms, so must */
     5472    /*      use end of last contour.                            */
     5473    if ( CUR.GS.gep2 == 0 && CUR.zp2.n_points > 0 )
     5474      last_point = (FT_UShort)( CUR.zp2.n_points - 1 );
     5475    else if ( CUR.GS.gep2 == 1 && CUR.zp2.n_contours > 0 )
     5476      last_point = (FT_UShort)( CUR.zp2.contours[CUR.zp2.n_contours - 1] );
    54715477    else
    54725478      last_point = 0;
     
    70737079  /*    is set to TRUE (returns TRUE).                                     */
    70747080  /*                                                                       */
    7075   /*  On exit whith TRUE, test IP < CodeSize to know wether it comes from  */
     7081  /*  On exit with TRUE, test IP < CodeSize to know whether it comes from  */
    70767082  /*  an instruction trap or a normal termination.                         */
    70777083  /*                                                                       */
  • trunk/poppler/freetype2/src/truetype/ttobjs.c

    r182 r200  
    705705  tt_size_ready_bytecode( TT_Size  size )
    706706  {
    707     FT_UNUSED( ftsize );
     707    FT_UNUSED( size );
    708708    return 0;
    709709  }
  • trunk/poppler/freetype2/src/type1/t1load.c

    r182 r200  
    18861886              /* must be followed by exactly one `end', and    */
    18871887              /* `begin' -- `end' pairs must be accurately     */
    1888               /* paired.  We could use this to dinstinguish    */
     1888              /* paired.  We could use this to distinguish     */
    18891889              /* between the global Private and the Private    */
    18901890              /* dict that is a member of the Blend dict.      */
  • trunk/poppler/freetype2/src/type1/t1load.h

    r165 r200  
    55/*    Type 1 font loader (specification).                                  */
    66/*                                                                         */
    7 /*  Copyright 1996-2001, 2002, 2004, 2006 by                               */
     7/*  Copyright 1996-2001, 2002, 2004, 2006, 2007 by                         */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    5555
    5656  /* treatment of some keywords differs depending on whether */
    57   /* they preceed or follow certain other keywords           */
     57  /* they precede or follow certain other keywords           */
    5858
    5959#define T1_PRIVATE                ( 1 << 0 )
Note: See TracChangeset for help on using the changeset viewer.