zenilib
0.5.3.0
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
ftadvanc.h
Go to the documentation of this file.
1
/***************************************************************************/
2
/* */
3
/* ftadvanc.h */
4
/* */
5
/* Quick computation of advance widths (specification only). */
6
/* */
7
/* Copyright 2008 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
#ifndef __FTADVANC_H__
20
#define __FTADVANC_H__
21
22
23
#include <
ft2build.h
>
24
#include FT_FREETYPE_H
25
26
#ifdef FREETYPE_H
27
#error "freetype.h of FreeType 1 has been loaded!"
28
#error "Please fix the directory search order for header files"
29
#error "so that freetype.h of FreeType 2 is found first."
30
#endif
31
32
33
FT_BEGIN_HEADER
34
35
36
/**************************************************************************
37
*
38
* @section:
39
* quick_advance
40
*
41
* @title:
42
* Quick retrieval of advance values
43
*
44
* @abstract:
45
* Retrieve horizontal and vertical advance values without processing
46
* glyph outlines, if possible.
47
*
48
* @description:
49
* This section contains functions to quickly extract advance values
50
* without handling glyph outlines, if possible.
51
*/
52
53
54
/*************************************************************************/
55
/* */
56
/* <Const> */
57
/* FT_ADVANCE_FLAG_FAST_ONLY */
58
/* */
59
/* <Description> */
60
/* A bit-flag to be OR-ed with the `flags' parameter of the */
61
/* @FT_Get_Advance and @FT_Get_Advances functions. */
62
/* */
63
/* If set, it indicates that you want these functions to fail if the */
64
/* corresponding hinting mode or font driver doesn't allow for very */
65
/* quick advance computation. */
66
/* */
67
/* Typically, glyphs which are either unscaled, unhinted, bitmapped, */
68
/* or light-hinted can have their advance width computed very */
69
/* quickly. */
70
/* */
71
/* Normal and bytecode hinted modes, which require loading, scaling, */
72
/* and hinting of the glyph outline, are extremely slow by */
73
/* comparison. */
74
/* */
75
#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000UL
76
77
78
/*************************************************************************/
79
/* */
80
/* <Function> */
81
/* FT_Get_Advance */
82
/* */
83
/* <Description> */
84
/* Retrieve the advance value of a given glyph outline in an */
85
/* @FT_Face. By default, the unhinted advance is returned in font */
86
/* units. */
87
/* */
88
/* <Input> */
89
/* face :: The source @FT_Face handle. */
90
/* */
91
/* gindex :: The glyph index. */
92
/* */
93
/* load_flags :: A set of bit flags similar to those used when */
94
/* calling @FT_Load_Glyph, used to determine what kind */
95
/* of advances you need. */
96
/* <Output> */
97
/* padvance :: The advance value, in either font units or 16.16 */
98
/* format. */
99
/* */
100
/* If @FT_LOAD_VERTICAL_LAYOUT is set, this is the */
101
/* vertical advance corresponding to a vertical layout. */
102
/* Otherwise, it is the horizontal advance in a */
103
/* horizontal layout. */
104
/* */
105
/* <Return> */
106
/* FreeType error code. 0 means success. */
107
/* */
108
/* <Note> */
109
/* This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and */
110
/* if the corresponding font backend doesn't have a quick way to */
111
/* retrieve the advances. */
112
/* */
113
/* A scaled advance is returned in 16.16 format but isn't transformed */
114
/* by the affine transformation specified by @FT_Set_Transform. */
115
/* */
116
FT_EXPORT
(
FT_Error
)
117
FT_Get_Advance
(
FT_Face
face
,
118
FT_UInt
gindex,
119
FT_Int32 load_flags,
120
FT_Fixed
*padvance );
121
122
123
/*************************************************************************/
124
/* */
125
/* <Function> */
126
/* FT_Get_Advances */
127
/* */
128
/* <Description> */
129
/* Retrieve the advance values of several glyph outlines in an */
130
/* @FT_Face. By default, the unhinted advances are returned in font */
131
/* units. */
132
/* */
133
/* <Input> */
134
/* face :: The source @FT_Face handle. */
135
/* */
136
/* start :: The first glyph index. */
137
/* */
138
/* count :: The number of advance values you want to retrieve. */
139
/* */
140
/* load_flags :: A set of bit flags similar to those used when */
141
/* calling @FT_Load_Glyph. */
142
/* */
143
/* <Output> */
144
/* padvance :: The advances, in either font units or 16.16 format. */
145
/* This array must contain at least `count' elements. */
146
/* */
147
/* If @FT_LOAD_VERTICAL_LAYOUT is set, these are the */
148
/* vertical advances corresponding to a vertical layout. */
149
/* Otherwise, they are the horizontal advances in a */
150
/* horizontal layout. */
151
/* */
152
/* <Return> */
153
/* FreeType error code. 0 means success. */
154
/* */
155
/* <Note> */
156
/* This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and */
157
/* if the corresponding font backend doesn't have a quick way to */
158
/* retrieve the advances. */
159
/* */
160
/* Scaled advances are returned in 16.16 format but aren't */
161
/* transformed by the affine transformation specified by */
162
/* @FT_Set_Transform. */
163
/* */
164
FT_EXPORT
(
FT_Error
)
165
FT_Get_Advances
(
FT_Face
face,
166
FT_UInt
start
,
167
FT_UInt
count
,
168
FT_Int32 load_flags,
169
FT_Fixed
*padvances );
170
171
/* */
172
173
174
FT_END_HEADER
175
176
#endif
/* __FTADVANC_H__ */
177
178
179
/* END */
FT_Error
int FT_Error
Definition:
fttypes.h:296
FT_END_HEADER
#define FT_END_HEADER
Definition:
ftheader.h:54
start
GLuint start
Definition:
glew.h:1239
FT_BEGIN_HEADER
#define FT_BEGIN_HEADER
Definition:
ftheader.h:36
FT_Get_Advance
FT_Get_Advance(FT_Face face, FT_UInt gindex, FT_Int32 load_flags, FT_Fixed *padvance)
Definition:
ftadvanc.c:70
FT_FaceRec_
Definition:
freetype.h:912
count
GLint GLsizei count
Definition:
gl2ext.h:1011
face
GLenum face
Definition:
gl2ext.h:1490
FT_Get_Advances
FT_Get_Advances(FT_Face face, FT_UInt start, FT_UInt count, FT_Int32 load_flags, FT_Fixed *padvances)
Definition:
ftadvanc.c:105
ft2build.h
FT_Fixed
signed long FT_Fixed
Definition:
fttypes.h:284
FT_UInt
unsigned int FT_UInt
Definition:
fttypes.h:227
FT_EXPORT
#define FT_EXPORT(x)
Definition:
ftconfig.h:500
zenilib
jni
external
freetype2
include
freetype
ftadvanc.h
Generated on Thu Oct 3 2013 19:56:00 for zenilib by
1.8.5