PATH:
usr
/
share
/
gtk-doc
/
html
/
harfbuzz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>hb-ot-shape: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> <link rel="home" href="index.html" title="HarfBuzz Manual"> <link rel="up" href="ch13.html" title="OpenType API"> <link rel="prev" href="harfbuzz-hb-ot-name.html" title="hb-ot-name"> <link rel="next" href="harfbuzz-hb-ot-var.html" title="hb-ot-var"> <meta name="generator" content="GTK-Doc V1.32 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> <td width="100%" align="left" class="shortcuts"> <a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> <a href="#harfbuzz-hb-ot-shape.description" class="shortcut">Description</a></span> </td> <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> <td><a accesskey="u" href="ch13.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-ot-name.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-ot-var.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> <a name="harfbuzz-hb-ot-shape"></a><div class="titlepage"></div> <div class="refnamediv"><table width="100%"><tr> <td valign="top"> <h2><span class="refentrytitle"><a name="harfbuzz-hb-ot-shape.top_of_page"></a>hb-ot-shape</span></h2> <p>hb-ot-shape — OpenType shaping support</p> </td> <td class="gallery_image" valign="top" align="right"></td> </tr></table></div> <div class="refsect1"> <a name="harfbuzz-hb-ot-shape.functions"></a><h2>Functions</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="functions_proto_type"> <col class="functions_proto_name"> </colgroup> <tbody><tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-ot-shape.html#hb-ot-shape-glyphs-closure" title="hb_ot_shape_glyphs_closure ()">hb_ot_shape_glyphs_closure</a> <span class="c_punctuation">()</span> </td> </tr></tbody> </table></div> </div> <div class="refsect1"> <a name="harfbuzz-hb-ot-shape.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb-ot.h> </pre> </div> <div class="refsect1"> <a name="harfbuzz-hb-ot-shape.description"></a><h2>Description</h2> <p>Support functions for OpenType shaping related queries.</p> </div> <div class="refsect1"> <a name="harfbuzz-hb-ot-shape.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="hb-ot-shape-glyphs-closure"></a><h3>hb_ot_shape_glyphs_closure ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_ot_shape_glyphs_closure (<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>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> *features</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> num_features</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre> <p>Computes the transitive closure of glyphs needed for a specified input buffer under the given font and feature list. The closure is computed as a set, not as a list.</p> <div class="refsect3"> <a name="hb-ot-shape-glyphs-closure.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>font</p></td> <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> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>buffer</p></td> <td class="parameter_description"><p>The input buffer to compute from</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>features</p></td> <td class="parameter_description"><p>The features enabled on the buffer. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=num_features]</span></td> </tr> <tr> <td class="parameter_name"><p>num_features</p></td> <td class="parameter_description"><p>The number of features enabled on the buffer</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>glyphs</p></td> <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> set of glyphs comprising the transitive closure of the query. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-0-9-2.html#api-index-0.9.2">0.9.2</a></p> </div> </div> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.32</div> </body> </html>
[+]
..
[-] api-index-1-8-6.html
[edit]
[-] fonts-and-faces-variable.html
[edit]
[-] text-runs.html
[edit]
[-] shaping-concepts.html
[edit]
[-] what-harfbuzz-doesnt-do.html
[edit]
[-] harfbuzz-hb-shape-plan.html
[edit]
[-] api-index-0-9-42.html
[edit]
[-] shaping-and-shape-plans.html
[edit]
[-] shaping-plans-and-caching.html
[edit]
[-] clusters.html
[edit]
[-] harfbuzz-hb-uniscribe.html
[edit]
[-] left-insensitive.png
[edit]
[-] ch14.html
[edit]
[-] up-insensitive.png
[edit]
[-] api-index-1-2-3.html
[edit]
[-] harfbuzz-hb-ot-math.html
[edit]
[-] harfbuzz-hb-gdi.html
[edit]
[-] api-index-0-9-8.html
[edit]
[-] harfbuzz-hb-icu.html
[edit]
[-] api-index-0-9-10.html
[edit]
[-] getting-started.html
[edit]
[-] api-index-0-9-31.html
[edit]
[-] api-index-1-7-7.html
[edit]
[-] aat-shaping.html
[edit]
[-] utilities.html
[edit]
[-] object-model-object-types.html
[edit]
[-] HarfBuzz.png
[edit]
[-] api-index-0-9-28.html
[edit]
[-] harfbuzz-hb-unicode.html
[edit]
[-] reordering-in-levels-0-and-1.html
[edit]
[-] utilities-ucdn.html
[edit]
[-] harfbuzz-hb-common.html
[edit]
[-] harfbuzz-hb-buffer.html
[edit]
[-] index.html
[edit]
[-] style.css
[edit]
[-] api-index-2-2-0.html
[edit]
[-] harfbuzz-hb-ot-metrics.html
[edit]
[-] api-index-1-8-1.html
[edit]
[-] setting-buffer-properties.html
[edit]
[-] building.html
[edit]
[-] harfbuzz-hb-coretext.html
[edit]
[-] api-index-2-5-0.html
[edit]
[-] left.png
[edit]
[-] integration-freetype.html
[edit]
[-] fonts-and-faces-custom-functions.html
[edit]
[-] object-model-blobs.html
[edit]
[-] harfbuzz-hb-ot-font.html
[edit]
[-] api-index-0-9-20.html
[edit]
[-] api-index-1-3-3.html
[edit]
[-] api-index-0-9-41.html
[edit]
[-] deprecated-api-index.html
[edit]
[-] harfbuzz-hb-ot-name.html
[edit]
[-] annotation-glossary.html
[edit]
[-] harfbuzz-hb-font.html
[edit]
[-] object-model-lifecycle.html
[edit]
[-] api-index-2-4-0.html
[edit]
[-] api-index-1-6-0.html
[edit]
[-] harfbuzz-hb-ot-shape.html
[edit]
[-] harfbuzz-hb-ot-color.html
[edit]
[-] integration-python.html
[edit]
[-] install-harfbuzz.html
[edit]
[-] harfbuzz-hb-deprecated.html
[edit]
[-] api-index-2-7-3.html
[edit]
[-] right.png
[edit]
[-] ch15.html
[edit]
[-] integration.html
[edit]
[-] a-clustering-example-for-levels-0-and-1.html
[edit]
[-] ch12.html
[edit]
[-] why-is-it-called-harfbuzz.html
[edit]
[-] api-index-1-8-5.html
[edit]
[-] HarfBuzz.svg
[edit]
[-] harfbuzz-hb-ot-var.html
[edit]
[-] api-index-1-1-3.html
[edit]
[-] harfbuzz-hb-ot-meta.html
[edit]
[-] utilities-common-types-apis.html
[edit]
[-] harfbuzz-hb-set.html
[edit]
[-] pt02.html
[edit]
[-] api-index-0-9-7.html
[edit]
[-] api-index-0-9-30.html
[edit]
[-] object-model.html
[edit]
[-] pt01.html
[edit]
[-] ch03s02.html
[edit]
[-] api-index-1-4-0.html
[edit]
[-] integration-coretext.html
[edit]
[-] api-index-0-9-11.html
[edit]
[-] ch13.html
[edit]
[-] api-index-0-9-5.html
[edit]
[-] integration-uniscribe.html
[edit]
[-] harfbuzz-hb-version.html
[edit]
[-] fonts-and-faces-native-opentype.html
[edit]
[-] api-index-1-5-0.html
[edit]
[-] harfbuzz-hb-ot-layout.html
[edit]
[-] api-index-1-0-5.html
[edit]
[-] harfbuzz-hb-gobject.html
[edit]
[-] buffers-language-script-and-direction.html
[edit]
[-] shaping-shaper-selection.html
[edit]
[-] api-index-0-9-2.html
[edit]
[-] harfbuzz-hb-blob.html
[edit]
[-] harfbuzz-hb-map.html
[edit]
[-] api-index-1-8-0.html
[edit]
[-] harfbuzz-hb-graphite2.html
[edit]
[-] api-index-1-1-2.html
[edit]
[-] harfbuzz-hb-aat-layout.html
[edit]
[-] object-model-user-data.html
[edit]
[-] api-index-1-4-2.html
[edit]
[-] api-index-1-4-3.html
[edit]
[-] working-with-harfbuzz-clusters.html
[edit]
[-] right-insensitive.png
[edit]
[-] integration-icu.html
[edit]
[-] harfbuzz-hb-ft.html
[edit]
[-] unicode-character-categories.html
[edit]
[-] api-index-0-9-22.html
[edit]
[-] harfbuzz-hb-glib.html
[edit]
[-] api-index-1-9-0.html
[edit]
[-] api-index-2-6-0.html
[edit]
[-] harfbuzz.devhelp2
[edit]
[-] level-2.html
[edit]
[-] up.png
[edit]
[-] opentype-shaping-models.html
[edit]
[-] api-index-2-1-0.html
[edit]
[-] ch03s03.html
[edit]
[-] ch01s03.html
[edit]
[-] api-index-full.html
[edit]
[-] harfbuzz-hb-face.html
[edit]
[-] harfbuzz-hb-directwrite.html
[edit]
[-] what-is-harfbuzz.html
[edit]
[-] harfbuzz-hb-shape.html
[edit]
[-] graphite-shaping.html
[edit]
[-] shaping-operations.html
[edit]
[-] the-distinction-between-levels-0-and-1.html
[edit]
[-] complex-scripts.html
[edit]
[-] shaping-opentype-features.html
[edit]
[-] why-do-i-need-a-shaping-engine.html
[edit]
[-] customizing-unicode-functions.html
[edit]
[-] adding-text-to-the-buffer.html
[edit]
[-] api-index-2-3-0.html
[edit]
[-] home.png
[edit]
[-] api-index-0-9-39.html
[edit]
[-] api-index-0-9-38.html
[edit]
[-] fonts-and-faces.html
[edit]
[-] api-index-2-0-0.html
[edit]
[-] api-index-1-7-5.html
[edit]