annotate freetype2/freetype/ftincrem.h @ 1407:976f7b77f0bf draft

fix Makefile
author Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
date Fri, 17 Feb 2012 17:42:50 +0900
parents a8ab91f49cac
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1206
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 /***************************************************************************/
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 /* ftincrem.h */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 /* FreeType incremental loading (specification). */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 /* Copyright 2002, 2003, 2006, 2007, 2008, 2010 by */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 /* This file is part of the FreeType project, and may only be used, */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 /* modified, and distributed under the terms of the FreeType project */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 /* this file you indicate that you have read the license and */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 /* understand and accept it fully. */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 /***************************************************************************/
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 #ifndef __FTINCREM_H__
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 #define __FTINCREM_H__
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 #include <ft2build.h>
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 #include FT_FREETYPE_H
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 #ifdef FREETYPE_H
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 #error "freetype.h of FreeType 1 has been loaded!"
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 #error "Please fix the directory search order for header files"
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 #error "so that freetype.h of FreeType 2 is found first."
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 #endif
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 FT_BEGIN_HEADER
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 /***************************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 * @section:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 * incremental
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 * @title:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 * Incremental Loading
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 * @abstract:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 * Custom Glyph Loading.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 * This section contains various functions used to perform so-called
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 * `incremental' glyph loading. This is a mode where all glyphs loaded
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 * from a given @FT_Face are provided by the client application,
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 * Apart from that, all other tables are loaded normally from the font
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 * file. This mode is useful when FreeType is used within another
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 * engine, e.g., a PostScript Imaging Processor.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 * To enable this mode, you must use @FT_Open_Face, passing an
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 * @FT_Parameter with the @FT_PARAM_TAG_INCREMENTAL tag and an
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 * @FT_Incremental_Interface value. See the comments for
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 * @FT_Incremental_InterfaceRec for an example.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 /***************************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 * @type:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 * FT_Incremental
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 * An opaque type describing a user-provided object used to implement
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 * `incremental' glyph loading within FreeType. This is used to support
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 * embedded fonts in certain environments (e.g., PostScript interpreters),
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 * where the glyph data isn't in the font file, or must be overridden by
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 * different values.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 * @note:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 * It is up to client applications to create and implement @FT_Incremental
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 * objects, as long as they provide implementations for the methods
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 * @FT_Incremental_GetGlyphDataFunc, @FT_Incremental_FreeGlyphDataFunc
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 * and @FT_Incremental_GetGlyphMetricsFunc.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 * See the description of @FT_Incremental_InterfaceRec to understand how
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 * to use incremental objects with FreeType.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 typedef struct FT_IncrementalRec_* FT_Incremental;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
85
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
86
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 /***************************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 * @struct:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 * FT_Incremental_MetricsRec
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 * A small structure used to contain the basic glyph metrics returned
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 * by the @FT_Incremental_GetGlyphMetricsFunc method.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 * @fields:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 * bearing_x ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 * Left bearing, in font units.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 * bearing_y ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 * Top bearing, in font units.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 * advance ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 * Horizontal component of glyph advance, in font units.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 * advance_v ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 * Vertical component of glyph advance, in font units.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 * @note:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 * These correspond to horizontal or vertical metrics depending on the
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 * value of the `vertical' argument to the function
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 * @FT_Incremental_GetGlyphMetricsFunc.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 typedef struct FT_Incremental_MetricsRec_
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 {
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 FT_Long bearing_x;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 FT_Long bearing_y;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 FT_Long advance;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 FT_Long advance_v; /* since 2.3.12 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
121
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 } FT_Incremental_MetricsRec;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
123
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
124
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 /***************************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 * @struct:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 * FT_Incremental_Metrics
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 * A handle to an @FT_Incremental_MetricsRec structure.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 typedef struct FT_Incremental_MetricsRec_* FT_Incremental_Metrics;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
135
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
136
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 /***************************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 * @type:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 * FT_Incremental_GetGlyphDataFunc
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 * A function called by FreeType to access a given glyph's data bytes
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 * during @FT_Load_Glyph or @FT_Load_Char if incremental loading is
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 * enabled.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 * Note that the format of the glyph's data bytes depends on the font
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 * file format. For TrueType, it must correspond to the raw bytes within
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 * the `glyf' table. For PostScript formats, it must correspond to the
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 * *unencrypted* charstring bytes, without any `lenIV' header. It is
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 * undefined for any other format.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 * @input:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 * incremental ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 * Handle to an opaque @FT_Incremental handle provided by the client
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 * application.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 * glyph_index ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 * Index of relevant glyph.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 * @output:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 * adata ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 * A structure describing the returned glyph data bytes (which will be
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 * accessed as a read-only byte block).
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 * @return:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 * FreeType error code. 0~means success.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 * @note:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 * If this function returns successfully the method
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 * @FT_Incremental_FreeGlyphDataFunc will be called later to release
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 * the data bytes.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 * Nested calls to @FT_Incremental_GetGlyphDataFunc can happen for
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 * compound glyphs.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 typedef FT_Error
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 (*FT_Incremental_GetGlyphDataFunc)( FT_Incremental incremental,
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 FT_UInt glyph_index,
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 FT_Data* adata );
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
182
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
183
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 /***************************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 * @type:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 * FT_Incremental_FreeGlyphDataFunc
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 * A function used to release the glyph data bytes returned by a
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 * successful call to @FT_Incremental_GetGlyphDataFunc.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 * @input:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 * incremental ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 * A handle to an opaque @FT_Incremental handle provided by the client
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
196 * application.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
197 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 * data ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 * A structure describing the glyph data bytes (which will be accessed
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 * as a read-only byte block).
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 typedef void
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 (*FT_Incremental_FreeGlyphDataFunc)( FT_Incremental incremental,
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
205 FT_Data* data );
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
206
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
207
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 /***************************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 * @type:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 * FT_Incremental_GetGlyphMetricsFunc
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 * A function used to retrieve the basic metrics of a given glyph index
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 * before accessing its data. This is necessary because, in certain
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 * formats like TrueType, the metrics are stored in a different place from
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 * the glyph images proper.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 * @input:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 * incremental ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
221 * A handle to an opaque @FT_Incremental handle provided by the client
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
222 * application.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 * glyph_index ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
225 * Index of relevant glyph.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
226 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
227 * vertical ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
228 * If true, return vertical metrics.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
230 * ametrics ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
231 * This parameter is used for both input and output.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
232 * The original glyph metrics, if any, in font units. If metrics are
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
233 * not available all the values must be set to zero.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 * @output:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 * ametrics ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 * The replacement glyph metrics in font units.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 typedef FT_Error
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 (*FT_Incremental_GetGlyphMetricsFunc)
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 ( FT_Incremental incremental,
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 FT_UInt glyph_index,
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 FT_Bool vertical,
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 FT_Incremental_MetricsRec *ametrics );
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
246
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
247
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
248 /**************************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
249 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
250 * @struct:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
251 * FT_Incremental_FuncsRec
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
252 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 * A table of functions for accessing fonts that load data
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
255 * incrementally. Used in @FT_Incremental_InterfaceRec.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 * @fields:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 * get_glyph_data ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 * The function to get glyph data. Must not be null.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 * free_glyph_data ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 * The function to release glyph data. Must not be null.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
263 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 * get_glyph_metrics ::
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
265 * The function to get glyph metrics. May be null if the font does
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
266 * not provide overriding glyph metrics.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
267 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
268 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
269 typedef struct FT_Incremental_FuncsRec_
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
270 {
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
271 FT_Incremental_GetGlyphDataFunc get_glyph_data;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 FT_Incremental_FreeGlyphDataFunc free_glyph_data;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
273 FT_Incremental_GetGlyphMetricsFunc get_glyph_metrics;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
274
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 } FT_Incremental_FuncsRec;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
276
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
277
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
278 /***************************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 * @struct:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
281 * FT_Incremental_InterfaceRec
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
282 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
283 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
284 * A structure to be used with @FT_Open_Face to indicate that the user
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
285 * wants to support incremental glyph loading. You should use it with
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
286 * @FT_PARAM_TAG_INCREMENTAL as in the following example:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
287 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
288 * {
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
289 * FT_Incremental_InterfaceRec inc_int;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
290 * FT_Parameter parameter;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 * FT_Open_Args open_args;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
292 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 * // set up incremental descriptor
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 * inc_int.funcs = my_funcs;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
296 * inc_int.object = my_object;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
297 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 * // set up optional parameter
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 * parameter.tag = FT_PARAM_TAG_INCREMENTAL;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
300 * parameter.data = &inc_int;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
301 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
302 * // set up FT_Open_Args structure
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
303 * open_args.flags = FT_OPEN_PATHNAME | FT_OPEN_PARAMS;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
304 * open_args.pathname = my_font_pathname;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
305 * open_args.num_params = 1;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
306 * open_args.params = &parameter; // we use one optional argument
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
307 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
308 * // open the font
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
309 * error = FT_Open_Face( library, &open_args, index, &face );
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
310 * ...
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
311 * }
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
313 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 typedef struct FT_Incremental_InterfaceRec_
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 {
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 const FT_Incremental_FuncsRec* funcs;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
317 FT_Incremental object;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
318
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
319 } FT_Incremental_InterfaceRec;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
320
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
321
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
322 /***************************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
323 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
324 * @type:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
325 * FT_Incremental_Interface
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
326 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
327 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
328 * A pointer to an @FT_Incremental_InterfaceRec structure.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
329 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
330 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
331 typedef FT_Incremental_InterfaceRec* FT_Incremental_Interface;
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
332
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
333
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 /***************************************************************************
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
335 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
336 * @constant:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
337 * FT_PARAM_TAG_INCREMENTAL
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
338 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
339 * @description:
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
340 * A constant used as the tag of @FT_Parameter structures to indicate
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
341 * an incremental loading object to be used by FreeType.
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
342 *
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
343 */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
344 #define FT_PARAM_TAG_INCREMENTAL FT_MAKE_TAG( 'i', 'n', 'c', 'r' )
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
345
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 /* */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
347
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
348 FT_END_HEADER
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
349
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
350 #endif /* __FTINCREM_H__ */
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
351
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
352
a8ab91f49cac add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff changeset
353 /* END */