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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/poppler/freetype2/src/otvalid/otvmod.c

    r209 r251  
    55/*    FreeType's OpenType validation module implementation (body).         */
    66/*                                                                         */
    7 /*  Copyright 2004, 2005, 2006 by                                          */
     7/*  Copyright 2004, 2005, 2006, 2007 by                                    */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    8080    FT_Byte* volatile         gsub;
    8181    FT_Byte* volatile         jstf;
     82    FT_Byte* volatile         math;
    8283    FT_ULong                  len_base, len_gdef, len_gpos, len_gsub, len_jstf;
     84    FT_ULong                  len_math;
    8385    FT_ValidatorRec volatile  valid;
    8486
    8587
    86     base     = gdef     = gpos     = gsub     = jstf     = NULL;
    87     len_base = len_gdef = len_gpos = len_gsub = len_jstf = 0;
     88    base     = gdef     = gpos     = gsub     = jstf     = math     = NULL;
     89    len_base = len_gdef = len_gpos = len_gsub = len_jstf = len_math = 0;
    8890
    8991    /* load tables */
     
    124126    }
    125127
     128    if ( ot_flags & FT_VALIDATE_MATH )
     129    {
     130      error = otv_load_table( face, TTAG_MATH, &math, &len_math );
     131      if ( error )
     132        goto Exit;
     133    }
     134
    126135    /* validate tables */
    127136
     
    171180      if ( ft_setjmp( valid.jump_buffer ) == 0 )
    172181        otv_JSTF_validate( jstf, gsub, gpos, face->num_glyphs, &valid );
     182      error = valid.error;
     183      if ( error )
     184        goto Exit;
     185    }
     186
     187    if ( math )
     188    {
     189      ft_validator_init( &valid, math, math + len_math, FT_VALIDATE_DEFAULT );
     190      if ( ft_setjmp( valid.jump_buffer ) == 0 )
     191        otv_MATH_validate( math, face->num_glyphs, &valid );
    173192      error = valid.error;
    174193      if ( error )
     
    193212      FT_FREE( jstf );
    194213    }
     214    {
     215      FT_Memory  memory = FT_FACE_MEMORY( face );
     216
     217
     218      FT_FREE( math );                 /* Can't return this as API is frozen */
     219    }
    195220
    196221    return error;
Note: See TracChangeset for help on using the changeset viewer.