/
usr
/
share
/
gtk-doc
/
html
/
harfbuzz
/
/usr/share/gtk-doc/html/harfbuzz
mkdir
upload
Name
Size
Mode
Actions
a-clustering-example-for-levels-0-and-1.html
5307
0644
edit
dl
rm
aat-shaping.html
2359
0644
edit
dl
rm
adding-text-to-the-buffer.html
5800
0644
edit
dl
rm
annotation-glossary.html
5644
0644
edit
dl
rm
api-index-0-9-2.html
44447
0644
edit
dl
rm
api-index-0-9-5.html
3339
0644
edit
dl
rm
api-index-0-9-7.html
12306
0644
edit
dl
rm
api-index-0-9-8.html
2088
0644
edit
dl
rm
api-index-0-9-10.html
3200
0644
edit
dl
rm
api-index-0-9-11.html
2070
0644
edit
dl
rm
api-index-0-9-20.html
2303
0644
edit
dl
rm
api-index-0-9-22.html
2115
0644
edit
dl
rm
api-index-0-9-28.html
2062
0644
edit
dl
rm
api-index-0-9-30.html
2525
0644
edit
dl
rm
api-index-0-9-31.html
2932
0644
edit
dl
rm
api-index-0-9-38.html
3822
0644
edit
dl
rm
api-index-0-9-39.html
2058
0644
edit
dl
rm
api-index-0-9-41.html
2067
0644
edit
dl
rm
api-index-0-9-42.html
2587
0644
edit
dl
rm
api-index-1-0-5.html
2737
0644
edit
dl
rm
api-index-1-1-2.html
2374
0644
edit
dl
rm
api-index-1-1-3.html
2957
0644
edit
dl
rm
api-index-1-2-3.html
2872
0644
edit
dl
rm
api-index-1-3-3.html
5536
0644
edit
dl
rm
api-index-1-4-0.html
2347
0644
edit
dl
rm
api-index-1-4-2.html
5369
0644
edit
dl
rm
api-index-1-4-3.html
2029
0644
edit
dl
rm
api-index-1-5-0.html
2900
0644
edit
dl
rm
api-index-1-6-0.html
2266
0644
edit
dl
rm
api-index-1-7-5.html
1701
0644
edit
dl
rm
api-index-1-7-7.html
5550
0644
edit
dl
rm
api-index-1-8-0.html
2662
0644
edit
dl
rm
api-index-1-8-1.html
2485
0644
edit
dl
rm
api-index-1-8-5.html
2088
0644
edit
dl
rm
api-index-1-8-6.html
3187
0644
edit
dl
rm
api-index-1-9-0.html
3460
0644
edit
dl
rm
api-index-2-0-0.html
5926
0644
edit
dl
rm
api-index-2-1-0.html
8069
0644
edit
dl
rm
api-index-2-2-0.html
5326
0644
edit
dl
rm
api-index-2-3-0.html
2650
0644
edit
dl
rm
api-index-2-4-0.html
2087
0644
edit
dl
rm
api-index-2-5-0.html
2108
0644
edit
dl
rm
api-index-2-6-0.html
5240
0644
edit
dl
rm
api-index-2-7-3.html
2824
0644
edit
dl
rm
api-index-full.html
140340
0644
edit
dl
rm
buffers-language-script-and-direction.html
4951
0644
edit
dl
rm
building.html
15346
0644
edit
dl
rm
ch01s03.html
4495
0644
edit
dl
rm
ch03s02.html
6078
0644
edit
dl
rm
ch03s03.html
4580
0644
edit
dl
rm
ch12.html
3557
0644
edit
dl
rm
ch13.html
3078
0644
edit
dl
rm
ch14.html
1876
0644
edit
dl
rm
ch15.html
3044
0644
edit
dl
rm
clusters.html
6499
0644
edit
dl
rm
complex-scripts.html
3001
0644
edit
dl
rm
customizing-unicode-functions.html
6400
0644
edit
dl
rm
deprecated-api-index.html
6223
0644
edit
dl
rm
fonts-and-faces-custom-functions.html
7398
0644
edit
dl
rm
fonts-and-faces-native-opentype.html
5196
0644
edit
dl
rm
fonts-and-faces-variable.html
5304
0644
edit
dl
rm
fonts-and-faces.html
7671
0644
edit
dl
rm
getting-started.html
5043
0644
edit
dl
rm
graphite-shaping.html
2308
0644
edit
dl
rm
harfbuzz-hb-aat-layout.html
139345
0644
edit
dl
rm
harfbuzz-hb-blob.html
35902
0644
edit
dl
rm
harfbuzz-hb-buffer.html
195491
0644
edit
dl
rm
harfbuzz-hb-common.html
65323
0644
edit
dl
rm
harfbuzz-hb-coretext.html
11371
0644
edit
dl
rm
harfbuzz-hb-deprecated.html
25328
0644
edit
dl
rm
harfbuzz-hb-directwrite.html
6155
0644
edit
dl
rm
harfbuzz-hb-face.html
52100
0644
edit
dl
rm
harfbuzz-hb-font.html
262696
0644
edit
dl
rm
harfbuzz-hb-ft.html
28719
0644
edit
dl
rm
harfbuzz-hb-gdi.html
4310
0644
edit
dl
rm
harfbuzz-hb-glib.html
10086
0644
edit
dl
rm
harfbuzz-hb-gobject.html
2953
0644
edit
dl
rm
harfbuzz-hb-graphite2.html
5828
0644
edit
dl
rm
harfbuzz-hb-icu.html
7969
0644
edit
dl
rm
harfbuzz-hb-map.html
29188
0644
edit
dl
rm
harfbuzz-hb-ot-color.html
39949
0644
edit
dl
rm
harfbuzz-hb-ot-font.html
4630
0644
edit
dl
rm
harfbuzz-hb-ot-layout.html
145088
0644
edit
dl
rm
harfbuzz-hb-ot-math.html
52886
0644
edit
dl
rm
harfbuzz-hb-ot-meta.html
10286
0644
edit
dl
rm
harfbuzz-hb-ot-metrics.html
17927
0644
edit
dl
rm
harfbuzz-hb-ot-name.html
19603
0644
edit
dl
rm
harfbuzz-hb-ot-shape.html
6257
0644
edit
dl
rm
harfbuzz-hb-ot-var.html
36708
0644
edit
dl
rm
harfbuzz-hb-set.html
59423
0644
edit
dl
rm
harfbuzz-hb-shape-plan.html
38412
0644
edit
dl
rm
harfbuzz-hb-shape.html
11702
0644
edit
dl
rm
harfbuzz-hb-unicode.html
106701
0644
edit
dl
rm
harfbuzz-hb-uniscribe.html
6099
0644
edit
dl
rm
harfbuzz-hb-version.html
10415
0644
edit
dl
rm
harfbuzz.devhelp2
179457
0644
edit
dl
rm
HarfBuzz.png
6254
0644
edit
dl
rm
HarfBuzz.svg
6745
0644
edit
dl
rm
home.png
169
0644
edit
dl
rm
index.html
19566
0644
edit
dl
rm
install-harfbuzz.html
3787
0644
edit
dl
rm
integration-coretext.html
6483
0644
edit
dl
rm
integration-freetype.html
9293
0644
edit
dl
rm
integration-icu.html
4186
0644
edit
dl
rm
integration-python.html
3181
0644
edit
dl
rm
integration-uniscribe.html
6725
0644
edit
dl
rm
integration.html
9936
0644
edit
dl
rm
left-insensitive.png
334
0644
edit
dl
rm
left.png
185
0644
edit
dl
rm
level-2.html
7009
0644
edit
dl
rm
object-model-blobs.html
2902
0644
edit
dl
rm
object-model-lifecycle.html
4978
0644
edit
dl
rm
object-model-object-types.html
4111
0644
edit
dl
rm
object-model-user-data.html
3255
0644
edit
dl
rm
object-model.html
3978
0644
edit
dl
rm
opentype-shaping-models.html
4463
0644
edit
dl
rm
pt01.html
9417
0644
edit
dl
rm
pt02.html
12674
0644
edit
dl
rm
reordering-in-levels-0-and-1.html
3102
0644
edit
dl
rm
right-insensitive.png
233
0644
edit
dl
rm
right.png
184
0644
edit
dl
rm
setting-buffer-properties.html
7830
0644
edit
dl
rm
shaping-and-shape-plans.html
8196
0644
edit
dl
rm
shaping-concepts.html
3869
0644
edit
dl
rm
shaping-opentype-features.html
6663
0644
edit
dl
rm
shaping-operations.html
4537
0644
edit
dl
rm
shaping-plans-and-caching.html
4641
0644
edit
dl
rm
shaping-shaper-selection.html
3406
0644
edit
dl
rm
style.css
11606
0644
edit
dl
rm
text-runs.html
2533
0644
edit
dl
rm
the-distinction-between-levels-0-and-1.html
4864
0644
edit
dl
rm
unicode-character-categories.html
4204
0644
edit
dl
rm
up-insensitive.png
288
0644
edit
dl
rm
up.png
186
0644
edit
dl
rm
utilities-common-types-apis.html
4365
0644
edit
dl
rm
utilities-ucdn.html
2632
0644
edit
dl
rm
utilities.html
9274
0644
edit
dl
rm
what-harfbuzz-doesnt-do.html
5535
0644
edit
dl
rm
what-is-harfbuzz.html
5503
0644
edit
dl
rm
why-do-i-need-a-shaping-engine.html
8124
0644
edit
dl
rm
why-is-it-called-harfbuzz.html
2171
0644
edit
dl
rm
working-with-harfbuzz-clusters.html
10083
0644
edit
dl
rm
Edit:
/usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-var.html
(36708B)
<!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-var: 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-shape.html" title="hb-ot-shape"> <link rel="next" href="ch14.html" title="Apple Advanced Typography API"> <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-var.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-shape.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="ch14.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-var"></a><div class="titlepage"></div> <div class="refnamediv"><table width="100%"><tr> <td valign="top"> <h2><span class="refentrytitle"><a name="harfbuzz-hb-ot-var.top_of_page"></a>hb-ot-var</span></h2> <p>hb-ot-var — OpenType Font Variations</p> </td> <td class="gallery_image" valign="top" align="right"></td> </tr></table></div> <div class="refsect1"> <a name="harfbuzz-hb-ot-var.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"> <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a> </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-has-data" title="hb_ot_var_has_data ()">hb_ot_var_has_data</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a> </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-find-axis-info" title="hb_ot_var_find_axis_info ()">hb_ot_var_find_axis_info</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type">unsigned <span class="returnvalue">int</span> </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-get-axis-count" title="hb_ot_var_get_axis_count ()">hb_ot_var_get_axis_count</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type">unsigned <span class="returnvalue">int</span> </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-get-axis-infos" title="hb_ot_var_get_axis_infos ()">hb_ot_var_get_axis_infos</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type">unsigned <span class="returnvalue">int</span> </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-get-named-instance-count" title="hb_ot_var_get_named_instance_count ()">hb_ot_var_get_named_instance_count</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="returnvalue">hb_ot_name_id_t</span></a> </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-named-instance-get-subfamily-name-id" title="hb_ot_var_named_instance_get_subfamily_name_id ()">hb_ot_var_named_instance_get_subfamily_name_id</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="returnvalue">hb_ot_name_id_t</span></a> </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-named-instance-get-postscript-name-id" title="hb_ot_var_named_instance_get_postscript_name_id ()">hb_ot_var_named_instance_get_postscript_name_id</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type">unsigned <span class="returnvalue">int</span> </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-named-instance-get-design-coords" title="hb_ot_var_named_instance_get_design_coords ()">hb_ot_var_named_instance_get_design_coords</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-normalize-variations" title="hb_ot_var_normalize_variations ()">hb_ot_var_normalize_variations</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-normalize-coords" title="hb_ot_var_normalize_coords ()">hb_ot_var_normalize_coords</a> <span class="c_punctuation">()</span> </td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="harfbuzz-hb-ot-var.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="other_proto_type"> <col class="other_proto_name"> </colgroup> <tbody> <tr> <td class="define_keyword">#define</td> <td class="function_name"><a class="link" href="harfbuzz-hb-ot-var.html#HB-OT-TAG-VAR-AXIS-ITALIC:CAPS" title="HB_OT_TAG_VAR_AXIS_ITALIC">HB_OT_TAG_VAR_AXIS_ITALIC</a></td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"><a class="link" href="harfbuzz-hb-ot-var.html#HB-OT-TAG-VAR-AXIS-OPTICAL-SIZE:CAPS" title="HB_OT_TAG_VAR_AXIS_OPTICAL_SIZE">HB_OT_TAG_VAR_AXIS_OPTICAL_SIZE</a></td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"><a class="link" href="harfbuzz-hb-ot-var.html#HB-OT-TAG-VAR-AXIS-SLANT:CAPS" title="HB_OT_TAG_VAR_AXIS_SLANT">HB_OT_TAG_VAR_AXIS_SLANT</a></td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"><a class="link" href="harfbuzz-hb-ot-var.html#HB-OT-TAG-VAR-AXIS-WEIGHT:CAPS" title="HB_OT_TAG_VAR_AXIS_WEIGHT">HB_OT_TAG_VAR_AXIS_WEIGHT</a></td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"><a class="link" href="harfbuzz-hb-ot-var.html#HB-OT-TAG-VAR-AXIS-WIDTH:CAPS" title="HB_OT_TAG_VAR_AXIS_WIDTH">HB_OT_TAG_VAR_AXIS_WIDTH</a></td> </tr> <tr> <td class="datatype_keyword">enum</td> <td class="function_name"><a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-axis-flags-t" title="enum hb_ot_var_axis_flags_t">hb_ot_var_axis_flags_t</a></td> </tr> <tr> <td class="datatype_keyword"> </td> <td class="function_name"><a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-axis-info-t" title="hb_ot_var_axis_info_t">hb_ot_var_axis_info_t</a></td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="harfbuzz-hb-ot-var.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb-ot.h> </pre> </div> <div class="refsect1"> <a name="harfbuzz-hb-ot-var.description"></a><h2>Description</h2> <p>Functions for fetching information about OpenType Variable Fonts.</p> </div> <div class="refsect1"> <a name="harfbuzz-hb-ot-var.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="hb-ot-var-has-data"></a><h3>hb_ot_var_has_data ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a> hb_ot_var_has_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> <p>Tests whether a face includes any OpenType variation data in the <code class="literal">fvar</code> table.</p> <div class="refsect3"> <a name="hb-ot-var-has-data.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>face</p></td> <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to work on</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="hb-ot-var-has-data.returns"></a><h4>Returns</h4> <p> true if data found, false otherwise</p> </div> <p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-var-find-axis-info"></a><h3>hb_ot_var_find_axis_info ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="returnvalue">hb_bool_t</span></a> hb_ot_var_find_axis_info (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> axis_tag</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-axis-info-t" title="hb_ot_var_axis_info_t"><span class="type">hb_ot_var_axis_info_t</span></a> *axis_info</code></em>);</pre> <p>Fetches the variation-axis information corresponding to the specified axis tag in the specified face.</p> <div class="refsect3"> <a name="hb-ot-var-find-axis-info.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>face</p></td> <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to work upon</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>axis_tag</p></td> <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> of the variation axis to query</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>axis_info</p></td> <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-axis-info-t" title="hb_ot_var_axis_info_t"><span class="type">hb_ot_var_axis_info_t</span></a> of the axis tag queried. </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> <div class="refsect3"> <a name="hb-ot-var-find-axis-info.returns"></a><h4>Returns</h4> <p> true if data found, false otherwise</p> </div> <p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-var-get-axis-count"></a><h3>hb_ot_var_get_axis_count ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> hb_ot_var_get_axis_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> <p>Fetches the number of OpenType variation axes included in the face.</p> <div class="refsect3"> <a name="hb-ot-var-get-axis-count.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>face</p></td> <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to work on</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="hb-ot-var-get-axis-count.returns"></a><h4>Returns</h4> <p> the number of variation axes defined</p> </div> <p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-var-get-axis-infos"></a><h3>hb_ot_var_get_axis_infos ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> hb_ot_var_get_axis_infos (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> start_offset</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *axes_count</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-axis-info-t" title="hb_ot_var_axis_info_t"><span class="type">hb_ot_var_axis_info_t</span></a> *axes_array</code></em>);</pre> <p>Fetches a list of all variation axes in the specified face. The list returned will begin at the offset provided.</p> <div class="refsect3"> <a name="hb-ot-var-get-axis-infos.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>face</p></td> <td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to work upon</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>start_offset</p></td> <td class="parameter_description"><p>offset of the first lookup to retrieve</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>axes_count</p></td> <td class="parameter_description"><p>Input = the maximum number of variation axes to return; Output = the actual number of variation axes returned (may be zero). </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>axes_array</p></td> <td class="parameter_description"><p>The array of variation axes found. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=axes_count]</span></td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="hb-ot-var-get-axis-infos.returns"></a><h4>Returns</h4> <p> the number of variation axes in the face</p> </div> <p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-var-get-named-instance-count"></a><h3>hb_ot_var_get_named_instance_count ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> hb_ot_var_get_named_instance_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> <p>Fetches the number of named instances included in the face.</p> <div class="refsect3"> <a name="hb-ot-var-get-named-instance-count.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>face</p></td> <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to work on</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="hb-ot-var-get-named-instance-count.returns"></a><h4>Returns</h4> <p> the number of named instances defined</p> </div> <p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-var-named-instance-get-subfamily-name-id"></a><h3>hb_ot_var_named_instance_get_subfamily_name_id ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="returnvalue">hb_ot_name_id_t</span></a> hb_ot_var_named_instance_get_subfamily_name_id (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> instance_index</code></em>);</pre> <p>Fetches the <code class="literal">name</code> table Name ID that provides display names for the "Subfamily name" defined for the given named instance in the face.</p> <div class="refsect3"> <a name="hb-ot-var-named-instance-get-subfamily-name-id.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>face</p></td> <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to work on</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>instance_index</p></td> <td class="parameter_description"><p>The index of the named instance to query</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="hb-ot-var-named-instance-get-subfamily-name-id.returns"></a><h4>Returns</h4> <p> the Name ID found for the Subfamily name</p> </div> <p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-var-named-instance-get-postscript-name-id"></a><h3>hb_ot_var_named_instance_get_postscript_name_id ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="returnvalue">hb_ot_name_id_t</span></a> hb_ot_var_named_instance_get_postscript_name_id (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> instance_index</code></em>);</pre> <p>Fetches the <code class="literal">name</code> table Name ID that provides display names for the "PostScript name" defined for the given named instance in the face.</p> <div class="refsect3"> <a name="hb-ot-var-named-instance-get-postscript-name-id.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>face</p></td> <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to work on</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>instance_index</p></td> <td class="parameter_description"><p>The index of the named instance to query</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="hb-ot-var-named-instance-get-postscript-name-id.returns"></a><h4>Returns</h4> <p> the Name ID found for the PostScript name</p> </div> <p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-var-named-instance-get-design-coords"></a><h3>hb_ot_var_named_instance_get_design_coords ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> hb_ot_var_named_instance_get_design_coords (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> instance_index</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *coords_length</code></em>, <em class="parameter"><code><span class="type">float</span> *coords</code></em>);</pre> <p>Fetches the design-space coordinates corresponding to the given named instance in the face.</p> <div class="refsect3"> <a name="hb-ot-var-named-instance-get-design-coords.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>face</p></td> <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to work on</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>instance_index</p></td> <td class="parameter_description"><p>The index of the named instance to query</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>coords_length</p></td> <td class="parameter_description"><p>Input = the maximum number of coordinates to return; Output = the actual number of coordinates returned (may be zero). </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>coords</p></td> <td class="parameter_description"><p>The array of coordinates found for 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>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=coords_length]</span></td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="hb-ot-var-named-instance-get-design-coords.returns"></a><h4>Returns</h4> <p> the number of variation axes in the face</p> </div> <p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-var-normalize-variations"></a><h3>hb_ot_var_normalize_variations ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_ot_var_normalize_variations (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-variation-t" title="hb_variation_t"><span class="type">hb_variation_t</span></a> *variations</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> variations_length</code></em>, <em class="parameter"><code><span class="type">int</span> *coords</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> coords_length</code></em>);</pre> <p>Normalizes all of the coordinates in the given list of variation axes.</p> <div class="refsect3"> <a name="hb-ot-var-normalize-variations.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>face</p></td> <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to work on</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>variations</p></td> <td class="parameter_description"><p>The array of variations to normalize</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>variations_length</p></td> <td class="parameter_description"><p>The number of variations to normalize</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>coords</p></td> <td class="parameter_description"><p>The array of normalized coordinates. </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>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=coords_length]</span></td> </tr> <tr> <td class="parameter_name"><p>coords_length</p></td> <td class="parameter_description"><p>The length of the coordinate array</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-var-normalize-coords"></a><h3>hb_ot_var_normalize_coords ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_ot_var_normalize_coords (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> coords_length</code></em>, <em class="parameter"><code>const <span class="type">float</span> *design_coords</code></em>, <em class="parameter"><code><span class="type">int</span> *normalized_coords</code></em>);</pre> <p>Normalizes the given design-space coordinates. The minimum and maximum values for the axis are mapped to the interval [-1,1], with the default axis value mapped to 0.</p> <p>Any additional scaling defined in the face's <code class="literal">avar</code> table is also applied, as described at https://docs.microsoft.com/en-us/typography/opentype/spec/avar</p> <div class="refsect3"> <a name="hb-ot-var-normalize-coords.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>face</p></td> <td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to work on</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>coords_length</p></td> <td class="parameter_description"><p>The length of the coordinate array</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>design_coords</p></td> <td class="parameter_description"><p>The design-space coordinates to normalize</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>normalized_coords</p></td> <td class="parameter_description"><p>The normalized coordinates. </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-1-4-2.html#api-index-1.4.2">1.4.2</a></p> </div> </div> <div class="refsect1"> <a name="harfbuzz-hb-ot-var.other_details"></a><h2>Types and Values</h2> <div class="refsect2"> <a name="HB-OT-TAG-VAR-AXIS-ITALIC:CAPS"></a><h3>HB_OT_TAG_VAR_AXIS_ITALIC</h3> <pre class="programlisting">#define HB_OT_TAG_VAR_AXIS_ITALIC HB_TAG('i','t','a','l') </pre> </div> <hr> <div class="refsect2"> <a name="HB-OT-TAG-VAR-AXIS-OPTICAL-SIZE:CAPS"></a><h3>HB_OT_TAG_VAR_AXIS_OPTICAL_SIZE</h3> <pre class="programlisting">#define HB_OT_TAG_VAR_AXIS_OPTICAL_SIZE HB_TAG('o','p','s','z') </pre> </div> <hr> <div class="refsect2"> <a name="HB-OT-TAG-VAR-AXIS-SLANT:CAPS"></a><h3>HB_OT_TAG_VAR_AXIS_SLANT</h3> <pre class="programlisting">#define HB_OT_TAG_VAR_AXIS_SLANT HB_TAG('s','l','n','t') </pre> </div> <hr> <div class="refsect2"> <a name="HB-OT-TAG-VAR-AXIS-WEIGHT:CAPS"></a><h3>HB_OT_TAG_VAR_AXIS_WEIGHT</h3> <pre class="programlisting">#define HB_OT_TAG_VAR_AXIS_WEIGHT HB_TAG('w','g','h','t') </pre> </div> <hr> <div class="refsect2"> <a name="HB-OT-TAG-VAR-AXIS-WIDTH:CAPS"></a><h3>HB_OT_TAG_VAR_AXIS_WIDTH</h3> <pre class="programlisting">#define HB_OT_TAG_VAR_AXIS_WIDTH HB_TAG('w','d','t','h') </pre> </div> <hr> <div class="refsect2"> <a name="hb-ot-var-axis-flags-t"></a><h3>enum hb_ot_var_axis_flags_t</h3> <div class="refsect3"> <a name="hb-ot-var-axis-flags-t.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="enum_members_name"> <col class="enum_members_description"> <col width="200px" class="enum_members_annotations"> </colgroup> <tbody> <tr> <td class="enum_member_name"><p><a name="HB-OT-VAR-AXIS-FLAG-HIDDEN:CAPS"></a>HB_OT_VAR_AXIS_FLAG_HIDDEN</p></td> <td class="enum_member_description"> <p>The axis should not be exposed directly in user interfaces.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="HB-OT-VAR-AXIS-FLAG-MAX-VALUE:CAPS"></a>_HB_OT_VAR_AXIS_FLAG_MAX_VALUE</p></td> <td> </td> <td> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-var-axis-info-t"></a><h3>hb_ot_var_axis_info_t</h3> <pre class="programlisting">typedef struct { unsigned int axis_index; hb_tag_t tag; hb_ot_name_id_t name_id; hb_ot_var_axis_flags_t flags; float min_value; float default_value; float max_value; } hb_ot_var_axis_info_t; </pre> <p>Data type for holding variation-axis values.</p> <p>The minimum, default, and maximum values are in un-normalized, user scales.</p> <div class="note">Note: at present, the only flag defined for <em class="parameter"><code>flags</code></em> is <a class="link" href="harfbuzz-hb-ot-var.html#HB-OT-VAR-AXIS-FLAG-HIDDEN:CAPS"><span class="type">HB_OT_VAR_AXIS_FLAG_HIDDEN</span></a>.</div> <div class="refsect3"> <a name="hb-ot-var-axis-info-t.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="struct_members_name"> <col class="struct_members_description"> <col width="200px" class="struct_members_annotations"> </colgroup> <tbody> <tr> <td class="struct_member_name"><p>unsigned <span class="type">int</span> <em class="structfield"><code><a name="hb-ot-var-axis-info-t.axis-index"></a>axis_index</code></em>;</p></td> <td class="struct_member_description"><p>Index of the axis in the variation-axis array</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> <em class="structfield"><code><a name="hb-ot-var-axis-info-t.tag"></a>tag</code></em>;</p></td> <td class="struct_member_description"><p>The <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> tag identifying the design variation of the axis</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-id-t" title="hb_ot_name_id_t"><span class="type">hb_ot_name_id_t</span></a> <em class="structfield"><code><a name="hb-ot-var-axis-info-t.name-id"></a>name_id</code></em>;</p></td> <td class="struct_member_description"><p>The <code class="literal">name</code> table Name ID that provides display names for the axis</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-axis-flags-t" title="enum hb_ot_var_axis_flags_t"><span class="type">hb_ot_var_axis_flags_t</span></a> <em class="structfield"><code><a name="hb-ot-var-axis-info-t.flags"></a>flags</code></em>;</p></td> <td class="struct_member_description"><p>The <a class="link" href="harfbuzz-hb-ot-var.html#hb-ot-var-axis-flags-t" title="enum hb_ot_var_axis_flags_t"><span class="type">hb_ot_var_axis_flags_t</span></a> flags for the axis</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">float</span> <em class="structfield"><code><a name="hb-ot-var-axis-info-t.min-value"></a>min_value</code></em>;</p></td> <td class="struct_member_description"><p>The mininum value on the variation axis that the font covers</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">float</span> <em class="structfield"><code><a name="hb-ot-var-axis-info-t.default-value"></a>default_value</code></em>;</p></td> <td class="struct_member_description"><p>The position on the variation axis corresponding to the font's defaults</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><span class="type">float</span> <em class="structfield"><code><a name="hb-ot-var-axis-info-t.max-value"></a>max_value</code></em>;</p></td> <td class="struct_member_description"><p>The maximum value on the variation axis that the font covers</p></td> <td class="struct_member_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p> </div> </div> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.32</div> </body> </html>
Save
cmd:
run