zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ftgasp.c
Go to the documentation of this file.
1 /***************************************************************************/
2 /* */
3 /* ftgasp.c */
4 /* */
5 /* Access of TrueType's `gasp' table (body). */
6 /* */
7 /* Copyright 2007 by */
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
9 /* */
10 /* This file is part of the FreeType project, and may only be used, */
11 /* modified, and distributed under the terms of the FreeType project */
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
13 /* this file you indicate that you have read the license and */
14 /* understand and accept it fully. */
15 /* */
16 /***************************************************************************/
17 
18 
19 #include <ft2build.h>
20 #include FT_GASP_H
21 #include FT_INTERNAL_TRUETYPE_TYPES_H
22 
23 
26  FT_UInt ppem )
27  {
29 
30 
31  if ( face && FT_IS_SFNT( face ) )
32  {
33  TT_Face ttface = (TT_Face)face;
34 
35 
36  if ( ttface->gasp.numRanges > 0 )
37  {
39  TT_GaspRange range_end = range + ttface->gasp.numRanges;
40 
41 
42  while ( ppem > range->maxPPEM )
43  {
44  range++;
45  if ( range >= range_end )
46  goto Exit;
47  }
48 
49  result = range->gaspFlag;
50 
51  /* ensure that we don't have spurious bits */
52  if ( ttface->gasp.version == 0 )
53  result &= 3;
54  }
55  }
56  Exit:
57  return result;
58  }
59 
60 
61 /* END */
signed int FT_Int
Definition: fttypes.h:216
GLenum GLint * range
Definition: glew.h:3391
#define FT_GASP_NO_TABLE
Definition: ftgasp.h:92
GLuint64EXT * result
Definition: glew.h:12708
struct TT_FaceRec_ * TT_Face
Definition: tttypes.h:951
GLenum face
Definition: gl2ext.h:1490
#define FT_IS_SFNT(face)
Definition: freetype.h:1160
TT_GaspRec gasp
Definition: tttypes.h:1317
FT_UShort version
Definition: tttypes.h:307
#define FT_EXPORT_DEF(x)
Definition: ftconfig.h:511
unsigned int FT_UInt
Definition: fttypes.h:227
FT_UShort numRanges
Definition: tttypes.h:308
FT_Get_Gasp(FT_Face face, FT_UInt ppem)
Definition: ftgasp.c:25
TT_GaspRange gaspRanges
Definition: tttypes.h:309
FT_UShort maxPPEM
Definition: tttypes.h:279
FT_UShort gaspFlag
Definition: tttypes.h:280