ReactOS
0.4.16-dev-36-g301675c
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-2018 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
24
FT_EXPORT_DEF
(
FT_Int
)
25
FT_Get_Gasp
(
FT_Face
face
,
26
FT_UInt
ppem )
27
{
28
FT_Int
result
=
FT_GASP_NO_TABLE
;
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
{
38
TT_GaspRange
range
= ttface->
gasp
.
gaspRanges
;
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 */
FT_IS_SFNT
#define FT_IS_SFNT(face)
Definition:
freetype.h:1331
FT_EXPORT_DEF
#define FT_EXPORT_DEF(x)
Definition:
ftconfig.h:483
FT_Get_Gasp
FT_Get_Gasp(FT_Face face, FT_UInt ppem)
Definition:
ftgasp.c:25
FT_GASP_NO_TABLE
#define FT_GASP_NO_TABLE
Definition:
ftgasp.h:92
FT_UInt
unsigned int FT_UInt
Definition:
fttypes.h:231
FT_Int
signed int FT_Int
Definition:
fttypes.h:220
face
GLenum GLuint GLint GLenum face
Definition:
glext.h:7025
range
GLenum GLint * range
Definition:
glext.h:7539
result
GLuint64EXT * result
Definition:
glext.h:11304
Exit
static void Exit(void)
Definition:
sock.c:1330
FT_FaceRec_
Definition:
freetype.h:1069
TT_FaceRec_
Definition:
tttypes.h:1392
TT_FaceRec_::gasp
TT_GaspRec gasp
Definition:
tttypes.h:1455
TT_GaspRangeRec_
Definition:
tttypes.h:383
TT_Gasp_::version
FT_UShort version
Definition:
tttypes.h:412
TT_Gasp_::numRanges
FT_UShort numRanges
Definition:
tttypes.h:413
TT_Gasp_::gaspRanges
TT_GaspRange gaspRanges
Definition:
tttypes.h:414
TT_Face
struct TT_FaceRec_ * TT_Face
Definition:
tttypes.h:973
sdk
lib
3rdparty
freetype
src
base
ftgasp.c
Generated on Mon Sep 16 2024 06:12:32 for ReactOS by
1.9.6