text: /***************************************************************************/
  /*                                                                         */
  /*  ftgasp.c                                                               */
  /*                                                                         */
  /*    Access of TrueType's `gasp' table (body).                            */
  /*                                                                         */
  /*  Copyright 2007 by                                                      */
  /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
  /*                                                                         */
  /*  This file is part of the FreeType project, and may only be used,       */
  /*  modified, and distributed under the terms of the FreeType project      */
  /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
  /*  this file you indicate that you have read the license and              */
  /*  understand and accept it fully.                                        */
  /*                                                                         */
  /***************************************************************************/
  
  
  #include <ft2build.h>
  #include FT_GASP_H
  #include FT_INTERNAL_TRUETYPE_TYPES_H
  
  
    FT_EXPORT_DEF( FT_Int )
    FT_Get_Gasp( FT_Face  face,
                 FT_UInt  ppem )
    {
      FT_Int  result = FT_GASP_NO_TABLE;
  
  
      if ( face && FT_IS_SFNT( face ) )
      {
        TT_Face  ttface = (TT_Face)face;
  
  
        if ( ttface->gasp.numRanges > 0 )
        {
          TT_GaspRange  range     = ttface->gasp.gaspRanges;
          TT_GaspRange  range_end = range + ttface->gasp.numRanges;
  
  
          while ( ppem > range->maxPPEM )
          {
            range++;
            if ( range >= range_end )
              goto Exit;
          }
  
          result = range->gaspFlag;
  
          /* ensure that we don't have spurious bits */
          if ( ttface->gasp.version == 0 )
            result &= 3;
        }
      }
    Exit:
      return result;
    }
  
  
  /* END */
  