/modules/freetype2/src/base/ftgasp.c
http://github.com/zpao/v8monkey · C · 61 lines · 29 code · 14 blank · 18 comment · 7 complexity · 4c98fa68f3288dbf4994c48ef2d1e5c8 MD5 · raw file
- /***************************************************************************/
- /* */
- /* 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 */