<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
background: #FFFFFF; }
p { text-align: justify; }
h1 { text-align: center; }
li { text-align: justify; }
td { padding: 0 0.5em 0 0.5em; }
td.left { padding: 0 0.5em 0 0.5em;
text-align: left; }
a:link { color: #0000EF; }
a:visited { color: #51188E; }
a:hover { color: #FF0000; }
span.keyword { font-family: monospace;
text-align: left;
white-space: pre;
color: darkblue; }
pre.colored { color: blue; }
ul.empty { list-style-type: none; }
Basic Data Types
<
table align=center
cellspacing=5 cellpadding=0 border=0>
<
tr><
td><
/td><
td><
a href="#FT_Byte">FT_Byte<
/a><
/td><
td><
/td><
td><
a href="#FT_PtrDist">FT_PtrDist<
/a><
/td><
td><
/td><
td><
a href="#FT_Pixel_Mode">FT_Pixel_Mode<
/a><
/td><
/tr>
<
tr><
td><
/td><
td><
a href="#FT_Bytes">FT_Bytes<
/a><
/td><
td><
/td><
td><
a href="#FT_String">FT_String<
/a><
/td><
td><
/td><
td><
a href="#ft_pixel_mode_xxx">ft_pixel_mode_xxx<
/a><
/td><
/tr>
<
tr><
td><
/td><
td><
a href="#FT_Int16">FT_Int16<
/a><
/td><
td><
/td><
td><
a href="#FT_Pointer">FT_Pointer<
/a><
/td><
td><
/td><
td><
a href="#FT_Glyph_Format">FT_Glyph_Format<
/a><
/td><
/tr>
<
tr><
td><
/td><
td><
a href="#FT_UInt16">FT_UInt16<
/a><
/td><
td><
/td><
td><
a href="#FT_Pos">FT_Pos<
/a><
/td><
td><
/td><
td><
a href="#ft_glyph_format_xxx">ft_glyph_format_xxx<
/a><
/td><
/tr>
<
tr><
td><
/td><
td><
a href="#FT_UInt32">FT_UInt32<
/a><
/td><
td><
/td><
td><
a href="#FT_BBox">FT_BBox<
/a><
/td><
td><
/td><
td><
a href="#FT_Generic_Finalizer">FT_Generic_Finalizer<
/a><
/td><
/tr>
<
p>This section contains the basic
data types defined by FreeType
2, ranging from simple scalar types to bitmap descriptors. More font-specific structures are defined in a different section.<
/p>
<
h4><
a name="FT_Byte">FT_Byte<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>A simple typedef
for the <
i>unsigned<
/i>
char type.<
/p>
<
h4><
a name="FT_Bytes">FT_Bytes<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">const<
/span> <
a href="ft2-basic_types.html#FT_Byte">FT_Byte<
/a>* <
b>FT_Bytes<
/b>;
<
p>A typedef
for constant memory areas.<
/p>
<
h4><
a name="FT_Char">FT_Char<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>A simple typedef
for the <
i>signed<
/i>
char type.<
/p>
<
h4><
a name="FT_Int">FT_Int<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>A typedef
for the int
type.<
/p>
<
h4><
a name="FT_UInt">FT_UInt<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>A typedef
for the unsigned int
type.<
/p>
<
h4><
a name="FT_Int16">FT_Int16<
/a><
/h4>
Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>A typedef
for a 16bit signed integer
type.<
/p>
<
h4><
a name="FT_UInt16">FT_UInt16<
/a><
/h4>
Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>A typedef
for a 16bit unsigned integer
type.<
/p>
<
h4><
a name="FT_Int32">FT_Int32<
/a><
/h4>
Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">signed<
/span> XXX <
b>FT_Int32<
/b>;
<
p>A typedef
for a 32bit signed integer
type. The
size depends on the configuration.<
/p>
<
h4><
a name="FT_UInt32">FT_UInt32<
/a><
/h4>
Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">unsigned<
/span> XXX <
b>FT_UInt32<
/b>;
<
h4><
a name="FT_Short">FT_Short<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>A typedef
for signed short.<
/p>
<
h4><
a name="FT_UShort">FT_UShort<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>A typedef
for unsigned short.<
/p>
<
h4><
a name="FT_Long">FT_Long<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>A typedef
for signed long.<
/p>
<
h4><
a name="FT_ULong">FT_ULong<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>A typedef
for unsigned long.<
/p>
<
h4><
a name="FT_Bool">FT_Bool<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>A typedef of unsigned
char, used
for simple booleans. As usual, values
1 and
0 represent true and false, respectively.<
/p>
<
h4><
a name="FT_Offset">FT_Offset<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> size_t <
b>FT_Offset<
/b>;
<
p>This is equivalent to the ANSI C ‘size_t’
type, i.e., the largest <
i>unsigned<
/i> integer
type used to express a file
size or position, or a memory block
size.<
/p>
<
h4><
a name="FT_PtrDist">FT_PtrDist<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> ft_ptrdiff_t <
b>FT_PtrDist<
/b>;
<
p>This is equivalent to the ANSI C ‘ptrdiff_t’
type, i.e., the largest <
i>signed<
/i> integer
type used to express the distance between two pointers.<
/p>
<
h4><
a name="FT_String">FT_String<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>A simple typedef
for the
char type, usually used
for strings.<
/p>
<
h4><
a name="FT_Tag">FT_Tag<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
a href="ft2-basic_types.html#FT_UInt32">FT_UInt32<
/a> <
b>FT_Tag<
/b>;
<
p>A typedef
for 32-bit tags
(as used in the SFNT format
).<
/p>
<
h4><
a name="FT_Error">FT_Error<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>The FreeType error
code type. A
value of
0 is always interpreted as a successful operation.<
/p>
<
h4><
a name="FT_Fixed">FT_Fixed<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>This
type is used to store
16.16 fixed-point values, like scaling values or matrix coefficients.<
/p>
<
h4><
a name="FT_Pointer">FT_Pointer<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">void<
/span>* <
b>FT_Pointer<
/b>;
<
p>A simple typedef
for a typeless pointer.<
/p>
<
h4><
a name="FT_Pos">FT_Pos<
/a><
/h4>
Defined in FT_IMAGE_H (freetype/ftimage.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>The
type FT_Pos is used to store vectorial coordinates. Depending on the context, these can represent distances in integer font units, or
16.16, or
26.6 fixed-point pixel coordinates.<
/p>
<
h4><
a name="FT_Vector">FT_Vector<
/a><
/h4>
Defined in FT_IMAGE_H (freetype/ftimage.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">struct<
/span> FT_Vector_
{
<
a href="ft2-basic_types.html#FT_Pos">FT_Pos<
/a> x;
<
a href="ft2-basic_types.html#FT_Pos">FT_Pos<
/a> y;
<
p>A simple structure used to store a 2D vector; coordinates are of the FT_Pos
type.<
/p>
<
table cellpadding=3 border=0>
<
p>The horizontal coordinate.<
/p>
<
p>The vertical coordinate.<
/p>
<
h4><
a name="FT_BBox">FT_BBox<
/a><
/h4>
Defined in FT_IMAGE_H (freetype/ftimage.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">struct<
/span> FT_BBox_
{
<
a href="ft2-basic_types.html#FT_Pos">FT_Pos<
/a> xMin, yMin;
<
a href="ft2-basic_types.html#FT_Pos">FT_Pos<
/a> xMax, yMax;
<
p>A structure used to hold an outline
's bounding box, i.e., the coordinates of its extrema in the horizontal and vertical directions.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>xMin</b></td><td>
<p>The horizontal minimum (left-most).</p>
</td></tr>
<tr valign=top><td><b>yMin</b></td><td>
<p>The vertical minimum (bottom-most).</p>
</td></tr>
<tr valign=top><td><b>xMax</b></td><td>
<p>The horizontal maximum (right-most).</p>
</td></tr>
<tr valign=top><td><b>yMax</b></td><td>
<p>The vertical maximum (top-most).</p>
</td></tr>
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The bounding box is specified with the coordinates of the lower left and the upper right corner. In PostScript, those values are often called (llx,lly) and (urx,ury), respectively.</p>
<p>If ‘yMin’ is negative, this value gives the glyph's descender. Otherwise, the glyph doesn
't descend below the baseline. Similarly, if ‘ymax’ is positive, this value gives the glyph's ascender.<
/p>
<
p>‘xMin’ gives the horizontal distance from the glyph
's origin to the left edge of the glyph's bounding box. If ‘xMin’ is negative, the glyph extends to the left of the origin.<
/p>
<
h4><
a name="FT_Matrix">FT_Matrix<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">struct<
/span> FT_Matrix_
{
<
a href="ft2-basic_types.html#FT_Fixed">FT_Fixed<
/a> xx, xy;
<
a href="ft2-basic_types.html#FT_Fixed">FT_Fixed<
/a> yx, yy;
<
p>A simple structure used to store a 2x2 matrix. Coefficients are in
16.16 fixed-point format. The computation performed is:<
/p>
x' = x*xx + y*xy
y' = x*yx + y*yy
<
table cellpadding=3 border=0>
<
p>Matrix coefficient.<
/p>
<
p>Matrix coefficient.<
/p>
<
p>Matrix coefficient.<
/p>
<
p>Matrix coefficient.<
/p>
<
h4><
a name="FT_FWord">FT_FWord<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">signed<
/span> <
span class="keyword">short<
/span> <
b>FT_FWord<
/b>;
/* distance in FUnits *
/
<
p>A signed
16-bit integer used to store a distance in original font units.<
/p>
<
h4><
a name="FT_UFWord">FT_UFWord<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">unsigned<
/span> <
span class="keyword">short<
/span> <
b>FT_UFWord<
/b>;
/* <
span class="keyword">unsigned<
/span> distance *
/
<
p>An unsigned
16-bit integer used to store a distance in original font units.<
/p>
<
h4><
a name="FT_F2Dot14">FT_F2Dot14<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>A signed
2.14 fixed-point
type used
for unit vectors.<
/p>
<
h4><
a name="FT_UnitVector">FT_UnitVector<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">struct<
/span> FT_UnitVector_
{
<
a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14<
/a> x;
<
a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14<
/a> y;
<
p>A simple structure used to store a 2D vector unit vector. Uses FT_F2Dot14 types.<
/p>
<
table cellpadding=3 border=0>
<
p>Horizontal coordinate.<
/p>
<
p>Vertical coordinate.<
/p>
<
h4><
a name="FT_F26Dot6">FT_F26Dot6<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
p>A signed
26.6 fixed-point
type used
for vectorial pixel coordinates.<
/p>
<
h4><
a name="FT_Pixel_Mode">FT_Pixel_Mode<
/a><
/h4>
Defined in FT_IMAGE_H (freetype/ftimage.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">enum<
/span> FT_Pixel_Mode_
{
<
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE<
/a>
= 0,
<
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO<
/a>,
<
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY<
/a>,
<
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2<
/a>,
<
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4<
/a>,
<
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD<
/a>,
<
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V<
/a>,
<
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_BGRA<
/a>,
FT_PIXEL_MODE_MAX /* do not remove */
<
p>An enumeration
type used to describe the format of pixels in a given bitmap. Note that additional formats may be added in the future.<
/p>
<
table cellpadding=3 border=0>
<
tr valign=top><
td><
b>FT_PIXEL_MODE_NONE<
/b><
/td><
td>
<
p>Value
0 is reserved.<
/p>
<
tr valign=top><
td><
b>FT_PIXEL_MODE_MONO<
/b><
/td><
td>
<
p>A monochrome bitmap, using
1 bit per pixel. Note that pixels are stored in most-significant order
(MSB
), which means that the left-most pixel in a byte has
value 128.<
/p>
<
tr valign=top><
td><
b>FT_PIXEL_MODE_GRAY<
/b><
/td><
td>
<
p>An
8-bit bitmap, generally used to represent anti-aliased glyph images. Each pixel is stored in one byte. Note that the number of ‘gray’ levels is stored in the ‘num_grays’ field of the <
a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap<
/a> structure
(it generally is
256).<
/p>
<
tr valign=top><
td><
b>FT_PIXEL_MODE_GRAY2<
/b><
/td><
td>
<
p>A
2-bit per pixel bitmap, used to represent embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven
't found a single font using this format, however.</p>
</td></tr>
<tr valign=top><td><b>FT_PIXEL_MODE_GRAY4</b></td><td>
<p>A 4-bit per pixel bitmap, representing embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.<
/p>
<
tr valign=top><
td><
b>FT_PIXEL_MODE_LCD<
/b><
/td><
td>
<
p>An
8-bit bitmap, representing RGB or BGR decimated glyph images used
for display on LCD displays; the bitmap is three times wider than the original glyph image. See also <
a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD<
/a>.<
/p>
<
tr valign=top><
td><
b>FT_PIXEL_MODE_LCD_V<
/b><
/td><
td>
<
p>An
8-bit bitmap, representing RGB or BGR decimated glyph images used
for display on rotated LCD displays; the bitmap is three times taller than the original glyph image. See also <
a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V<
/a>.<
/p>
<
tr valign=top><
td><
b>FT_PIXEL_MODE_BGRA<
/b><
/td><
td>
<
p>An image with four
8-bit channels per pixel, representing a
color image
(such as emoticons
) with alpha channel.
For each pixel, the format is BGRA, which means, the blue channel comes first in memory. The
color channels are pre-multiplied and in the sRGB colorspace.
For example, full red at half-translucent opacity will be represented as ‘00,00,
80,
80’, not ‘00,00,FF,
80’. See also <
a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COLOR<
/a>.<
/p>
<
h4><
a name="ft_pixel_mode_xxx">ft_pixel_mode_xxx<
/a><
/h4>
Defined in FT_IMAGE_H (freetype/ftimage.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
#define <
a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_none<
/a> <
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE<
/a>
#define <
a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_mono<
/a> <
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO<
/a>
#define <
a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_grays<
/a> <
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY<
/a>
#define <
a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_pal2<
/a> <
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2<
/a>
#define <
a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_pal4<
/a> <
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4<
/a>
<
p>A list of deprecated constants. Use the corresponding <
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode<
/a> values instead.<
/p>
<
table cellpadding=3 border=0>
<
tr valign=top><
td><
b>ft_pixel_mode_none<
/b><
/td><
td>
<
p>See <
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE<
/a>.<
/p>
<
tr valign=top><
td><
b>ft_pixel_mode_mono<
/b><
/td><
td>
<
p>See <
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO<
/a>.<
/p>
<
tr valign=top><
td><
b>ft_pixel_mode_grays<
/b><
/td><
td>
<
p>See <
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY<
/a>.<
/p>
<
tr valign=top><
td><
b>ft_pixel_mode_pal2<
/b><
/td><
td>
<
p>See <
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2<
/a>.<
/p>
<
tr valign=top><
td><
b>ft_pixel_mode_pal4<
/b><
/td><
td>
<
p>See <
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4<
/a>.<
/p>
<
h4><
a name="FT_Palette_Mode">FT_Palette_Mode<
/a><
/h4>
Defined in FT_IMAGE_H (freetype/ftimage.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">enum<
/span> FT_Palette_Mode_
{
<
a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgb<
/a>
= 0,
<
a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgba<
/a>,
ft_palette_mode_max /* do not remove */
} <
b>FT_Palette_Mode<
/b>;
<
p>THIS
TYPE IS DEPRECATED. DO NOT USE IT!<
/p>
<
p>An enumeration
type to describe the format of a bitmap palette, used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8.<
/p>
<
table cellpadding=3 border=0>
<
tr valign=top><
td><
b>ft_palette_mode_rgb<
/b><
/td><
td>
<
p>The palette is an array of
3-byte RGB records.<
/p>
<
tr valign=top><
td><
b>ft_palette_mode_rgba<
/b><
/td><
td>
<
p>The palette is an array of
4-byte RGBA records.<
/p>
<
p>As ft_pixel_mode_pal2, pal4 and pal8 are currently unused by FreeType, these types are not handled by the library itself.<
/p>
<
h4><
a name="FT_Bitmap">FT_Bitmap<
/a><
/h4>
Defined in FT_IMAGE_H (freetype/ftimage.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">struct<
/span> FT_Bitmap_
{
<
span class="keyword">unsigned<
/span> <
span class="keyword">char<
/span>* buffer;
<
span class="keyword">short<
/span> num_grays;
<
span class="keyword">char<
/span> pixel_mode;
<
span class="keyword">char<
/span> palette_mode;
<
span class="keyword">void<
/span>* palette;
<
p>A structure used to describe a bitmap or pixmap to the raster. Note that we now manage pixmaps of various depths through the ‘pixel_mode’ field.<
/p>
<
table cellpadding=3 border=0>
<
p>The number of bitmap
rows.<
/p>
<
p>The number of pixels in bitmap row.<
/p>
<
p>The pitch
's absolute value is the number of bytes taken by one bitmap row, including padding. However, the pitch is positive when the bitmap has a ‘down’ flow, and negative when it has an ‘up’ flow. In all cases, the pitch is an offset to add to a bitmap pointer in order to go down one row.</p>
<p>Note that ‘padding’ means the alignment of a bitmap to a byte border, and FreeType functions normally align to the smallest possible integer value.</p>
<p>For the B/W rasterizer, ‘pitch’ is always an even number.</p>
<p>To change the pitch of a bitmap (say, to make it a multiple of 4), use <a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a>. Alternatively, you might use callback functions to directly render to the application's surface; see the file ‘example2.cpp’ in the tutorial
for a demonstration.<
/p>
<
p>A typeless pointer to the bitmap buffer. This
value should be aligned on
32-bit boundaries in most cases.<
/p>
<
p>This field is only used with <
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY<
/a>; it gives the number of gray levels used in the bitmap.<
/p>
<
p>The pixel mode, i.e., how pixel bits are stored. See <
a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode<
/a>
for possible values.<
/p>
<
p>This field is intended
for paletted pixel modes; it indicates how the palette is stored. Not used currently.<
/p>
<
p>A typeless pointer to the bitmap palette; this field is intended
for paletted pixel modes. Not used currently.<
/p>
<
p>
For now, the only pixel modes supported by FreeType are mono and grays. However, drivers might be added in the future to support more ‘colorful’ options.<
/p>
<
h4><
a name="FT_IMAGE_TAG">FT_IMAGE_TAG<
/a><
/h4>
Defined in FT_IMAGE_H (freetype/ftimage.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
#ifndef <
b>FT_IMAGE_TAG<
/b>
#define <
b>FT_IMAGE_TAG<
/b>
( value, _x1, _x2, _x3, _x4
) \
value = ( ( (<
span class="keyword">unsigned<
/span> <
span class="keyword">long<
/span>
)_x1 <<
24 ) | \
( (<
span class="keyword">unsigned<
/span> <
span class="keyword">long<
/span>
)_x2 <<
16 ) | \
( (<
span class="keyword">unsigned<
/span> <
span class="keyword">long<
/span>
)_x3 <<
8 ) | \
#endif
/* <
b>FT_IMAGE_TAG<
/b> *
/
<
p>This macro converts four-letter tags to an unsigned long
type.<
/p>
<
p>Since many
16-bit compilers don
't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:</p>
<pre class="colored">
#define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) value
</pre>
<p>to get a simple enumeration without assigning special numbers.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
<td width="100%"></td>
<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
<table align=center width="75%"><tr><td>
<h4><a name="FT_Glyph_Format">FT_Glyph_Format</a></h4>
<table align=center width="87%"><tr><td>
Defined in FT_IMAGE_H (freetype/ftimage.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
<span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Glyph_Format_
{
<a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a>, 0, 0, 0, 0 ),
<a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>, 'c', 'o', 'm', 'p' ),
<a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>, 'b', 'i', 't', 's' ),
<a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a>, 'o', 'u', 't', 'l' ),
<a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a>, 'p', 'l', 'o', 't' )
} <b>FT_Glyph_Format</b>;
</pre></table><br>
<table align=center width="87%"><tr><td>
<p>An enumeration type used to describe the format of a given glyph image. Note that this version of FreeType only supports two image formats, even though future font drivers will be able to register their own format.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>FT_GLYPH_FORMAT_NONE</b></td><td>
<p>The value 0 is reserved.</p>
</td></tr>
<tr valign=top><td colspan=0><b>FT_GLYPH_FORMAT_COMPOSITE</b></td></tr>
<tr valign=top><td></td><td>
<p>The glyph image is a composite of several other images. This format is <i>only</i> used with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a>, and is used to report compound glyphs (like accented characters).</p>
</td></tr>
<tr valign=top><td><b>FT_GLYPH_FORMAT_BITMAP</b></td><td>
<p>The glyph image is a bitmap, and can be described as an <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a>. You generally need to access the ‘bitmap’ field of the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure to read it.</p>
</td></tr>
<tr valign=top><td colspan=0><b>FT_GLYPH_FORMAT_OUTLINE</b></td></tr>
<tr valign=top><td></td><td>
<p>The glyph image is a vectorial outline made of line segments and Bézier arcs; it can be described as an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>; you generally want to access the ‘outline’ field of the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure to read it.</p>
</td></tr>
<tr valign=top><td colspan=0><b>FT_GLYPH_FORMAT_PLOTTER</b></td></tr>
<tr valign=top><td></td><td>
<p>The glyph image is a vectorial path with no inside and outside contours. Some Type 1 fonts, like those in the Hershey family, contain glyphs in this format. These are described as <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>, but FreeType isn't currently capable of rendering them correctly.<
/p>
<
h4><
a name="ft_glyph_format_xxx">ft_glyph_format_xxx<
/a><
/h4>
Defined in FT_IMAGE_H (freetype/ftimage.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
#define <
a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_none<
/a> <
a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE<
/a>
#define <
a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_composite<
/a> <
a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE<
/a>
#define <
a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_bitmap<
/a> <
a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP<
/a>
#define <
a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_outline<
/a> <
a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE<
/a>
#define <
a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_plotter<
/a> <
a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER<
/a>
<
p>A list of deprecated constants. Use the corresponding <
a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format<
/a> values instead.<
/p>
<
table cellpadding=3 border=0>
<
tr valign=top><
td><
b>ft_glyph_format_none<
/b><
/td><
td>
<
p>See <
a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE<
/a>.<
/p>
<
tr valign=top><
td colspan=0><
b>ft_glyph_format_composite<
/b><
/td><
/tr>
<
p>See <
a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE<
/a>.<
/p>
<
tr valign=top><
td><
b>ft_glyph_format_bitmap<
/b><
/td><
td>
<
p>See <
a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP<
/a>.<
/p>
<
tr valign=top><
td colspan=0><
b>ft_glyph_format_outline<
/b><
/td><
/tr>
<
p>See <
a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE<
/a>.<
/p>
<
tr valign=top><
td colspan=0><
b>ft_glyph_format_plotter<
/b><
/td><
/tr>
<
p>See <
a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER<
/a>.<
/p>
<
h4><
a name="FT_Data">FT_Data<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">struct<
/span> FT_Data_
{
<
span class="keyword">const<
/span> <
a href="ft2-basic_types.html#FT_Byte">FT_Byte<
/a>* pointer;
<
a href="ft2-basic_types.html#FT_Int">FT_Int<
/a> length;
<
p>Read-only binary
data represented as a pointer and a length.<
/p>
<
table cellpadding=3 border=0>
<
p>The length of the
data in bytes.<
/p>
<
h4><
a name="FT_Generic_Finalizer">FT_Generic_Finalizer<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">void<
/span>
(*<
b>FT_Generic_Finalizer<
/b>
)(<
span class="keyword">void<
/span>*
object);
<
p>Describe a function used to destroy the ‘client’
data of any FreeType
object. See the description of the <
a href="ft2-basic_types.html#FT_Generic">FT_Generic<
/a>
type for details of usage.<
/p>
<
p>The address of the FreeType
object which is under finalization. Its client
data is accessed through its ‘generic’ field.<
/p>
<
h4><
a name="FT_Generic">FT_Generic<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
<
span class="keyword">typedef<
/span> <
span class="keyword">struct<
/span> FT_Generic_
{
<
span class="keyword">void<
/span>*
data;
<
a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer<
/a> finalizer;
<
p>Client applications often need to associate their own
data to a variety of FreeType core objects.
For example, a
text layout API might want to associate a glyph cache to a given
size object.<
/p>
<
p>Some FreeType
object contains a ‘generic’ field, of
type FT_Generic, which usage is left to client applications and font servers.<
/p>
<
p>It can be used to store a pointer to client-specific
data, as well as the address of a ‘finalizer’ function, which will be called by FreeType when the
object is destroyed
(for example, the previous client example would put the address of the glyph cache destructor in the ‘finalizer’ field
).<
/p>
<
table cellpadding=3 border=0>
<
p>A typeless pointer to any client-specified
data. This field is completely ignored by the FreeType library.<
/p>
<
p>A pointer to a ‘generic finalizer’ function, which will be called when the
object is destroyed. If this field is set to NULL, no
code will be called.<
/p>
<
h4><
a name="FT_MAKE_TAG">FT_MAKE_TAG<
/a><
/h4>
Defined in FT_TYPES_H (freetype/fttypes.h).
<
table align=center
width="87%"><
tr bgcolor="#D6E8FF"><
td><
pre>
#define <
b>FT_MAKE_TAG<
/b>
( _x1, _x2, _x3, _x4
) \
(<
a href="ft2-basic_types.html#FT_Tag">FT_Tag<
/a>
) \
( ( (<
a href="ft2-basic_types.html#FT_ULong">FT_ULong<
/a>
)_x1 <<
24 ) | \
( (<
a href="ft2-basic_types.html#FT_ULong">FT_ULong<
/a>
)_x2 <<
16 ) | \
( (<
a href="ft2-basic_types.html#FT_ULong">FT_ULong<
/a>
)_x3 <<
8 ) | \
(<
a href="ft2-basic_types.html#FT_ULong">FT_ULong<
/a>
)_x4
)
<
p>This macro converts four-letter tags which are used to
label TrueType tables into an unsigned long to be used within FreeType.<
/p>
<
p>The produced values <
b>must<
/b> be
32-bit integers. Don
't redefine this macro.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
<td width="100%"></td>
<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
<table align=center width="75%"><tr><td>
<h4><a name="FT_Int64">FT_Int64</a></h4>
<table align=center width="87%"><tr><td>
Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
<span class="keyword">typedef</span> <span class="keyword">signed</span> XXX <b>FT_Int64</b>;
</pre></table><br>
</td></tr></table>
<hr width="75%">
<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
<td width="100%"></td>
<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
<table align=center width="75%"><tr><td>
<h4><a name="FT_UInt64">FT_UInt64</a></h4>
<table align=center width="87%"><tr><td>
Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
<span class="keyword">typedef</span> <span class="keyword">unsigned</span> XXX <b>FT_UInt64</b>;
</pre></table><br>
</td></tr></table>
<hr width="75%">
<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
<td width="100%"></td>
<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
</body>
</html>