ReactOS 0.4.16-dev-1078-g21d3e29
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 (C) 2007-2019 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 */
#define FT_IS_SFNT(face)
Definition: freetype.h:1303
#define FT_EXPORT_DEF(x)
Definition: ftconfig.h:494
FT_Get_Gasp(FT_Face face, FT_UInt ppem)
Definition: ftgasp.c:25
#define FT_GASP_NO_TABLE
Definition: ftgasp.h:95
unsigned int FT_UInt
Definition: fttypes.h:231
signed int FT_Int
Definition: fttypes.h:220
GLenum GLuint GLint GLenum face
Definition: glext.h:7025
GLenum GLint * range
Definition: glext.h:7539
GLuint64EXT * result
Definition: glext.h:11304
static void Exit(void)
Definition: sock.c:1330
TT_GaspRec gasp
Definition: tttypes.h:1600
FT_UShort version
Definition: tttypes.h:453
FT_UShort numRanges
Definition: tttypes.h:454
TT_GaspRange gaspRanges
Definition: tttypes.h:455
struct TT_FaceRec_ * TT_Face
Definition: tttypes.h:1064