Imported Upstream version 2.6.7
[platform/upstream/harfbuzz.git] / docs / html / harfbuzz-hb-ft.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>hb-ft: HarfBuzz Manual</title>
6 <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
7 <link rel="home" href="index.html" title="HarfBuzz Manual">
8 <link rel="up" href="ch15.html" title="Integration API">
9 <link rel="prev" href="harfbuzz-hb-coretext.html" title="hb-coretext">
10 <link rel="next" href="harfbuzz-hb-glib.html" title="hb-glib">
11 <meta name="generator" content="GTK-Doc V1.32.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16 <td width="100%" align="left" class="shortcuts">
17 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
18                   <a href="#harfbuzz-hb-ft.description" class="shortcut">Description</a></span>
19 </td>
20 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
21 <td><a accesskey="u" href="ch15.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
22 <td><a accesskey="p" href="harfbuzz-hb-coretext.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
23 <td><a accesskey="n" href="harfbuzz-hb-glib.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
24 </tr></table>
25 <div class="refentry">
26 <a name="harfbuzz-hb-ft"></a><div class="titlepage"></div>
27 <div class="refnamediv"><table width="100%"><tr>
28 <td valign="top">
29 <h2><span class="refentrytitle"><a name="harfbuzz-hb-ft.top_of_page"></a>hb-ft</span></h2>
30 <p>hb-ft — FreeType integration</p>
31 </td>
32 <td class="gallery_image" valign="top" align="right"></td>
33 </tr></table></div>
34 <div class="refsect1">
35 <a name="harfbuzz-hb-ft.functions"></a><h2>Functions</h2>
36 <div class="informaltable"><table class="informaltable" width="100%" border="0">
37 <colgroup>
38 <col width="150px" class="functions_proto_type">
39 <col class="functions_proto_name">
40 </colgroup>
41 <tbody>
42 <tr>
43 <td class="function_type">
44 <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
45 </td>
46 <td class="function_name">
47 <a class="link" href="harfbuzz-hb-ft.html#hb-ft-face-create" title="hb_ft_face_create ()">hb_ft_face_create</a> <span class="c_punctuation">()</span>
48 </td>
49 </tr>
50 <tr>
51 <td class="function_type">
52 <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
53 </td>
54 <td class="function_name">
55 <a class="link" href="harfbuzz-hb-ft.html#hb-ft-face-create-cached" title="hb_ft_face_create_cached ()">hb_ft_face_create_cached</a> <span class="c_punctuation">()</span>
56 </td>
57 </tr>
58 <tr>
59 <td class="function_type">
60 <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
61 </td>
62 <td class="function_name">
63 <a class="link" href="harfbuzz-hb-ft.html#hb-ft-face-create-referenced" title="hb_ft_face_create_referenced ()">hb_ft_face_create_referenced</a> <span class="c_punctuation">()</span>
64 </td>
65 </tr>
66 <tr>
67 <td class="function_type">
68 <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
69 </td>
70 <td class="function_name">
71 <a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-create" title="hb_ft_font_create ()">hb_ft_font_create</a> <span class="c_punctuation">()</span>
72 </td>
73 </tr>
74 <tr>
75 <td class="function_type">
76 <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
77 </td>
78 <td class="function_name">
79 <a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-create-referenced" title="hb_ft_font_create_referenced ()">hb_ft_font_create_referenced</a> <span class="c_punctuation">()</span>
80 </td>
81 </tr>
82 <tr>
83 <td class="function_type">
84 <span class="returnvalue">void</span>
85 </td>
86 <td class="function_name">
87 <a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-changed" title="hb_ft_font_changed ()">hb_ft_font_changed</a> <span class="c_punctuation">()</span>
88 </td>
89 </tr>
90 <tr>
91 <td class="function_type">
92 <span class="returnvalue">FT_Face</span>
93 </td>
94 <td class="function_name">
95 <a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-get-face" title="hb_ft_font_get_face ()">hb_ft_font_get_face</a> <span class="c_punctuation">()</span>
96 </td>
97 </tr>
98 <tr>
99 <td class="function_type">
100 <span class="returnvalue">FT_Face</span>
101 </td>
102 <td class="function_name">
103 <a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-lock-face" title="hb_ft_font_lock_face ()">hb_ft_font_lock_face</a> <span class="c_punctuation">()</span>
104 </td>
105 </tr>
106 <tr>
107 <td class="function_type">
108 <span class="returnvalue">void</span>
109 </td>
110 <td class="function_name">
111 <a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-unlock-face" title="hb_ft_font_unlock_face ()">hb_ft_font_unlock_face</a> <span class="c_punctuation">()</span>
112 </td>
113 </tr>
114 <tr>
115 <td class="function_type">
116 <span class="returnvalue">void</span>
117 </td>
118 <td class="function_name">
119 <a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-set-load-flags" title="hb_ft_font_set_load_flags ()">hb_ft_font_set_load_flags</a> <span class="c_punctuation">()</span>
120 </td>
121 </tr>
122 <tr>
123 <td class="function_type">
124 <span class="returnvalue">int</span>
125 </td>
126 <td class="function_name">
127 <a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-get-load-flags" title="hb_ft_font_get_load_flags ()">hb_ft_font_get_load_flags</a> <span class="c_punctuation">()</span>
128 </td>
129 </tr>
130 <tr>
131 <td class="function_type">
132 <span class="returnvalue">void</span>
133 </td>
134 <td class="function_name">
135 <a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-set-funcs" title="hb_ft_font_set_funcs ()">hb_ft_font_set_funcs</a> <span class="c_punctuation">()</span>
136 </td>
137 </tr>
138 </tbody>
139 </table></div>
140 </div>
141 <div class="refsect1">
142 <a name="harfbuzz-hb-ft.includes"></a><h2>Includes</h2>
143 <pre class="synopsis">#include &lt;hb-ft.h&gt;
144 </pre>
145 </div>
146 <div class="refsect1">
147 <a name="harfbuzz-hb-ft.description"></a><h2>Description</h2>
148 <p>Functions for using HarfBuzz with the FreeType library.</p>
149 <p>HarfBuzz supports using FreeType to provide face and
150 font data.</p>
151 <div class="note">Note that FreeType is not thread-safe, therefore these
152 functions are not thread-safe either.</div>
153 </div>
154 <div class="refsect1">
155 <a name="harfbuzz-hb-ft.functions_details"></a><h2>Functions</h2>
156 <div class="refsect2">
157 <a name="hb-ft-face-create"></a><h3>hb_ft_face_create ()</h3>
158 <pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
159 hb_ft_face_create (<em class="parameter"><code><span class="type">FT_Face</span> ft_face</code></em>,
160                    <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
161 <p>Creates an <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> face object from the specified FT_Face.</p>
162 <p>This variant of the function does not provide any life-cycle management.</p>
163 <p>Most client programs should use <a class="link" href="harfbuzz-hb-ft.html#hb-ft-face-create-referenced" title="hb_ft_face_create_referenced ()"><code class="function">hb_ft_face_create_referenced()</code></a>
164 (or, perhaps, <a class="link" href="harfbuzz-hb-ft.html#hb-ft-face-create-cached" title="hb_ft_face_create_cached ()"><code class="function">hb_ft_face_create_cached()</code></a>) instead. </p>
165 <p>If you know you have valid reasons not to use <a class="link" href="harfbuzz-hb-ft.html#hb-ft-face-create-referenced" title="hb_ft_face_create_referenced ()"><code class="function">hb_ft_face_create_referenced()</code></a>,
166 then it is the client program's responsibility to destroy <em class="parameter"><code>ft_face</code></em>
167  
168 after the <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> face object has been destroyed.</p>
169 <div class="refsect3">
170 <a name="hb-ft-face-create.parameters"></a><h4>Parameters</h4>
171 <div class="informaltable"><table class="informaltable" width="100%" border="0">
172 <colgroup>
173 <col width="150px" class="parameters_name">
174 <col class="parameters_description">
175 <col width="200px" class="parameters_annotations">
176 </colgroup>
177 <tbody>
178 <tr>
179 <td class="parameter_name"><p>ft_face</p></td>
180 <td class="parameter_description"><p>FT_Face to work upon. </p></td>
181 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
182 </tr>
183 <tr>
184 <td class="parameter_name"><p>destroy</p></td>
185 <td class="parameter_description"><p>A callback to call when the face object is not needed anymore</p></td>
186 <td class="parameter_annotations"> </td>
187 </tr>
188 </tbody>
189 </table></div>
190 </div>
191 <div class="refsect3">
192 <a name="hb-ft-face-create.returns"></a><h4>Returns</h4>
193 <p>the new <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> face object. </p>
194 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
195 </div>
196 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
197 </div>
198 <hr>
199 <div class="refsect2">
200 <a name="hb-ft-face-create-cached"></a><h3>hb_ft_face_create_cached ()</h3>
201 <pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
202 hb_ft_face_create_cached (<em class="parameter"><code><span class="type">FT_Face</span> ft_face</code></em>);</pre>
203 <p>Creates an <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> face object from the specified FT_Face.</p>
204 <p>This variant of the function caches the newly created <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a>
205 face object, using the <em class="parameter"><code>generic</code></em>
206  pointer of <em class="parameter"><code>ft_face</code></em>
207 . Subsequent function
208 calls that are passed the same <em class="parameter"><code>ft_face</code></em>
209  parameter will have the same
210 <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> returned to them, and that <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> will be correctly
211 reference counted.</p>
212 <p>However, client programs are still responsible for destroying
213 <em class="parameter"><code>ft_face</code></em>
214  after the last <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> face object has been destroyed.</p>
215 <div class="refsect3">
216 <a name="hb-ft-face-create-cached.parameters"></a><h4>Parameters</h4>
217 <div class="informaltable"><table class="informaltable" width="100%" border="0">
218 <colgroup>
219 <col width="150px" class="parameters_name">
220 <col class="parameters_description">
221 <col width="200px" class="parameters_annotations">
222 </colgroup>
223 <tbody><tr>
224 <td class="parameter_name"><p>ft_face</p></td>
225 <td class="parameter_description"><p>FT_Face to work upon</p></td>
226 <td class="parameter_annotations"> </td>
227 </tr></tbody>
228 </table></div>
229 </div>
230 <div class="refsect3">
231 <a name="hb-ft-face-create-cached.returns"></a><h4>Returns</h4>
232 <p>the new <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> face object. </p>
233 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
234 </div>
235 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
236 </div>
237 <hr>
238 <div class="refsect2">
239 <a name="hb-ft-face-create-referenced"></a><h3>hb_ft_face_create_referenced ()</h3>
240 <pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> *
241 hb_ft_face_create_referenced (<em class="parameter"><code><span class="type">FT_Face</span> ft_face</code></em>);</pre>
242 <p>Creates an <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> face object from the specified FT_Face.</p>
243 <p>This is the preferred variant of the hb_ft_face_create*
244 function family, because it calls <code class="function">FT_Reference_Face()</code> on <em class="parameter"><code>ft_face</code></em>
245 ,
246 ensuring that <em class="parameter"><code>ft_face</code></em>
247  remains alive as long as the resulting
248 <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> face object remains alive. Also calls <code class="function">FT_Done_Face()</code>
249 when the <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> face object is destroyed.</p>
250 <p>Use this version unless you know you have good reasons not to.</p>
251 <div class="refsect3">
252 <a name="hb-ft-face-create-referenced.parameters"></a><h4>Parameters</h4>
253 <div class="informaltable"><table class="informaltable" width="100%" border="0">
254 <colgroup>
255 <col width="150px" class="parameters_name">
256 <col class="parameters_description">
257 <col width="200px" class="parameters_annotations">
258 </colgroup>
259 <tbody><tr>
260 <td class="parameter_name"><p>ft_face</p></td>
261 <td class="parameter_description"><p>FT_Face to work upon</p></td>
262 <td class="parameter_annotations"> </td>
263 </tr></tbody>
264 </table></div>
265 </div>
266 <div class="refsect3">
267 <a name="hb-ft-face-create-referenced.returns"></a><h4>Returns</h4>
268 <p>the new <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> face object. </p>
269 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
270 </div>
271 <p class="since">Since: <a class="link" href="api-index-0-9-38.html#api-index-0.9.38">0.9.38</a></p>
272 </div>
273 <hr>
274 <div class="refsect2">
275 <a name="hb-ft-font-create"></a><h3>hb_ft_font_create ()</h3>
276 <pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
277 hb_ft_font_create (<em class="parameter"><code><span class="type">FT_Face</span> ft_face</code></em>,
278                    <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-destroy-func-t" title="hb_destroy_func_t ()"><span class="type">hb_destroy_func_t</span></a> destroy</code></em>);</pre>
279 <p>Creates an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> font object from the specified FT_Face.</p>
280 <div class="note">Note: You must set the face size on <em class="parameter"><code>ft_face</code></em> before calling
281 <a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-create" title="hb_ft_font_create ()"><code class="function">hb_ft_font_create()</code></a> on it. Otherwise, HarfBuzz will not pick up
282 the face size.</div>
283 <p>This variant of the function does not provide any life-cycle management.</p>
284 <p>Most client programs should use <a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-create-referenced" title="hb_ft_font_create_referenced ()"><code class="function">hb_ft_font_create_referenced()</code></a>
285 instead. </p>
286 <p>If you know you have valid reasons not to use <a class="link" href="harfbuzz-hb-ft.html#hb-ft-font-create-referenced" title="hb_ft_font_create_referenced ()"><code class="function">hb_ft_font_create_referenced()</code></a>,
287 then it is the client program's responsibility to destroy <em class="parameter"><code>ft_face</code></em>
288  
289 after the <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> font object has been destroyed.</p>
290 <p>HarfBuzz will use the <em class="parameter"><code>destroy</code></em>
291  callback on the <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> font object 
292 if it is supplied when you use this function. However, even if <em class="parameter"><code>destroy</code></em>
293
294 is provided, it is the client program's responsibility to destroy <em class="parameter"><code>ft_face</code></em>
295 ,
296 and it is the client program's responsibility to ensure that <em class="parameter"><code>ft_face</code></em>
297  is
298 destroyed only after the <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> font object has been destroyed.</p>
299 <div class="refsect3">
300 <a name="hb-ft-font-create.parameters"></a><h4>Parameters</h4>
301 <div class="informaltable"><table class="informaltable" width="100%" border="0">
302 <colgroup>
303 <col width="150px" class="parameters_name">
304 <col class="parameters_description">
305 <col width="200px" class="parameters_annotations">
306 </colgroup>
307 <tbody>
308 <tr>
309 <td class="parameter_name"><p>ft_face</p></td>
310 <td class="parameter_description"><p>FT_Face to work upon. </p></td>
311 <td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym> destroy][<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
312 </tr>
313 <tr>
314 <td class="parameter_name"><p>destroy</p></td>
315 <td class="parameter_description"><p>A callback to call when the font object is not needed anymore. </p></td>
316 <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td>
317 </tr>
318 </tbody>
319 </table></div>
320 </div>
321 <div class="refsect3">
322 <a name="hb-ft-font-create.returns"></a><h4>Returns</h4>
323 <p>the new <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> font object. </p>
324 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
325 </div>
326 <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p>
327 </div>
328 <hr>
329 <div class="refsect2">
330 <a name="hb-ft-font-create-referenced"></a><h3>hb_ft_font_create_referenced ()</h3>
331 <pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> *
332 hb_ft_font_create_referenced (<em class="parameter"><code><span class="type">FT_Face</span> ft_face</code></em>);</pre>
333 <p>Creates an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> font object from the specified FT_Face.</p>
334 <div class="note">Note: You must set the face size on <em class="parameter"><code>ft_face</code></em> before calling
335 <code class="function">hb_ft_font_create_references()</code> on it. Otherwise, HarfBuzz will not pick up
336 the face size.</div>
337 <p>This is the preferred variant of the hb_ft_font_create*
338 function family, because it calls <code class="function">FT_Reference_Face()</code> on <em class="parameter"><code>ft_face</code></em>
339 ,
340 ensuring that <em class="parameter"><code>ft_face</code></em>
341  remains alive as long as the resulting
342 <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> font object remains alive.</p>
343 <p>Use this version unless you know you have good reasons not to.</p>
344 <div class="refsect3">
345 <a name="hb-ft-font-create-referenced.parameters"></a><h4>Parameters</h4>
346 <div class="informaltable"><table class="informaltable" width="100%" border="0">
347 <colgroup>
348 <col width="150px" class="parameters_name">
349 <col class="parameters_description">
350 <col width="200px" class="parameters_annotations">
351 </colgroup>
352 <tbody><tr>
353 <td class="parameter_name"><p>ft_face</p></td>
354 <td class="parameter_description"><p>FT_Face to work upon</p></td>
355 <td class="parameter_annotations"> </td>
356 </tr></tbody>
357 </table></div>
358 </div>
359 <div class="refsect3">
360 <a name="hb-ft-font-create-referenced.returns"></a><h4>Returns</h4>
361 <p>the new <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> font object. </p>
362 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
363 </div>
364 <p class="since">Since: <a class="link" href="api-index-0-9-38.html#api-index-0.9.38">0.9.38</a></p>
365 </div>
366 <hr>
367 <div class="refsect2">
368 <a name="hb-ft-font-changed"></a><h3>hb_ft_font_changed ()</h3>
369 <pre class="programlisting"><span class="returnvalue">void</span>
370 hb_ft_font_changed (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
371 </div>
372 <hr>
373 <div class="refsect2">
374 <a name="hb-ft-font-get-face"></a><h3>hb_ft_font_get_face ()</h3>
375 <pre class="programlisting"><span class="returnvalue">FT_Face</span>
376 hb_ft_font_get_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
377 </div>
378 <hr>
379 <div class="refsect2">
380 <a name="hb-ft-font-lock-face"></a><h3>hb_ft_font_lock_face ()</h3>
381 <pre class="programlisting"><span class="returnvalue">FT_Face</span>
382 hb_ft_font_lock_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
383 <p class="since">Since: 2.6.5</p>
384 </div>
385 <hr>
386 <div class="refsect2">
387 <a name="hb-ft-font-unlock-face"></a><h3>hb_ft_font_unlock_face ()</h3>
388 <pre class="programlisting"><span class="returnvalue">void</span>
389 hb_ft_font_unlock_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
390 <p class="since">Since: 2.6.5</p>
391 </div>
392 <hr>
393 <div class="refsect2">
394 <a name="hb-ft-font-set-load-flags"></a><h3>hb_ft_font_set_load_flags ()</h3>
395 <pre class="programlisting"><span class="returnvalue">void</span>
396 hb_ft_font_set_load_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>,
397                            <em class="parameter"><code><span class="type">int</span> load_flags</code></em>);</pre>
398 <p>Sets the FT_Load_Glyph load flags for the specified <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a>.</p>
399 <p>For more information, see 
400 https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html<span class="type">ft_load_xxx</span></p>
401 <div class="refsect3">
402 <a name="hb-ft-font-set-load-flags.parameters"></a><h4>Parameters</h4>
403 <div class="informaltable"><table class="informaltable" width="100%" border="0">
404 <colgroup>
405 <col width="150px" class="parameters_name">
406 <col class="parameters_description">
407 <col width="200px" class="parameters_annotations">
408 </colgroup>
409 <tbody>
410 <tr>
411 <td class="parameter_name"><p>font</p></td>
412 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> to work upon</p></td>
413 <td class="parameter_annotations"> </td>
414 </tr>
415 <tr>
416 <td class="parameter_name"><p>load_flags</p></td>
417 <td class="parameter_description"><p>The FreeType load flags to set</p></td>
418 <td class="parameter_annotations"> </td>
419 </tr>
420 </tbody>
421 </table></div>
422 </div>
423 <p class="since">Since: <a class="link" href="api-index-1-0-5.html#api-index-1.0.5">1.0.5</a></p>
424 </div>
425 <hr>
426 <div class="refsect2">
427 <a name="hb-ft-font-get-load-flags"></a><h3>hb_ft_font_get_load_flags ()</h3>
428 <pre class="programlisting"><span class="returnvalue">int</span>
429 hb_ft_font_get_load_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
430 <p>Fetches the FT_Load_Glyph load flags of the specified <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a>.</p>
431 <p>For more information, see 
432 https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html<span class="type">ft_load_xxx</span></p>
433 <div class="refsect3">
434 <a name="hb-ft-font-get-load-flags.parameters"></a><h4>Parameters</h4>
435 <div class="informaltable"><table class="informaltable" width="100%" border="0">
436 <colgroup>
437 <col width="150px" class="parameters_name">
438 <col class="parameters_description">
439 <col width="200px" class="parameters_annotations">
440 </colgroup>
441 <tbody><tr>
442 <td class="parameter_name"><p>font</p></td>
443 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> to work upon</p></td>
444 <td class="parameter_annotations"> </td>
445 </tr></tbody>
446 </table></div>
447 </div>
448 <div class="refsect3">
449 <a name="hb-ft-font-get-load-flags.returns"></a><h4>Returns</h4>
450 <p> FT_Load_Glyph flags found</p>
451 </div>
452 <p class="since">Since: <a class="link" href="api-index-1-0-5.html#api-index-1.0.5">1.0.5</a></p>
453 </div>
454 <hr>
455 <div class="refsect2">
456 <a name="hb-ft-font-set-funcs"></a><h3>hb_ft_font_set_funcs ()</h3>
457 <pre class="programlisting"><span class="returnvalue">void</span>
458 hb_ft_font_set_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre>
459 <p>Configures the font-functions structure of the specified
460 <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> font object to use FreeType font functions.</p>
461 <p>In particular, you can use this function to configure an
462 existing <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> face object for use with FreeType font
463 functions even if that <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> face object was initially
464 created with <a class="link" href="harfbuzz-hb-face.html#hb-face-create" title="hb_face_create ()"><code class="function">hb_face_create()</code></a>, and therefore was not
465 initially configured to use FreeType font functions.</p>
466 <p>An <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> face object created with <a class="link" href="harfbuzz-hb-ft.html#hb-ft-face-create" title="hb_ft_face_create ()"><code class="function">hb_ft_face_create()</code></a>
467 is preconfigured for FreeType font functions and does not
468 require this function to be used.</p>
469 <div class="note">Note: Internally, this function creates an FT_Face.
470 </div>
471 <div class="refsect3">
472 <a name="hb-ft-font-set-funcs.parameters"></a><h4>Parameters</h4>
473 <div class="informaltable"><table class="informaltable" width="100%" border="0">
474 <colgroup>
475 <col width="150px" class="parameters_name">
476 <col class="parameters_description">
477 <col width="200px" class="parameters_annotations">
478 </colgroup>
479 <tbody><tr>
480 <td class="parameter_name"><p>font</p></td>
481 <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> to work upon</p></td>
482 <td class="parameter_annotations"> </td>
483 </tr></tbody>
484 </table></div>
485 </div>
486 <p class="since">Since: <a class="link" href="api-index-1-0-5.html#api-index-1.0.5">1.0.5</a></p>
487 </div>
488 </div>
489 </div>
490 <div class="footer">
491 <hr>Generated by GTK-Doc V1.32.1</div>
492 </body>
493 </html>