diff options
author | Bowon Ryu <bowon.ryu@samsung.com> | 2020-02-25 14:54:08 +0900 |
---|---|---|
committer | Bowon Ryu <bowon.ryu@samsung.com> | 2020-02-25 15:18:49 +0900 |
commit | a280f8312cc9b27515efbab292b95b9d147a2b73 (patch) | |
tree | 0da4078efe2870472f9af5cb919f248e007eee87 /docs | |
parent | 610626019cd10944b76622e30b2610910bf4b2b8 (diff) | |
download | harfbuzz-a280f8312cc9b27515efbab292b95b9d147a2b73.tar.gz harfbuzz-a280f8312cc9b27515efbab292b95b9d147a2b73.tar.bz2 harfbuzz-a280f8312cc9b27515efbab292b95b9d147a2b73.zip |
Imported Upstream version 2.6.4upstream/2.6.4
Change-Id: Icb2ce380590ccf605416ee6165effa40d790cd6e
Diffstat (limited to 'docs')
82 files changed, 7898 insertions, 1603 deletions
diff --git a/docs/Makefile.am b/docs/Makefile.am index 9b54b40..f4bf2fd 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -33,7 +33,7 @@ SCAN_OPTIONS=--rebuild-types --deprecated-guards="HB_DISABLE_DEPRECATED" \ # Header files or dirs to ignore when scanning. Use base file/dir names # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code -IGNORE_HFILES=`cd $(top_srcdir)/src; find . -path './hb-*/*.h' | sed 's@^.*/@@'` +IGNORE_HFILES=`cd $(top_srcdir)/src; find . -path './*/*.h' | sed 's@^.*/@@'` if HAVE_GOBJECT else IGNORE_HFILES+=hb-gobject.h hb-gobject-enums.h hb-gobject-structs.h @@ -75,12 +75,14 @@ content_files= \ usermanual-what-is-harfbuzz.xml \ usermanual-install-harfbuzz.xml \ usermanual-getting-started.xml \ + usermanual-glyph-information.xml \ usermanual-shaping-concepts.xml \ + usermanual-object-model.xml \ usermanual-buffers-language-script-and-direction.xml \ usermanual-fonts-and-faces.xml \ - usermanual-clusters.xml \ usermanual-opentype-features.xml \ - usermanual-glyph-information.xml \ + usermanual-clusters.xml \ + usermanual-utilities.xml \ version.xml # SGML files where gtk-doc abbrevations (#GtkWidget) are expanded diff --git a/docs/Makefile.in b/docs/Makefile.in index 3fa4a70..c4c2902 100644 --- a/docs/Makefile.in +++ b/docs/Makefile.in @@ -119,6 +119,7 @@ subdir = docs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_link_flag.m4 \ $(top_srcdir)/m4/ax_code_coverage.m4 \ + $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gtk-doc.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ @@ -202,6 +203,8 @@ FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ FREETYPE_DEPS = @FREETYPE_DEPS@ FREETYPE_LIBS = @FREETYPE_LIBS@ GCOV = @GCOV@ +GDI_CFLAGS = @GDI_CFLAGS@ +GDI_LIBS = @GDI_LIBS@ GENHTML = @GENHTML@ GIT = @GIT@ GLIB_CFLAGS = @GLIB_CFLAGS@ @@ -220,6 +223,7 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ +HAVE_CXX11 = @HAVE_CXX11@ HB_LIBTOOL_VERSION_INFO = @HB_LIBTOOL_VERSION_INFO@ HB_VERSION = @HB_VERSION@ HB_VERSION_MAJOR = @HB_VERSION_MAJOR@ @@ -374,7 +378,7 @@ SCAN_OPTIONS = --rebuild-types --deprecated-guards="HB_DISABLE_DEPRECATED" \ # Header files or dirs to ignore when scanning. Use base file/dir names # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code -IGNORE_HFILES = `cd $(top_srcdir)/src; find . -path './hb-*/*.h' | sed \ +IGNORE_HFILES = `cd $(top_srcdir)/src; find . -path './*/*.h' | sed \ 's@^.*/@@'` $(am__append_1) # Extra options to supply to gtkdoc-mkdb. @@ -414,12 +418,14 @@ content_files = \ usermanual-what-is-harfbuzz.xml \ usermanual-install-harfbuzz.xml \ usermanual-getting-started.xml \ + usermanual-glyph-information.xml \ usermanual-shaping-concepts.xml \ + usermanual-object-model.xml \ usermanual-buffers-language-script-and-direction.xml \ usermanual-fonts-and-faces.xml \ - usermanual-clusters.xml \ usermanual-opentype-features.xml \ - usermanual-glyph-information.xml \ + usermanual-clusters.xml \ + usermanual-utilities.xml \ version.xml diff --git a/docs/harfbuzz-docs.xml b/docs/harfbuzz-docs.xml index 0c462f3..433c206 100644 --- a/docs/harfbuzz-docs.xml +++ b/docs/harfbuzz-docs.xml @@ -20,11 +20,7 @@ <para> The canonical source-code tree is available at - <ulink - url="https://github.com/harfbuzz/harfbuzz">github.com/harfbuzz/harfbuzz</ulink> - and is also available at - <ulink - url="http://cgit.freedesktop.org/harfbuzz/">cgit.freedesktop.org/harfbuzz</ulink>. + <ulink url="https://github.com/harfbuzz/harfbuzz">github.com/harfbuzz/harfbuzz</ulink>. See <xref linkend="download" endterm="download.title"/> for release tarballs. </para> @@ -37,11 +33,12 @@ <xi:include href="usermanual-install-harfbuzz.xml"/> <xi:include href="usermanual-getting-started.xml"/> <xi:include href="usermanual-shaping-concepts.xml"/> + <xi:include href="usermanual-object-model.xml"/> <xi:include href="usermanual-buffers-language-script-and-direction.xml"/> <xi:include href="usermanual-fonts-and-faces.xml"/> - <xi:include href="usermanual-clusters.xml"/> <xi:include href="usermanual-opentype-features.xml"/> - <xi:include href="usermanual-glyph-information.xml"/> + <xi:include href="usermanual-clusters.xml"/> + <xi:include href="usermanual-utilities.xml"/> </part> <part> @@ -136,6 +133,10 @@ <index id="api-index-full"><title>API Index</title><xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include></index> <index id="deprecated-api-index" role="deprecated"><title>Index of deprecated API</title><xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include></index> + <index id="api-index-2-6-0" role="2.6.0"><title>Index of new symbols in 2.6.0</title><xi:include href="xml/api-index-2.6.0.xml"><xi:fallback /></xi:include></index> + <index id="api-index-2-5-0" role="2.5.0"><title>Index of new symbols in 2.5.0</title><xi:include href="xml/api-index-2.5.0.xml"><xi:fallback /></xi:include></index> + <index id="api-index-2-4-0" role="2.4.0"><title>Index of new symbols in 2.4.0</title><xi:include href="xml/api-index-2.4.0.xml"><xi:fallback /></xi:include></index> + <index id="api-index-2-3-0" role="2.3.0"><title>Index of new symbols in 2.3.0</title><xi:include href="xml/api-index-2.3.0.xml"><xi:fallback /></xi:include></index> <index id="api-index-2-2-0" role="2.2.0"><title>Index of new symbols in 2.2.0</title><xi:include href="xml/api-index-2.2.0.xml"><xi:fallback /></xi:include></index> <index id="api-index-2-1-0" role="2.1.0"><title>Index of new symbols in 2.1.0</title><xi:include href="xml/api-index-2.1.0.xml"><xi:fallback /></xi:include></index> <index id="api-index-2-0-0" role="2.0.0"><title>Index of new symbols in 2.0.0</title><xi:include href="xml/api-index-2.0.0.xml"><xi:fallback /></xi:include></index> @@ -150,7 +151,6 @@ <index id="api-index-1-5-0" role="1.5.0"><title>Index of new symbols in 1.5.0</title><xi:include href="xml/api-index-1.5.0.xml"><xi:fallback /></xi:include></index> <index id="api-index-1-4-3" role="1.4.3"><title>Index of new symbols in 1.4.3</title><xi:include href="xml/api-index-1.4.3.xml"><xi:fallback /></xi:include></index> <index id="api-index-1-4-2" role="1.4.2"><title>Index of new symbols in 1.4.2</title><xi:include href="xml/api-index-1.4.2.xml"><xi:fallback /></xi:include></index> - <index id="api-index-1-4-0" role="1.4.0"><title>Index of new symbols in 1.4.0</title><xi:include href="xml/api-index-1.4.0.xml"><xi:fallback /></xi:include></index> <index id="api-index-1-3-3" role="1.3.3"><title>Index of new symbols in 1.3.3</title><xi:include href="xml/api-index-1.3.3.xml"><xi:fallback /></xi:include></index> <index id="api-index-1-2-3" role="1.2.3"><title>Index of new symbols in 1.2.3</title><xi:include href="xml/api-index-1.2.3.xml"><xi:fallback /></xi:include></index> <index id="api-index-1-1-3" role="1.1.3"><title>Index of new symbols in 1.1.3</title><xi:include href="xml/api-index-1.1.3.xml"><xi:fallback /></xi:include></index> diff --git a/docs/harfbuzz-sections.txt b/docs/harfbuzz-sections.txt index 27dc1e2..c625b92 100644 --- a/docs/harfbuzz-sections.txt +++ b/docs/harfbuzz-sections.txt @@ -1,6 +1,7 @@ <SUBSECTION Private> HB_H_IN HB_OT_H_IN +HB_AAT_H_IN </SECTION> <SECTION> @@ -179,6 +180,7 @@ HB_BUFFER_SERIALIZE_FLAGS_DEFAULT HB_SCRIPT_CANADIAN_ABORIGINAL hb_font_funcs_set_glyph_func hb_font_get_glyph_func_t +HB_MATH_GLYPH_PART_FLAG_EXTENDER hb_ot_layout_table_choose_script hb_ot_layout_table_find_script hb_ot_tag_from_language @@ -195,12 +197,7 @@ HB_UNICODE_MAX_DECOMPOSITION_LEN hb_unicode_decompose_compatibility_func_t hb_unicode_decompose_compatibility hb_unicode_funcs_set_decompose_compatibility_func -hb_font_funcs_set_glyph_h_kerning_func hb_font_funcs_set_glyph_v_kerning_func -hb_font_get_glyph_h_kerning -hb_font_get_glyph_h_kerning_func_t -hb_font_get_glyph_kerning_for_direction -hb_font_get_glyph_kerning_func_t hb_font_get_glyph_v_kerning hb_font_get_glyph_v_kerning_func_t </SECTION> @@ -217,6 +214,14 @@ hb_coretext_font_get_ct_font </SECTION> <SECTION> +<FILE>hb-directwrite</FILE> +hb_directwrite_face_create +hb_directwrite_face_get_font_face +<SUBSECTION Private> +hb_directwrite_shape_experimental_width +</SECTION> + +<SECTION> <FILE>hb-face</FILE> hb_face_count hb_face_t @@ -263,6 +268,7 @@ hb_font_funcs_set_glyph_extents_func hb_font_funcs_set_glyph_from_name_func hb_font_funcs_set_glyph_h_advance_func hb_font_funcs_set_glyph_h_advances_func +hb_font_funcs_set_glyph_h_kerning_func hb_font_funcs_set_glyph_h_origin_func hb_font_funcs_set_glyph_name_func hb_font_funcs_set_glyph_v_advance_func @@ -292,8 +298,12 @@ hb_font_get_glyph_h_advance hb_font_get_glyph_h_advance_func_t hb_font_get_glyph_h_advances hb_font_get_glyph_h_advances_func_t +hb_font_get_glyph_h_kerning +hb_font_get_glyph_h_kerning_func_t hb_font_get_glyph_h_origin hb_font_get_glyph_h_origin_func_t +hb_font_get_glyph_kerning_for_direction +hb_font_get_glyph_kerning_func_t hb_font_get_glyph_name hb_font_get_glyph_name_func_t hb_font_get_glyph_origin_for_direction @@ -332,6 +342,7 @@ hb_font_set_user_data hb_font_set_variations hb_font_set_var_coords_design hb_font_set_var_coords_normalized +hb_font_set_var_named_instance hb_font_subtract_glyph_origin_for_direction hb_font_t hb_reference_table_func_t @@ -360,6 +371,11 @@ hb_ft_font_set_funcs </SECTION> <SECTION> +<FILE>hb-gdi</FILE> +hb_gdi_face_create +</SECTION> + +<SECTION> <FILE>hb-glib</FILE> hb_glib_get_unicode_funcs hb_glib_script_from_script @@ -532,6 +548,7 @@ HB_OT_TAG_GDEF HB_OT_TAG_GPOS HB_OT_TAG_GSUB HB_OT_TAG_JSTF +hb_ot_layout_baseline_tag_t hb_ot_layout_collect_lookups hb_ot_layout_collect_features hb_ot_layout_feature_get_characters @@ -539,6 +556,7 @@ hb_ot_layout_feature_get_lookups hb_ot_layout_feature_get_name_ids hb_ot_layout_feature_with_variations_get_lookups hb_ot_layout_get_attach_points +hb_ot_layout_get_baseline hb_ot_layout_get_glyph_class hb_ot_layout_get_glyphs_in_class hb_ot_layout_get_ligature_carets @@ -593,6 +611,22 @@ hb_ot_math_get_glyph_assembly </SECTION> <SECTION> +<FILE>hb-ot-meta</FILE> +hb_ot_meta_tag_t +hb_ot_meta_get_entry_tags +hb_ot_meta_reference_entry +</SECTION> + +<SECTION> +<FILE>hb-ot-metrics</FILE> +hb_ot_metrics_tag_t +hb_ot_metrics_get_position +hb_ot_metrics_get_variation +hb_ot_metrics_get_x_variation +hb_ot_metrics_get_y_variation +</SECTION> + +<SECTION> <FILE>hb-ot-shape</FILE> hb_ot_shape_glyphs_closure </SECTION> @@ -715,8 +749,6 @@ hb_unicode_script_func_t <FILE>hb-uniscribe</FILE> hb_uniscribe_font_get_hfont hb_uniscribe_font_get_logfontw -<SUBSECTION Private> -hb_directwrite_shape_experimental_width </SECTION> <SECTION> diff --git a/docs/harfbuzz.types b/docs/harfbuzz.types new file mode 100644 index 0000000..ef81792 --- /dev/null +++ b/docs/harfbuzz.types @@ -0,0 +1,39 @@ +hb_gobject_aat_layout_feature_selector_get_type +hb_gobject_aat_layout_feature_type_get_type +hb_gobject_blob_get_type +hb_gobject_buffer_cluster_level_get_type +hb_gobject_buffer_content_type_get_type +hb_gobject_buffer_diff_flags_get_type +hb_gobject_buffer_flags_get_type +hb_gobject_buffer_get_type +hb_gobject_buffer_serialize_flags_get_type +hb_gobject_buffer_serialize_format_get_type +hb_gobject_direction_get_type +hb_gobject_face_get_type +hb_gobject_feature_get_type +hb_gobject_font_funcs_get_type +hb_gobject_font_get_type +hb_gobject_glyph_flags_get_type +hb_gobject_glyph_info_get_type +hb_gobject_glyph_position_get_type +hb_gobject_map_get_type +hb_gobject_memory_mode_get_type +hb_gobject_ot_color_palette_flags_get_type +hb_gobject_ot_layout_baseline_tag_get_type +hb_gobject_ot_layout_glyph_class_get_type +hb_gobject_ot_math_constant_get_type +hb_gobject_ot_math_glyph_part_flags_get_type +hb_gobject_ot_math_glyph_part_get_type +hb_gobject_ot_math_glyph_variant_get_type +hb_gobject_ot_math_kern_get_type +hb_gobject_ot_meta_tag_get_type +hb_gobject_ot_metrics_tag_get_type +hb_gobject_ot_var_axis_flags_get_type +hb_gobject_script_get_type +hb_gobject_segment_properties_get_type +hb_gobject_set_get_type +hb_gobject_shape_plan_get_type +hb_gobject_unicode_combining_class_get_type +hb_gobject_unicode_funcs_get_type +hb_gobject_unicode_general_category_get_type +hb_gobject_user_data_key_get_type diff --git a/docs/html/aat-shaping.html b/docs/html/aat-shaping.html index 8a50f3f..eede307 100644 --- a/docs/html/aat-shaping.html +++ b/docs/html/aat-shaping.html @@ -7,7 +7,7 @@ <link rel="home" href="index.html" title="HarfBuzz Manual"> <link rel="up" href="shaping-concepts.html" title="Shaping concepts"> <link rel="prev" href="graphite-shaping.html" title="Graphite shaping"> -<link rel="next" href="buffers-language-script-and-direction.html" title="Buffers, language, script and direction"> +<link rel="next" href="object-model.html" title="The HarfBuzz object model"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> @@ -17,7 +17,7 @@ <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="shaping-concepts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="graphite-shaping.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="buffers-language-script-and-direction.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +<td><a accesskey="n" href="object-model.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> diff --git a/docs/html/adding-text-to-the-buffer.html b/docs/html/adding-text-to-the-buffer.html index 07e7dda..e44694b 100644 --- a/docs/html/adding-text-to-the-buffer.html +++ b/docs/html/adding-text-to-the-buffer.html @@ -25,8 +25,79 @@ <p> Now we have a brand new HarfBuzz buffer. Let's start filling it with text! From HarfBuzz's perspective, a buffer is just a stream - of Unicode codepoints, but your input string is probably in one of - the standard Unicode character encodings (UTF-8, UTF-16, UTF-32) + of Unicode code points, but your input string is probably in one of + the standard Unicode character encodings (UTF-8, UTF-16, or + UTF-32). HarfBuzz provides convenience functions that accept + each of these encodings: + <code class="function">hb_buffer_add_utf8()</code>, + <code class="function">hb_buffer_add_utf16()</code>, and + <code class="function">hb_buffer_add_utf32()</code>. Other than the + character encoding they accept, they function identically. + </p> +<p> + You can add UTF-8 text to a buffer by passing in the text array, + the array's length, an offset into the array for the first + character to add, and the length of the segment to add: + </p> +<pre class="programlisting"> + hb_buffer_add_utf8 (hb_buffer_t *buf, + const char *text, + int text_length, + unsigned int item_offset, + int item_length) + </pre> +<p> + So, in practice, you can say: + </p> +<pre class="programlisting"> + hb_buffer_add_utf8(buf, text, strlen(text), 0, strlen(text)); + </pre> +<p> + This will append your new characters to + <em class="parameter"><code>buf</code></em>, not replace its existing + contents. Also, note that you can use <code class="literal">-1</code> in + place of the first instance of <code class="function">strlen(text)</code> + if your text array is NULL-terminated. Similarly, you can also use + <code class="literal">-1</code> as the final argument want to add its full + contents. + </p> +<p> + Whatever start <em class="parameter"><code>item_offset</code></em> and + <em class="parameter"><code>item_length</code></em> you provide, HarfBuzz will also + attempt to grab the five characters <span class="emphasis"><em>before</em></span> + the offset point and the five characters + <span class="emphasis"><em>after</em></span> the designated end. These are the + before and after "context" segments, which are used internally + for HarfBuzz to make shaping decisions. They will not be part of + the final output, but they ensure that HarfBuzz's + script-specific shaping operations are correct. If there are + fewer than five characters available for the before or after + contexts, HarfBuzz will just grab what is there. + </p> +<p> + For longer text runs, such as full paragraphs, it might be + tempting to only add smaller sub-segments to a buffer and + shape them in piecemeal fashion. Generally, this is not a good + idea, however, because a lot of shaping decisions are + dependent on this context information. For example, in Arabic + and other connected scripts, HarfBuzz needs to know the code + points before and after each character in order to correctly + determine which glyph to return. + </p> +<p> + The safest approach is to add all of the text available, then + use <em class="parameter"><code>item_offset</code></em> and + <em class="parameter"><code>item_length</code></em> to indicate which characters you + want shaped, so that HarfBuzz has access to any context. + </p> +<p> + You can also add Unicode code points directly with + <code class="function">hb_buffer_add_codepoints()</code>. The arguments + to this function are the same as those for the UTF + encodings. But it is particularly important to note that + HarfBuzz does not do validity checking on the text that is added + to a buffer. Invalid code points will be replaced, but it is up + to you to do any deep-sanity checking necessary. </p> </div> <div class="footer"> diff --git a/docs/html/api-index-full.html b/docs/html/api-index-full.html index 9e3926d..2f9ee96 100644 --- a/docs/html/api-index-full.html +++ b/docs/html/api-index-full.html @@ -147,7 +147,7 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t">hb_blob_t</a>, typedef in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a> +<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t">hb_blob_t</a>, typedef in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a> </dt> <dd></dd> <dt> @@ -407,7 +407,7 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t">hb_buffer_t</a>, typedef in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a> +<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t">hb_buffer_t</a>, typedef in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a> </dt> <dd></dd> <a name="idxC"></a><h3 class="title">C</h3> @@ -420,19 +420,19 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-alpha" title="hb_color_get_alpha()">hb_color_get_alpha</a>, macro in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a> +<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-alpha" title="hb_color_get_alpha ()">hb_color_get_alpha</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a> </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-blue" title="hb_color_get_blue()">hb_color_get_blue</a>, macro in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a> +<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-blue" title="hb_color_get_blue ()">hb_color_get_blue</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a> </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-green" title="hb_color_get_green()">hb_color_get_green</a>, macro in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a> +<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-green" title="hb_color_get_green ()">hb_color_get_green</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a> </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-red" title="hb_color_get_red()">hb_color_get_red</a>, macro in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a> +<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-red" title="hb_color_get_red ()">hb_color_get_red</a>, function in <a class="link" href="harfbuzz-hb-ot-color.html" title="hb-ot-color">hb-ot-color</a> </dt> <dd></dd> <dt> @@ -508,6 +508,14 @@ <a class="link" href="harfbuzz-hb-common.html#hb-direction-to-string" title="hb_direction_to_string ()">hb_direction_to_string</a>, function in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a> </dt> <dd></dd> +<dt> +hb_directwrite_face_create, function in hb-directwrite +</dt> +<dd></dd> +<dt> +hb_directwrite_face_get_font_face, function in hb-directwrite +</dt> +<dd></dd> <a name="idxF"></a><h3 class="title">F</h3> <dt> <a class="link" href="harfbuzz-hb-face.html#hb-face-builder-add-table" title="hb_face_builder_add_table ()">hb_face_builder_add_table</a>, function in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a> @@ -606,7 +614,7 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t">hb_face_t</a>, typedef in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a> +<a class="link" href="harfbuzz-hb-face.html#hb-face-t">hb_face_t</a>, typedef in <a class="link" href="harfbuzz-hb-face.html" title="hb-face">hb-face</a> </dt> <dd></dd> <dt> @@ -622,7 +630,7 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t">hb_feature_t</a>, struct in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a> +<a class="link" href="harfbuzz-hb-common.html#hb-feature-t-struct" title="hb_feature_t">hb_feature_t</a>, struct in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a> </dt> <dd></dd> <dt> @@ -702,7 +710,7 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-funcs-set-glyph-h-kerning-func" title="hb_font_funcs_set_glyph_h_kerning_func ()">hb_font_funcs_set_glyph_h_kerning_func</a>, function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a> +<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-h-kerning-func" title="hb_font_funcs_set_glyph_h_kerning_func ()">hb_font_funcs_set_glyph_h_kerning_func</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a> </dt> <dd></dd> <dt> @@ -746,7 +754,7 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t">hb_font_funcs_t</a>, typedef in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a> +<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t">hb_font_funcs_t</a>, typedef in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a> </dt> <dd></dd> <dt> @@ -846,11 +854,11 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-h-kerning" title="hb_font_get_glyph_h_kerning ()">hb_font_get_glyph_h_kerning</a>, function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a> +<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-kerning" title="hb_font_get_glyph_h_kerning ()">hb_font_get_glyph_h_kerning</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a> </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-h-kerning-func-t" title="hb_font_get_glyph_h_kerning_func_t">hb_font_get_glyph_h_kerning_func_t</a>, typedef in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a> +<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-kerning-func-t" title="hb_font_get_glyph_h_kerning_func_t">hb_font_get_glyph_h_kerning_func_t</a>, typedef in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a> </dt> <dd></dd> <dt> @@ -862,11 +870,11 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-kerning-for-direction" title="hb_font_get_glyph_kerning_for_direction ()">hb_font_get_glyph_kerning_for_direction</a>, function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a> +<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-kerning-for-direction" title="hb_font_get_glyph_kerning_for_direction ()">hb_font_get_glyph_kerning_for_direction</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a> </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-kerning-func-t" title="hb_font_get_glyph_kerning_func_t ()">hb_font_get_glyph_kerning_func_t</a>, user_function in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a> +<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-kerning-func-t" title="hb_font_get_glyph_kerning_func_t ()">hb_font_get_glyph_kerning_func_t</a>, user_function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a> </dt> <dd></dd> <dt> @@ -926,6 +934,10 @@ </dt> <dd></dd> <dt> +<a class="link" href="harfbuzz-hb-font.html#hb-font-get-nominal-glyphs" title="hb_font_get_nominal_glyphs ()">hb_font_get_nominal_glyphs</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a> +</dt> +<dd></dd> +<dt> <a class="link" href="harfbuzz-hb-font.html#hb-font-get-nominal-glyph-func-t" title="hb_font_get_nominal_glyph_func_t ()">hb_font_get_nominal_glyph_func_t</a>, user_function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a> </dt> <dd></dd> @@ -1030,11 +1042,15 @@ </dt> <dd></dd> <dt> +<a class="link" href="harfbuzz-hb-font.html#hb-font-set-var-named-instance" title="hb_font_set_var_named_instance ()">hb_font_set_var_named_instance</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a> +</dt> +<dd></dd> +<dt> <a class="link" href="harfbuzz-hb-font.html#hb-font-subtract-glyph-origin-for-direction" title="hb_font_subtract_glyph_origin_for_direction ()">hb_font_subtract_glyph_origin_for_direction</a>, function in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a> </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t">hb_font_t</a>, typedef in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a> +<a class="link" href="harfbuzz-hb-font.html#hb-font-t">hb_font_t</a>, typedef in <a class="link" href="harfbuzz-hb-font.html" title="hb-font">hb-font</a> </dt> <dd></dd> <dt> @@ -1079,6 +1095,10 @@ <dd></dd> <a name="idxG"></a><h3 class="title">G</h3> <dt> +hb_gdi_face_create, function in hb-gdi +</dt> +<dd></dd> +<dt> <a class="link" href="harfbuzz-hb-glib.html#hb-glib-blob-create" title="hb_glib_blob_create ()">hb_glib_blob_create</a>, function in <a class="link" href="harfbuzz-hb-glib.html" title="hb-glib">hb-glib</a> </dt> <dd></dd> @@ -1103,7 +1123,271 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t" title="hb_glyph_position_t">hb_glyph_position_t</a>, struct in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a> +<a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t-struct" title="hb_glyph_position_t">hb_glyph_position_t</a>, struct in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-blob-get-type" title="hb_gobject_blob_get_type ()">hb_gobject_blob_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-cluster-level-get-type" title="hb_gobject_buffer_cluster_level_get_type ()">hb_gobject_buffer_cluster_level_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-content-type-get-type" title="hb_gobject_buffer_content_type_get_type ()">hb_gobject_buffer_content_type_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-diff-flags-get-type" title="hb_gobject_buffer_diff_flags_get_type ()">hb_gobject_buffer_diff_flags_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-flags-get-type" title="hb_gobject_buffer_flags_get_type ()">hb_gobject_buffer_flags_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-get-type" title="hb_gobject_buffer_get_type ()">hb_gobject_buffer_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-serialize-flags-get-type" title="hb_gobject_buffer_serialize_flags_get_type ()">hb_gobject_buffer_serialize_flags_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-serialize-format-get-type" title="hb_gobject_buffer_serialize_format_get_type ()">hb_gobject_buffer_serialize_format_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-direction-get-type" title="hb_gobject_direction_get_type ()">hb_gobject_direction_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-face-get-type" title="hb_gobject_face_get_type ()">hb_gobject_face_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-feature-get-type" title="hb_gobject_feature_get_type ()">hb_gobject_feature_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-font-funcs-get-type" title="hb_gobject_font_funcs_get_type ()">hb_gobject_font_funcs_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-font-get-type" title="hb_gobject_font_get_type ()">hb_gobject_font_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-glyph-flags-get-type" title="hb_gobject_glyph_flags_get_type ()">hb_gobject_glyph_flags_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-glyph-info-get-type" title="hb_gobject_glyph_info_get_type ()">hb_gobject_glyph_info_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-glyph-position-get-type" title="hb_gobject_glyph_position_get_type ()">hb_gobject_glyph_position_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-map-get-type" title="hb_gobject_map_get_type ()">hb_gobject_map_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-memory-mode-get-type" title="hb_gobject_memory_mode_get_type ()">hb_gobject_memory_mode_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-color-palette-flags-get-type" title="hb_gobject_ot_color_palette_flags_get_type ()">hb_gobject_ot_color_palette_flags_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-layout-glyph-class-get-type" title="hb_gobject_ot_layout_glyph_class_get_type ()">hb_gobject_ot_layout_glyph_class_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-constant-get-type" title="hb_gobject_ot_math_constant_get_type ()">hb_gobject_ot_math_constant_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-part-flags-get-type" title="hb_gobject_ot_math_glyph_part_flags_get_type ()">hb_gobject_ot_math_glyph_part_flags_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-part-get-type" title="hb_gobject_ot_math_glyph_part_get_type ()">hb_gobject_ot_math_glyph_part_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-variant-get-type" title="hb_gobject_ot_math_glyph_variant_get_type ()">hb_gobject_ot_math_glyph_variant_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-kern-get-type" title="hb_gobject_ot_math_kern_get_type ()">hb_gobject_ot_math_kern_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-script-get-type" title="hb_gobject_script_get_type ()">hb_gobject_script_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-segment-properties-get-type" title="hb_gobject_segment_properties_get_type ()">hb_gobject_segment_properties_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-set-get-type" title="hb_gobject_set_get_type ()">hb_gobject_set_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-shape-plan-get-type" title="hb_gobject_shape_plan_get_type ()">hb_gobject_shape_plan_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BLOB:CAPS" title="HB_GOBJECT_TYPE_BLOB">HB_GOBJECT_TYPE_BLOB</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER:CAPS" title="HB_GOBJECT_TYPE_BUFFER">HB_GOBJECT_TYPE_BUFFER</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-CLUSTER-LEVEL:CAPS" title="HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL">HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-CONTENT-TYPE:CAPS" title="HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE">HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-DIFF-FLAGS:CAPS" title="HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS">HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-FLAGS:CAPS" title="HB_GOBJECT_TYPE_BUFFER_FLAGS">HB_GOBJECT_TYPE_BUFFER_FLAGS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FLAGS:CAPS" title="HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS">HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FORMAT:CAPS" title="HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT">HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-DIRECTION:CAPS" title="HB_GOBJECT_TYPE_DIRECTION">HB_GOBJECT_TYPE_DIRECTION</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FACE:CAPS" title="HB_GOBJECT_TYPE_FACE">HB_GOBJECT_TYPE_FACE</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FEATURE:CAPS" title="HB_GOBJECT_TYPE_FEATURE">HB_GOBJECT_TYPE_FEATURE</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FONT:CAPS" title="HB_GOBJECT_TYPE_FONT">HB_GOBJECT_TYPE_FONT</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FONT-FUNCS:CAPS" title="HB_GOBJECT_TYPE_FONT_FUNCS">HB_GOBJECT_TYPE_FONT_FUNCS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-FLAGS:CAPS" title="HB_GOBJECT_TYPE_GLYPH_FLAGS">HB_GOBJECT_TYPE_GLYPH_FLAGS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-INFO:CAPS" title="HB_GOBJECT_TYPE_GLYPH_INFO">HB_GOBJECT_TYPE_GLYPH_INFO</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-POSITION:CAPS" title="HB_GOBJECT_TYPE_GLYPH_POSITION">HB_GOBJECT_TYPE_GLYPH_POSITION</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-MAP:CAPS" title="HB_GOBJECT_TYPE_MAP">HB_GOBJECT_TYPE_MAP</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-MEMORY-MODE:CAPS" title="HB_GOBJECT_TYPE_MEMORY_MODE">HB_GOBJECT_TYPE_MEMORY_MODE</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-COLOR-PALETTE-FLAGS:CAPS" title="HB_GOBJECT_TYPE_OT_COLOR_PALETTE_FLAGS">HB_GOBJECT_TYPE_OT_COLOR_PALETTE_FLAGS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-LAYOUT-GLYPH-CLASS:CAPS" title="HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS">HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-CONSTANT:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_CONSTANT">HB_GOBJECT_TYPE_OT_MATH_CONSTANT</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART">HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART-FLAGS:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS">HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-VARIANT:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT">HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-KERN:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_KERN">HB_GOBJECT_TYPE_OT_MATH_KERN</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SCRIPT:CAPS" title="HB_GOBJECT_TYPE_SCRIPT">HB_GOBJECT_TYPE_SCRIPT</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SEGMENT-PROPERTIES:CAPS" title="HB_GOBJECT_TYPE_SEGMENT_PROPERTIES">HB_GOBJECT_TYPE_SEGMENT_PROPERTIES</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SET:CAPS" title="HB_GOBJECT_TYPE_SET">HB_GOBJECT_TYPE_SET</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SHAPE-PLAN:CAPS" title="HB_GOBJECT_TYPE_SHAPE_PLAN">HB_GOBJECT_TYPE_SHAPE_PLAN</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-COMBINING-CLASS:CAPS" title="HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS">HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-FUNCS:CAPS" title="HB_GOBJECT_TYPE_UNICODE_FUNCS">HB_GOBJECT_TYPE_UNICODE_FUNCS</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-GENERAL-CATEGORY:CAPS" title="HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY">HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-USER-DATA-KEY:CAPS" title="HB_GOBJECT_TYPE_USER_DATA_KEY">HB_GOBJECT_TYPE_USER_DATA_KEY</a>, macro in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-unicode-combining-class-get-type" title="hb_gobject_unicode_combining_class_get_type ()">hb_gobject_unicode_combining_class_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-unicode-funcs-get-type" title="hb_gobject_unicode_funcs_get_type ()">hb_gobject_unicode_funcs_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-unicode-general-category-get-type" title="hb_gobject_unicode_general_category_get_type ()">hb_gobject_unicode_general_category_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> +</dt> +<dd></dd> +<dt> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-user-data-key-get-type" title="hb_gobject_user_data_key_get_type ()">hb_gobject_user_data_key_get_type</a>, function in <a class="link" href="harfbuzz-hb-gobject.html" title="hb-gobject">hb-gobject</a> </dt> <dd></dd> <dt> @@ -1206,7 +1490,7 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t">hb_map_t</a>, typedef in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a> +<a class="link" href="harfbuzz-hb-map.html#hb-map-t">hb_map_t</a>, typedef in <a class="link" href="harfbuzz-hb-map.html" title="hb-map">hb-map</a> </dt> <dd></dd> <dt> @@ -1218,6 +1502,10 @@ </dt> <dd></dd> <dt> +<a class="link" href="harfbuzz-hb-deprecated.html#HB-MATH-GLYPH-PART-FLAG-EXTENDER:CAPS" title="HB_MATH_GLYPH_PART_FLAG_EXTENDER">HB_MATH_GLYPH_PART_FLAG_EXTENDER</a>, macro in <a class="link" href="harfbuzz-hb-deprecated.html" title="hb-deprecated">hb-deprecated</a> +</dt> +<dd></dd> +<dt> <a class="link" href="harfbuzz-hb-blob.html#hb-memory-mode-t" title="enum hb_memory_mode_t">hb_memory_mode_t</a>, enum in <a class="link" href="harfbuzz-hb-blob.html" title="hb-blob">hb-blob</a> </dt> <dd></dd> @@ -1279,6 +1567,10 @@ </dt> <dd></dd> <dt> +<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-baseline-tag-t" title="enum hb_ot_layout_baseline_tag_t">hb_ot_layout_baseline_tag_t</a>, enum in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a> +</dt> +<dd></dd> +<dt> <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-collect-features" title="hb_ot_layout_collect_features ()">hb_ot_layout_collect_features</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a> </dt> <dd></dd> @@ -1311,6 +1603,10 @@ </dt> <dd></dd> <dt> +<a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-get-baseline" title="hb_ot_layout_get_baseline ()">hb_ot_layout_get_baseline</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a> +</dt> +<dd></dd> +<dt> <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-get-glyphs-in-class" title="hb_ot_layout_get_glyphs_in_class ()">hb_ot_layout_get_glyphs_in_class</a>, function in <a class="link" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout">hb-ot-layout</a> </dt> <dd></dd> @@ -1463,11 +1759,11 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t" title="hb_ot_math_glyph_part_t">hb_ot_math_glyph_part_t</a>, struct in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a> +<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t-struct" title="hb_ot_math_glyph_part_t">hb_ot_math_glyph_part_t</a>, struct in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a> </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t" title="hb_ot_math_glyph_variant_t">hb_ot_math_glyph_variant_t</a>, struct in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a> +<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t-struct" title="hb_ot_math_glyph_variant_t">hb_ot_math_glyph_variant_t</a>, struct in <a class="link" href="harfbuzz-hb-ot-math.html" title="hb-ot-math">hb-ot-math</a> </dt> <dd></dd> <dt> @@ -1495,6 +1791,38 @@ </dt> <dd></dd> <dt> +hb_ot_meta_get_entry_tags, function in hb-ot-meta +</dt> +<dd></dd> +<dt> +hb_ot_meta_reference_entry, function in hb-ot-meta +</dt> +<dd></dd> +<dt> +hb_ot_meta_tag_t, enum in hb-ot-meta +</dt> +<dd></dd> +<dt> +hb_ot_metrics_get_position, function in hb-ot-metrics +</dt> +<dd></dd> +<dt> +hb_ot_metrics_get_variation, function in hb-ot-metrics +</dt> +<dd></dd> +<dt> +hb_ot_metrics_get_x_variation, function in hb-ot-metrics +</dt> +<dd></dd> +<dt> +hb_ot_metrics_get_y_variation, function in hb-ot-metrics +</dt> +<dd></dd> +<dt> +hb_ot_metrics_tag_t, enum in hb-ot-metrics +</dt> +<dd></dd> +<dt> <a class="link" href="harfbuzz-hb-ot-name.html#hb-ot-name-get-utf16" title="hb_ot_name_get_utf16 ()">hb_ot_name_get_utf16</a>, function in <a class="link" href="harfbuzz-hb-ot-name.html" title="hb-ot-name">hb-ot-name</a> </dt> <dd></dd> @@ -1686,7 +2014,7 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t">hb_segment_properties_t</a>, struct in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a> +<a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t-struct" title="hb_segment_properties_t">hb_segment_properties_t</a>, struct in <a class="link" href="harfbuzz-hb-buffer.html" title="hb-buffer">hb-buffer</a> </dt> <dd></dd> <dt> @@ -1798,7 +2126,7 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t">hb_set_t</a>, typedef in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a> +<a class="link" href="harfbuzz-hb-set.html#hb-set-t">hb_set_t</a>, typedef in <a class="link" href="harfbuzz-hb-set.html" title="hb-set">hb-set</a> </dt> <dd></dd> <dt> @@ -1866,7 +2194,7 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t">hb_shape_plan_t</a>, typedef in <a class="link" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan">hb-shape-plan</a> +<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t">hb_shape_plan_t</a>, typedef in <a class="link" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan">hb-shape-plan</a> </dt> <dd></dd> <a name="idxT"></a><h3 class="title">T</h3> @@ -1992,7 +2320,7 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t">hb_unicode_funcs_t</a>, typedef in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a> +<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t">hb_unicode_funcs_t</a>, typedef in <a class="link" href="harfbuzz-hb-unicode.html" title="hb-unicode">hb-unicode</a> </dt> <dd></dd> <dt> @@ -2044,7 +2372,7 @@ </dt> <dd></dd> <dt> -<a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t">hb_user_data_key_t</a>, struct in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a> +<a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t-struct" title="hb_user_data_key_t">hb_user_data_key_t</a>, struct in <a class="link" href="harfbuzz-hb-common.html" title="hb-common">hb-common</a> </dt> <dd></dd> <a name="idxV"></a><h3 class="title">V</h3> diff --git a/docs/html/buffers-language-script-and-direction.html b/docs/html/buffers-language-script-and-direction.html index 57f2f59..2f0aca5 100644 --- a/docs/html/buffers-language-script-and-direction.html +++ b/docs/html/buffers-language-script-and-direction.html @@ -6,7 +6,7 @@ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> <link rel="up" href="pt01.html" title="Part I. User's manual"> -<link rel="prev" href="aat-shaping.html" title="AAT shaping"> +<link rel="prev" href="object-model-blobs.html" title="Blobs"> <link rel="next" href="adding-text-to-the-buffer.html" title="Adding text to the buffer"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> @@ -16,7 +16,7 @@ <td width="100%" align="left" class="shortcuts"></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="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="aat-shaping.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="p" href="object-model-blobs.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="adding-text-to-the-buffer.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="chapter"> @@ -26,14 +26,21 @@ <dt><span class="section"><a href="buffers-language-script-and-direction.html#creating-and-destroying-buffers">Creating and destroying buffers</a></span></dt> <dt><span class="section"><a href="adding-text-to-the-buffer.html">Adding text to the buffer</a></span></dt> <dt><span class="section"><a href="setting-buffer-properties.html">Setting buffer properties</a></span></dt> -<dt><span class="section"><a href="what-about-the-other-scripts.html">What about the other scripts?</a></span></dt> <dt><span class="section"><a href="customizing-unicode-functions.html">Customizing Unicode functions</a></span></dt> </dl></div> <p> - The input to HarfBuzz is a series of Unicode characters, stored in a + The input to the HarfBuzz shaper is a series of Unicode characters, stored in a buffer. In this chapter, we'll look at how to set up a buffer with - the text that we want and then customize the properties of the - buffer. + the text that we want and how to customize the properties of the + buffer. We'll also look at a piece of lower-level machinery that + you will need to understand before proceeding: the functions that + HarfBuzz uses to retrieve Unicode information. + </p> +<p> + After shaping is complete, HarfBuzz puts its output back + into the buffer. But getting that output requires setting up a + face and a font first, so we will look at that in the next chapter + instead of here. </p> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> @@ -41,20 +48,20 @@ <p> As we saw in our <span class="emphasis"><em>Getting Started</em></span> example, a buffer is created and - initialized with <code class="literal">hb_buffer_create()</code>. This + initialized with <code class="function">hb_buffer_create()</code>. This produces a new, empty buffer object, instantiated with some default values and ready to accept your Unicode strings. </p> <p> HarfBuzz manages the memory of objects (such as buffers) that it creates, so you don't have to. When you have finished working on - a buffer, you can call <code class="literal">hb_buffer_destroy()</code>: + a buffer, you can call <code class="function">hb_buffer_destroy()</code>: </p> <pre class="programlisting"> - hb_buffer_t *buffer = hb_buffer_create(); - ... - hb_buffer_destroy(buffer); -</pre> + hb_buffer_t *buf = hb_buffer_create(); + ... + hb_buffer_destroy(buf); + </pre> <p> This will destroy the object and free its associated memory - unless some other part of the program holds a reference to this @@ -63,22 +70,27 @@ else destroying it, you should increase its reference count: </p> <pre class="programlisting"> -void somefunc(hb_buffer_t *buffer) { - buffer = hb_buffer_reference(buffer); - ... -</pre> + void somefunc(hb_buffer_t *buf) { + buf = hb_buffer_reference(buf); + ... + </pre> <p> And then decrease it once you're done with it: </p> <pre class="programlisting"> - hb_buffer_destroy(buffer); -} -</pre> + hb_buffer_destroy(buf); + } + </pre> +<p> + While we are on the subject of reference-counting buffers, it is + worth noting that an individual buffer can only meaningfully be + used by one thread at a time. + </p> <p> To throw away all the data in your buffer and start from scratch, - call <code class="literal">hb_buffer_reset(buffer)</code>. If you want to + call <code class="function">hb_buffer_reset(buf)</code>. If you want to throw away the string in the buffer but keep the options, you can - instead call <code class="literal">hb_buffer_clear_contents(buffer)</code>. + instead call <code class="function">hb_buffer_clear_contents(buf)</code>. </p> </div> </div> diff --git a/docs/html/building.html b/docs/html/building.html index 7b158ae..8870342 100644 --- a/docs/html/building.html +++ b/docs/html/building.html @@ -322,23 +322,6 @@ </td> </tr> <tr> -<td><p><span class="term"><span class="command"><strong>--with-ucdn</strong></span></span></p></td> -<td> -<p> - Use HarfBuzz's <a class="ulink" href="https://github.com/harfbuzz/harfbuzz/tree/master/src/hb-ucdn" target="_top">built-in UCDN library</a>. <span class="emphasis"><em>(Default = auto)</em></span> - </p> -<p> - The HarfBuzz source tree includes a <span class="emphasis"><em>Unicode - Database and Normalization</em></span> (UCDN) library - that provides access to basic character properties in - the Unicode Character Database (UCD) as well as low-level - normalization functions. HarfBuzz can be built without - this UCDN support if the usage of a different UCDN - library is desired. - </p> -</td> -</tr> -<tr> <td><p><span class="term"><span class="command"><strong>--with-graphite2</strong></span></span></p></td> <td> <p> diff --git a/docs/html/ch09.html b/docs/html/ch09.html deleted file mode 100644 index c6cac7b..0000000 --- a/docs/html/ch09.html +++ /dev/null @@ -1,67 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Core API: HarfBuzz Manual</title> -<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> -<link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="pt02.html" title="Part II. Reference manual"> -<link rel="prev" href="pt02.html" title="Part II. Reference manual"> -<link rel="next" href="harfbuzz-hb-blob.html" title="hb-blob"> -<meta name="generator" content="GTK-Doc V1.29 (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"></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="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="pt02.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="harfbuzz-hb-blob.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> -</tr></table> -<div class="chapter"> -<div class="titlepage"><div><div><h2 class="title"> -<a name="id-1.3.4"></a>Core API</h2></div></div></div> -<div class="toc"><dl class="toc"> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-blob.html">hb-blob</a></span><span class="refpurpose"> — Binary data containers</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-buffer.html">hb-buffer</a></span><span class="refpurpose"> — Input and output buffers</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-common.html">hb-common</a></span><span class="refpurpose"> — Common data types</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-deprecated.html">hb-deprecated</a></span><span class="refpurpose"> — Deprecated API</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-face.html">hb-face</a></span><span class="refpurpose"> — Font face objects</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-font.html">hb-font</a></span><span class="refpurpose"> — Font objects</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-map.html">hb-map</a></span><span class="refpurpose"> — Object representing integer to integer mapping</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-set.html">hb-set</a></span><span class="refpurpose"> — Object representing a set of integers</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-shape-plan.html">hb-shape-plan</a></span><span class="refpurpose"> — Object representing a shaping plan</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-shape.html">hb-shape</a></span><span class="refpurpose"> — Conversion of text strings into positioned glyphs</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-unicode.html">hb-unicode</a></span><span class="refpurpose"> — Unicode character property access</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-version.html">hb-version</a></span><span class="refpurpose"> — Information about the version of HarfBuzz in use</span> -</dt> -</dl></div> -</div> -<div class="footer"> -<hr>Generated by GTK-Doc V1.29</div> -</body> -</html>
\ No newline at end of file diff --git a/docs/html/ch10.html b/docs/html/ch10.html deleted file mode 100644 index 7c615c1..0000000 --- a/docs/html/ch10.html +++ /dev/null @@ -1,52 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>OpenType API: HarfBuzz Manual</title> -<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> -<link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="pt02.html" title="Part II. Reference manual"> -<link rel="prev" href="harfbuzz-hb-version.html" title="hb-version"> -<link rel="next" href="harfbuzz-hb-ot-color.html" title="hb-ot-color"> -<meta name="generator" content="GTK-Doc V1.29 (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"></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="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="harfbuzz-hb-version.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="harfbuzz-hb-ot-color.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> -</tr></table> -<div class="chapter"> -<div class="titlepage"><div><div><h2 class="title"> -<a name="id-1.3.5"></a>OpenType API</h2></div></div></div> -<div class="toc"><dl class="toc"> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-ot-color.html">hb-ot-color</a></span><span class="refpurpose"> — OpenType Color Fonts</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-ot-font.html">hb-ot-font</a></span><span class="refpurpose"> — OpenType font implementation</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-ot-layout.html">hb-ot-layout</a></span><span class="refpurpose"> — OpenType Layout</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-ot-math.html">hb-ot-math</a></span><span class="refpurpose"> — OpenType Math information</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-ot-name.html">hb-ot-name</a></span><span class="refpurpose"> — OpenType font name information</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-ot-shape.html">hb-ot-shape</a></span><span class="refpurpose"> — OpenType shaping support</span> -</dt> -<dt> -<span class="refentrytitle"><a href="harfbuzz-hb-ot-var.html">hb-ot-var</a></span><span class="refpurpose"> — OpenType Font Variations</span> -</dt> -</dl></div> -</div> -<div class="footer"> -<hr>Generated by GTK-Doc V1.29</div> -</body> -</html>
\ No newline at end of file diff --git a/docs/html/ch11.html b/docs/html/ch11.html index 4081a6d..c6cac7b 100644 --- a/docs/html/ch11.html +++ b/docs/html/ch11.html @@ -2,12 +2,12 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Apple Advanced Typography API: HarfBuzz Manual</title> +<title>Core API: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> <link rel="up" href="pt02.html" title="Part II. Reference manual"> -<link rel="prev" href="harfbuzz-hb-ot-var.html" title="hb-ot-var"> -<link rel="next" href="harfbuzz-hb-aat-layout.html" title="hb-aat-layout"> +<link rel="prev" href="pt02.html" title="Part II. Reference manual"> +<link rel="next" href="harfbuzz-hb-blob.html" title="hb-blob"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> @@ -16,15 +16,50 @@ <td width="100%" align="left" class="shortcuts"></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="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="harfbuzz-hb-ot-var.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="harfbuzz-hb-aat-layout.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +<td><a accesskey="p" href="pt02.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="harfbuzz-hb-blob.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="chapter"> <div class="titlepage"><div><div><h2 class="title"> -<a name="id-1.3.6"></a>Apple Advanced Typography API</h2></div></div></div> -<div class="toc"><dl class="toc"><dt> -<span class="refentrytitle"><a href="harfbuzz-hb-aat-layout.html">hb-aat-layout</a></span><span class="refpurpose"> — Apple Advanced Typography Layout</span> -</dt></dl></div> +<a name="id-1.3.4"></a>Core API</h2></div></div></div> +<div class="toc"><dl class="toc"> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-blob.html">hb-blob</a></span><span class="refpurpose"> — Binary data containers</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-buffer.html">hb-buffer</a></span><span class="refpurpose"> — Input and output buffers</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-common.html">hb-common</a></span><span class="refpurpose"> — Common data types</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-deprecated.html">hb-deprecated</a></span><span class="refpurpose"> — Deprecated API</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-face.html">hb-face</a></span><span class="refpurpose"> — Font face objects</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-font.html">hb-font</a></span><span class="refpurpose"> — Font objects</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-map.html">hb-map</a></span><span class="refpurpose"> — Object representing integer to integer mapping</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-set.html">hb-set</a></span><span class="refpurpose"> — Object representing a set of integers</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-shape-plan.html">hb-shape-plan</a></span><span class="refpurpose"> — Object representing a shaping plan</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-shape.html">hb-shape</a></span><span class="refpurpose"> — Conversion of text strings into positioned glyphs</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-unicode.html">hb-unicode</a></span><span class="refpurpose"> — Unicode character property access</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-version.html">hb-version</a></span><span class="refpurpose"> — Information about the version of HarfBuzz in use</span> +</dt> +</dl></div> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.29</div> diff --git a/docs/html/ch12.html b/docs/html/ch12.html index b504c84..7c615c1 100644 --- a/docs/html/ch12.html +++ b/docs/html/ch12.html @@ -2,12 +2,12 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Integration API: HarfBuzz Manual</title> +<title>OpenType API: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> <link rel="up" href="pt02.html" title="Part II. Reference manual"> -<link rel="prev" href="harfbuzz-hb-aat-layout.html" title="hb-aat-layout"> -<link rel="next" href="harfbuzz-hb-coretext.html" title="hb-coretext"> +<link rel="prev" href="harfbuzz-hb-version.html" title="hb-version"> +<link rel="next" href="harfbuzz-hb-ot-color.html" title="hb-ot-color"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> @@ -16,33 +16,33 @@ <td width="100%" align="left" class="shortcuts"></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="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="harfbuzz-hb-aat-layout.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="harfbuzz-hb-coretext.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +<td><a accesskey="p" href="harfbuzz-hb-version.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="harfbuzz-hb-ot-color.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="chapter"> <div class="titlepage"><div><div><h2 class="title"> -<a name="id-1.3.7"></a>Integration API</h2></div></div></div> +<a name="id-1.3.5"></a>OpenType API</h2></div></div></div> <div class="toc"><dl class="toc"> <dt> -<span class="refentrytitle"><a href="harfbuzz-hb-coretext.html">hb-coretext</a></span><span class="refpurpose"> — CoreText integration</span> +<span class="refentrytitle"><a href="harfbuzz-hb-ot-color.html">hb-ot-color</a></span><span class="refpurpose"> — OpenType Color Fonts</span> </dt> <dt> -<span class="refentrytitle"><a href="harfbuzz-hb-ft.html">hb-ft</a></span><span class="refpurpose"> — FreeType integration</span> +<span class="refentrytitle"><a href="harfbuzz-hb-ot-font.html">hb-ot-font</a></span><span class="refpurpose"> — OpenType font implementation</span> </dt> <dt> -<span class="refentrytitle"><a href="harfbuzz-hb-glib.html">hb-glib</a></span><span class="refpurpose"> — GLib integration</span> +<span class="refentrytitle"><a href="harfbuzz-hb-ot-layout.html">hb-ot-layout</a></span><span class="refpurpose"> — OpenType Layout</span> </dt> <dt> -<span class="refentrytitle"><a href="harfbuzz-hb-gobject.html">hb-gobject</a></span><span class="refpurpose"> — GObject integration</span> +<span class="refentrytitle"><a href="harfbuzz-hb-ot-math.html">hb-ot-math</a></span><span class="refpurpose"> — OpenType Math information</span> </dt> <dt> -<span class="refentrytitle"><a href="harfbuzz-hb-graphite2.html">hb-graphite2</a></span><span class="refpurpose"> — Graphite2 integration</span> +<span class="refentrytitle"><a href="harfbuzz-hb-ot-name.html">hb-ot-name</a></span><span class="refpurpose"> — OpenType font name information</span> </dt> <dt> -<span class="refentrytitle"><a href="harfbuzz-hb-icu.html">hb-icu</a></span><span class="refpurpose"> — ICU integration</span> +<span class="refentrytitle"><a href="harfbuzz-hb-ot-shape.html">hb-ot-shape</a></span><span class="refpurpose"> — OpenType shaping support</span> </dt> <dt> -<span class="refentrytitle"><a href="harfbuzz-hb-uniscribe.html">hb-uniscribe</a></span><span class="refpurpose"> — Windows integration</span> +<span class="refentrytitle"><a href="harfbuzz-hb-ot-var.html">hb-ot-var</a></span><span class="refpurpose"> — OpenType Font Variations</span> </dt> </dl></div> </div> diff --git a/docs/html/ch13.html b/docs/html/ch13.html new file mode 100644 index 0000000..4081a6d --- /dev/null +++ b/docs/html/ch13.html @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Apple Advanced Typography API: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="pt02.html" title="Part II. Reference manual"> +<link rel="prev" href="harfbuzz-hb-ot-var.html" title="hb-ot-var"> +<link rel="next" href="harfbuzz-hb-aat-layout.html" title="hb-aat-layout"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="harfbuzz-hb-ot-var.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="harfbuzz-hb-aat-layout.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="chapter"> +<div class="titlepage"><div><div><h2 class="title"> +<a name="id-1.3.6"></a>Apple Advanced Typography API</h2></div></div></div> +<div class="toc"><dl class="toc"><dt> +<span class="refentrytitle"><a href="harfbuzz-hb-aat-layout.html">hb-aat-layout</a></span><span class="refpurpose"> — Apple Advanced Typography Layout</span> +</dt></dl></div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/ch14.html b/docs/html/ch14.html new file mode 100644 index 0000000..b504c84 --- /dev/null +++ b/docs/html/ch14.html @@ -0,0 +1,52 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Integration API: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="pt02.html" title="Part II. Reference manual"> +<link rel="prev" href="harfbuzz-hb-aat-layout.html" title="hb-aat-layout"> +<link rel="next" href="harfbuzz-hb-coretext.html" title="hb-coretext"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="harfbuzz-hb-aat-layout.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="harfbuzz-hb-coretext.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="chapter"> +<div class="titlepage"><div><div><h2 class="title"> +<a name="id-1.3.7"></a>Integration API</h2></div></div></div> +<div class="toc"><dl class="toc"> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-coretext.html">hb-coretext</a></span><span class="refpurpose"> — CoreText integration</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-ft.html">hb-ft</a></span><span class="refpurpose"> — FreeType integration</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-glib.html">hb-glib</a></span><span class="refpurpose"> — GLib integration</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-gobject.html">hb-gobject</a></span><span class="refpurpose"> — GObject integration</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-graphite2.html">hb-graphite2</a></span><span class="refpurpose"> — Graphite2 integration</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-icu.html">hb-icu</a></span><span class="refpurpose"> — ICU integration</span> +</dt> +<dt> +<span class="refentrytitle"><a href="harfbuzz-hb-uniscribe.html">hb-uniscribe</a></span><span class="refpurpose"> — Windows integration</span> +</dt> +</dl></div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/clusters.html b/docs/html/clusters.html index 2d6c36d..d6f3d6a 100644 --- a/docs/html/clusters.html +++ b/docs/html/clusters.html @@ -6,7 +6,7 @@ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> <link rel="up" href="pt01.html" title="Part I. User's manual"> -<link rel="prev" href="using-your-own-font-functions.html" title="Using your own font functions"> +<link rel="prev" href="shaping-plans-and-caching.html" title="Plans and caching"> <link rel="next" href="working-with-harfbuzz-clusters.html" title="Working with HarfBuzz clusters"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> @@ -16,7 +16,7 @@ <td width="100%" align="left" class="shortcuts"></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="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="using-your-own-font-functions.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="p" href="shaping-plans-and-caching.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="working-with-harfbuzz-clusters.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="chapter"> diff --git a/docs/html/customizing-unicode-functions.html b/docs/html/customizing-unicode-functions.html index 5528b53..76b4645 100644 --- a/docs/html/customizing-unicode-functions.html +++ b/docs/html/customizing-unicode-functions.html @@ -6,8 +6,8 @@ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> <link rel="up" href="buffers-language-script-and-direction.html" title="Buffers, language, script and direction"> -<link rel="prev" href="what-about-the-other-scripts.html" title="What about the other scripts?"> -<link rel="next" href="fonts-and-faces.html" title="Fonts and faces"> +<link rel="prev" href="setting-buffer-properties.html" title="Setting buffer properties"> +<link rel="next" href="fonts-and-faces.html" title="Fonts, faces, and output"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> @@ -16,13 +16,113 @@ <td width="100%" align="left" class="shortcuts"></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="buffers-language-script-and-direction.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="what-about-the-other-scripts.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="p" href="setting-buffer-properties.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="fonts-and-faces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="customizing-unicode-functions"></a>Customizing Unicode functions</h2></div></div></div> <p> + HarfBuzz requires some simple functions for accessing + information from the Unicode Character Database (such as the + <code class="literal">General_Category</code> (gc) and + <code class="literal">Script</code> (sc) properties) that is useful + for shaping, as well as some useful operations like composing and + decomposing code points. + </p> +<p> + HarfBuzz includes its own internal, lightweight set of Unicode + functions. At build time, it is also possible to compile support + for some other options, such as the Unicode functions provided + by GLib or the International Components for Unicode (ICU) + library. Generally, this option is only of interest for client + programs that have specific integration requirements or that do + a significant amount of customization. + </p> +<p> + If your program has access to other Unicode functions, however, + such as through a system library or application framework, you + might prefer to use those instead of the built-in + options. HarfBuzz supports this by implementing its Unicode + functions as a set of virtual methods that you can replace — + without otherwise affecting HarfBuzz's functionality. + </p> +<p> + The Unicode functions are specified in a structure called + <code class="literal">unicode_funcs</code> which is attached to each + buffer. But even though <code class="literal">unicode_funcs</code> is + associated with a <span class="type">hb_buffer_t</span>, the functions + themselves are called by other HarfBuzz APIs that access + buffers, so it would be unwise for you to hook different + functions into different buffers. + </p> +<p> + In addition, you can mark your <code class="literal">unicode_funcs</code> + as immutable by calling + <code class="function">hb_unicode_funcs_make_immutable (ufuncs)</code>. + This is especially useful if your code is a + library or framework that will have its own client programs. By + marking your Unicode function choices as immutable, you prevent + your own client programs from changing the + <code class="literal">unicode_funcs</code> configuration and introducing + inconsistencies and errors downstream. + </p> +<p> + You can retrieve the Unicode-functions configuration for + your buffer by calling <code class="function">hb_buffer_get_unicode_funcs()</code>: + </p> +<pre class="programlisting"> + hb_unicode_funcs_t *ufunctions; + ufunctions = hb_buffer_get_unicode_funcs(buf); + </pre> +<p> + The current version of <code class="literal">unicode_funcs</code> uses six functions: + </p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"><p> + <code class="function">hb_unicode_combining_class_func_t</code>: + returns the Canonical Combining Class of a code point. + </p></li> +<li class="listitem"><p> + <code class="function">hb_unicode_general_category_func_t</code>: + returns the General Category (gc) of a code point. + </p></li> +<li class="listitem"><p> + <code class="function">hb_unicode_mirroring_func_t</code>: returns + the Mirroring Glyph code point (for bi-directional + replacement) of a code point. + </p></li> +<li class="listitem"><p> + <code class="function">hb_unicode_script_func_t</code>: returns the + Script (sc) property of a code point. + </p></li> +<li class="listitem"><p> + <code class="function">hb_unicode_compose_func_t</code>: returns the + canonical composition of a sequence of two code points. + </p></li> +<li class="listitem"><p> + <code class="function">hb_unicode_decompose_func_t</code>: returns + the canonical decomposition of a code point. + </p></li> +</ul></div> +<p> + Note, however, that future HarfBuzz releases may alter this set. + </p> +<p> + Each Unicode function has a corresponding setter, with which you + can assign a callback to your replacement function. For example, + to replace + <code class="function">hb_unicode_general_category_func_t</code>, you can call + </p> +<pre class="programlisting"> + hb_unicode_funcs_set_general_category_func (*ufuncs, func, *user_data, destroy) + </pre> +<p> + Virtualizing this set of Unicode functions is primarily intended + to improve portability. There is no need for every client + program to make the effort to replace the default options, so if + you are unsure, do not feel any pressure to customize + <code class="literal">unicode_funcs</code>. </p> </div> <div class="footer"> diff --git a/docs/html/fonts-and-faces-custom-functions.html b/docs/html/fonts-and-faces-custom-functions.html new file mode 100644 index 0000000..80221f2 --- /dev/null +++ b/docs/html/fonts-and-faces-custom-functions.html @@ -0,0 +1,156 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Customizing font functions: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="fonts-and-faces.html" title="Fonts, faces, and output"> +<link rel="prev" href="fonts-and-faces.html" title="Fonts, faces, and output"> +<link rel="next" href="fonts-and-faces-native-opentype.html" title="Font objects and HarfBuzz's native OpenType implementation"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="fonts-and-faces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="fonts-and-faces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="fonts-and-faces-native-opentype.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fonts-and-faces-custom-functions"></a>Customizing font functions</h2></div></div></div> +<p> + During shaping, HarfBuzz frequently needs to query font objects + to get at the contents and parameters of the glyphs in a font + file. It includes a built-in set of functions that is tailored + to working with OpenType fonts. However, as was the case with + Unicode functions in the buffers chapter, HarfBuzz also wants to + make it easy for you to assign a substitute set of font + functions if you are developing a program to work with a library + or platform that provides its own font functions. + </p> +<p> + Therefore, the HarfBuzz API defines a set of virtual + methods for accessing font-object properties, and you can + replace the defaults with your own selections without + interfering with the shaping process. Each font object in + HarfBuzz includes a structure called + <code class="literal">font_funcs</code> that serves as a vtable for the + font object. The virtual methods in + <code class="literal">font_funcs</code> are: + </p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"><p> + <code class="function">hb_font_get_font_h_extents_func_t</code>: returns + the extents of the font for horizontal text. + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_font_v_extents_func_t</code>: returns + the extents of the font for vertical text. + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_nominal_glyph_func_t</code>: returns + the font's nominal glyph for a given code point. + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_variation_glyph_func_t</code>: returns + the font's glyph for a given code point when it is followed by a + given Variation Selector. + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_nominal_glyphs_func_t</code>: returns + the font's nominal glyphs for a series of code points. + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_glyph_advance_func_t</code>: returns + the advance for a glyph. + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_glyph_h_advance_func_t</code>: returns + the advance for a glyph for horizontal text. + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_glyph_v_advance_func_t</code>:returns + the advance for a glyph for vertical text. + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_glyph_advances_func_t</code>: returns + the advances for a series of glyphs. + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_glyph_h_advances_func_t</code>: returns + the advances for a series of glyphs for horizontal text . + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_glyph_v_advances_func_t</code>: returns + the advances for a series of glyphs for vertical text. + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_glyph_origin_func_t</code>: returns + the origin coordinates of a glyph. + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_glyph_h_origin_func_t</code>: returns + the origin coordinates of a glyph for horizontal text. + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_glyph_v_origin_func_t</code>: returns + the origin coordinates of a glyph for vertical text. + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_glyph_extents_func_t</code>: returns + the extents for a glyph. + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_glyph_contour_point_func_t</code>: + returns the coordinates of a specific contour point from a glyph. + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_glyph_name_func_t</code>: returns the + name of a glyph (from its glyph index). + </p></li> +<li class="listitem"><p> + <code class="function">hb_font_get_glyph_from_name_func_t</code>: returns + the glyph index that corresponds to a given glyph name. + </p></li> +</ul></div> +<p> + You can fetch the font-functions configuration for a font object + by calling <code class="function">hb_font_get_font_funcs()</code>: + </p> +<pre class="programlisting"> + hb_font_funcs_t *ffunctions; + ffunctions = hb_font_get_font_funcs (font); + </pre> +<p> + The individual methods can each be replaced with their own setter + function, such as + <code class="function">hb_font_funcs_set_nominal_glyph_func(*ffunctions, + func, *user_data, destroy)</code>. + </p> +<p> + Font-functions structures can be reused for multiple font + objects, and can be reference counted with + <code class="function">hb_font_funcs_reference()</code> and + <code class="function">hb_font_funcs_destroy()</code>. Just like other + objects in HarfBuzz, you can set user-data for each + font-functions structure and assign a destroy callback for + it. + </p> +<p> + You can also mark a font-functions structure as immutable, + with <code class="function">hb_font_funcs_make_immutable()</code>. This + is especially useful if your code is a library or framework that + will have its own client programs. By marking your + font-functions structures as immutable, you prevent your client + programs from changing the configuration and introducing + inconsistencies and errors downstream. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/fonts-and-faces-native-opentype.html b/docs/html/fonts-and-faces-native-opentype.html new file mode 100644 index 0000000..48daf19 --- /dev/null +++ b/docs/html/fonts-and-faces-native-opentype.html @@ -0,0 +1,93 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Font objects and HarfBuzz's native OpenType implementation: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="fonts-and-faces.html" title="Fonts, faces, and output"> +<link rel="prev" href="fonts-and-faces-custom-functions.html" title="Customizing font functions"> +<link rel="next" href="fonts-and-faces-variable.html" title="Working with OpenType Variable Fonts"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="fonts-and-faces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="fonts-and-faces-custom-functions.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="fonts-and-faces-variable.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fonts-and-faces-native-opentype"></a>Font objects and HarfBuzz's native OpenType implementation</h2></div></div></div> +<p> + By default, whenever HarfBuzz creates a font object, it will + configure the font to use a built-in set of font functions that + supports contemporary OpenType font internals. If you want to + work with OpenType or TrueType fonts, you should be able to use + these functions without difficulty. + </p> +<p> + Many of the methods in the font-functions structure deal with + the fundamental properties of glyphs that are required for + shaping text: extents (the maximums and minimums on each axis), + origins (the <code class="literal">(0,0)</code> coordinate point which + glyphs are drawn in reference to), and advances (the amount that + the cursor needs to be moved after drawing each glyph, including + any empty space for the glyph's side bearings). + </p> +<p> + As you can see in the list of functions, there are separate "horizontal" + and "vertical" variants depending on whether the text is set in + the horizontal or vertical direction. For some scripts, fonts + that are designed to support text set horizontally or vertically (for + example, in Japanese) may include metrics for both text + directions. When fonts don't include this information, HarfBuzz + does its best to transform what the font provides. + </p> +<p> + In addition to the direction-specific functions, HarfBuzz + provides some higher-level functions for fetching information + like extents and advances for a glyph. If you call + </p> +<pre class="programlisting"> + hb_font_get_glyph_advance_for_direction(font, direction, extents); + </pre> +<p> + then you can provide any <span class="type">hb_direction_t</span> as the + <em class="parameter"><code>direction</code></em> parameter, and HarfBuzz will + use the correct function variant for the text direction. There + are similar higher-level versions of the functions for fetching + extents, origin coordinates, and contour-point + coordinates. There are also addition and subtraction functions + for moving points with respect to the origin. + </p> +<p> + There are also methods for fetching the glyph ID that + corresponds to a Unicode code point (possibly when followed by a + variation-selector code point), fetching the glyph name from the + font, and fetching the glyph ID that corresponds to a glyph name + you already have. + </p> +<p> + HarfBuzz also provides functions for converting between glyph + names and string + variables. <code class="function">hb_font_glyph_to_string(font, glyph, s, + size)</code> retrieves the name for the glyph ID + <em class="parameter"><code>glyph</code></em> from the font object. It generates a + generic name of the form <code class="literal">gidDDD</code> (where DDD is + the glyph index) if there is no name for the glyph in the + font. The <code class="function">hb_font_glyph_from_string(font, s, len, + glyph)</code> takes an input string <em class="parameter"><code>s</code></em> + and looks for a glyph with that name in the font, returning its + glyph ID in the <em class="parameter"><code>glyph</code></em> + output parameter. It automatically parses + <code class="literal">gidDDD</code> and <code class="literal">uniUUUU</code> strings. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/fonts-and-faces-variable.html b/docs/html/fonts-and-faces-variable.html new file mode 100644 index 0000000..b0a1f39 --- /dev/null +++ b/docs/html/fonts-and-faces-variable.html @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Working with OpenType Variable Fonts: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="fonts-and-faces.html" title="Fonts, faces, and output"> +<link rel="prev" href="fonts-and-faces-native-opentype.html" title="Font objects and HarfBuzz's native OpenType implementation"> +<link rel="next" href="shaping-and-shape-plans.html" title="Shaping and shape plans"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="fonts-and-faces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="fonts-and-faces-native-opentype.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="shaping-and-shape-plans.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="fonts-and-faces-variable"></a>Working with OpenType Variable Fonts</h2></div></div></div> +<p> + If you are working with OpenType Variable Fonts, there are a few + additional functions you should use to specify the + variation-axis settings of your font object. Without doing so, + your variable font's font object can still be used, but only at + the default setting for every axis (which, of course, is + sometimes what you want, but does not cover general usage). + </p> +<p> + HarfBuzz manages variation settings in the + <span class="type">hb_variation_t</span> data type, which holds a <span class="property">tag</span> for the + variation-axis identifier tag and a <span class="property">value</span> for its + setting. You can retrieve the list of variation axes in a font + binary from the face object (not from a font object, notably) by + calling <code class="function">hb_ot_var_get_axis_count(face)</code> to + find the number of axes, then using + <code class="function">hb_ot_var_get_axis_infos()</code> to collect the + axis structures: + </p> +<pre class="programlisting"> + axes = hb_ot_var_get_axis_count(face); + ... + hb_ot_var_get_axis_infos(face, 0, axes, axes_array); + </pre> +<p> + For each axis returned in the array, you can can access the + identifier in its <span class="property">tag</span>. HarfBuzz also has + tag definitions predefined for the five standard axes specified + in OpenType (<code class="literal">ital</code> for italic, + <code class="literal">opsz</code> for optical size, + <code class="literal">slnt</code> for slant, <code class="literal">wdth</code> for + width, and <code class="literal">wght</code> for weight). Each axis also + has a <span class="property">min_value</span>, a + <span class="property">default_value</span>, and a <span class="property">max_value</span>. + </p> +<p> + To set your font object's variation settings, you call the + <code class="function">hb_font_set_variations()</code> function with an + array of <span class="type">hb_variation_t</span> variation settings. Let's + say our font has weight and width axes. We need to specify each + of the axes by tag and assign a value on the axis: + </p> +<pre class="programlisting"> + unsigned int variation_count = 2; + hb_variation_t variation_data[variation_count]; + variation_data[0].tag = HB_OT_TAG_VAR_AXIS_WIDTH; + variation_data[1].tag = HB_OT_TAG_VAR_AXIS_WEIGHT; + variation_data[0].value = 80; + variation_data[1].value = 750; + ... + hb_font_set_variations(font, variation_data, variation_count); + </pre> +<p> + That should give us a slightly condensed font ("normal" on the + <code class="literal">wdth</code> axis is 100) at a noticeably bolder + weight ("regular" is 400 on the <code class="literal">wght</code> axis). + </p> +<p> + In practice, though, you should always check that the value you + want to set on the axis is within the + [<span class="property">min_value</span>,<span class="property">max_value</span>] + range actually implemented in the font's variation axis. After + all, a font might only provide lighter-than-regular weights, and + setting a heavier value on the <code class="literal">wght</code> axis will + not change that. + </p> +<p> + Once your variation settings are specified on your font object, + however, shaping with a variable font is just like shaping a + static font. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/fonts-and-faces.html b/docs/html/fonts-and-faces.html index b5b825f..97a1a7a 100644 --- a/docs/html/fonts-and-faces.html +++ b/docs/html/fonts-and-faces.html @@ -2,12 +2,12 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Fonts and faces: HarfBuzz Manual</title> +<title>Fonts, faces, and output: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> <link rel="up" href="pt01.html" title="Part I. User's manual"> <link rel="prev" href="customizing-unicode-functions.html" title="Customizing Unicode functions"> -<link rel="next" href="using-harfbuzzs-native-opentype-implementation.html" title="Using HarfBuzz's native OpenType implementation"> +<link rel="next" href="fonts-and-faces-custom-functions.html" title="Customizing font functions"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> @@ -17,20 +17,134 @@ <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="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="customizing-unicode-functions.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="using-harfbuzzs-native-opentype-implementation.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +<td><a accesskey="n" href="fonts-and-faces-custom-functions.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="chapter"> <div class="titlepage"><div><div><h2 class="title"> -<a name="fonts-and-faces"></a>Fonts and faces</h2></div></div></div> +<a name="fonts-and-faces"></a>Fonts, faces, and output</h2></div></div></div> <div class="toc"><dl class="toc"> -<dt><span class="section"><a href="fonts-and-faces.html#using-freetype">Using FreeType</a></span></dt> -<dt><span class="section"><a href="using-harfbuzzs-native-opentype-implementation.html">Using HarfBuzz's native OpenType implementation</a></span></dt> -<dt><span class="section"><a href="using-your-own-font-functions.html">Using your own font functions</a></span></dt> +<dt><span class="section"><a href="fonts-and-faces.html#fonts-and-faces-objects">Font and face objects</a></span></dt> +<dt><span class="section"><a href="fonts-and-faces-custom-functions.html">Customizing font functions</a></span></dt> +<dt><span class="section"><a href="fonts-and-faces-native-opentype.html">Font objects and HarfBuzz's native OpenType implementation</a></span></dt> +<dt><span class="section"><a href="fonts-and-faces-variable.html">Working with OpenType Variable Fonts</a></span></dt> </dl></div> +<p> + In the previous chapter, we saw how to set up a buffer and fill + it with text as Unicode code points. In order to shape this + buffer text with HarfBuzz, you will need also need a font + object. + </p> +<p> + HarfBuzz provides abstractions to help you cache and reuse the + heavier parts of working with binary fonts, so we will look at + how to do that. We will also look at how to work with the + FreeType font-rendering library and at how you can customize + HarfBuzz to work with other libraries. + </p> +<p> + Finally, we will look at how to work with OpenType variable + fonts, the latest update to the OpenType font format, and at + some other recent additions to OpenType. + </p> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="using-freetype"></a>Using FreeType</h2></div></div></div> +<a name="fonts-and-faces-objects"></a>Font and face objects</h2></div></div></div> +<p> + The outcome of shaping a run of text depends on the contents of + a specific font file (such as the substitutions and positioning + moves in the 'GSUB' and 'GPOS' tables), so HarfBuzz makes + accessing those internals fast. + </p> +<p> + An <span class="type">hb_face_t</span> represents a <span class="emphasis"><em>face</em></span> + in HarfBuzz. This data type is a wrapper around an + <span class="type">hb_blob_t</span> blob that holds the contents of a binary + font file. Since HarfBuzz supports TrueType Collections and + OpenType Collections (each of which can include multiple + typefaces), a HarfBuzz face also requires an index number + specifying which typeface in the file you want to use. Most of + the font files you will encounter in the wild include just a + single face, however, so most of the time you would pass in + <code class="literal">0</code> as the index when you create a face: + </p> +<pre class="programlisting"> + hb_blob_t* blob = hb_blob_create_from_file(file); + ... + hb_face_t* face = hb_face_create(blob, 0); + </pre> +<p> + On its own, a face object is not quite ready to use for + shaping. The typeface must be set to a specific point size in + order for some details (such as hinting) to work. In addition, + if the font file in question is an OpenType Variable Font, then + you may need to specify one or variation-axis settings (or a + named instance) in order to get the output you need. + </p> +<p> + In HarfBuzz, you do this by creating a <span class="emphasis"><em>font</em></span> + object from your face. + </p> +<p> + Font objects also have the advantage of being considerably + lighter-weight than face objects (remember that a face contains + the contents of a binary font file mapped into memory). As a + result, you can cache and reuse a font object, but you could + also create a new one for each additional size you needed. + Creating new fonts incurs some additional overhead, of course, + but whether or not it is excessive is your call in the end. In + contrast, face objects are substantially larger, and you really + should cache them and reuse them whenever possible. + </p> +<p> + You can create a font object from a face object: + </p> +<pre class="programlisting"> + hb_font_t* hb_font = hb_font_create(hb_face); + </pre> +<p> + After creating a font, there are a few properties you should + set. Many fonts enable and disable hints based on the size it + is used at, so setting this is important for font + objects. <code class="function">hb_font_set_ppem(font, x_ppem, + y_ppem)</code> sets the pixels-per-EM value of the font. You + can also set the point size of the font with + <code class="function">hb_font_set_ptem(font, ptem)</code>. HarfBuzz uses the + industry standard 72 points per inch. + </p> +<p> + HarfBuzz lets you specify the degree subpixel precision you want + through a scaling factor. You can set horizontal and + vertical scaling factors on the + font by calling <code class="function">hb_font_set_scale(font, x_scale, + y_scale)</code>. + </p> +<p> + There may be times when you are handed a font object and need to + access the face object that it comes from. For that, you can call + </p> +<pre class="programlisting"> + hb_face = hb_font_get_face(hb_font); + </pre> +<p> + You can also create a font object from an existing font object + using the <code class="function">hb_font_create_sub_font()</code> + function. This creates a child font object that is initiated + with the same attributes as its parent; it can be used to + quickly set up a new font for the purpose of overriding a specific + font-functions method. + </p> +<p> + All face objects and font objects are lifecycle-managed by + HarfBuzz. After creating a face, you increase its reference + count with <code class="function">hb_face_reference(face)</code> and + decrease it with + <code class="function">hb_face_destroy(face)</code>. Likewise, you + increase the reference count on a font with + <code class="function">hb_font_reference(font)</code> and decrease it + with <code class="function">hb_font_destroy(font)</code>. + </p> <p> + You can also attach user data to face objects and font objects. </p> </div> </div> diff --git a/docs/html/harfbuzz-hb-aat-layout.html b/docs/html/harfbuzz-hb-aat-layout.html index 55c8b1c..b2e3e01 100644 --- a/docs/html/harfbuzz-hb-aat-layout.html +++ b/docs/html/harfbuzz-hb-aat-layout.html @@ -5,9 +5,9 @@ <title>hb-aat-layout: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch11.html" title="Apple Advanced Typography API"> -<link rel="prev" href="ch11.html" title="Apple Advanced Typography API"> -<link rel="next" href="ch12.html" title="Integration API"> +<link rel="up" href="ch13.html" title="Apple Advanced Typography API"> +<link rel="prev" href="ch13.html" title="Apple Advanced Typography API"> +<link rel="next" href="ch14.html" title="Integration API"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> @@ -15,12 +15,13 @@ <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-aat-layout.description" class="shortcut">Description</a></span> + <a href="#harfbuzz-hb-aat-layout.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> + <a href="#harfbuzz-hb-aat-layout.object-hierarchy" class="shortcut">Object Hierarchy</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="ch11.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="ch11.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="ch12.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></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="ch13.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-aat-layout"></a><div class="titlepage"></div> @@ -112,6 +113,13 @@ </table></div> </div> <div class="refsect1"> +<a name="harfbuzz-hb-aat-layout.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a> + <span class="lineart">├──</span> hb_aat_layout_feature_selector_t + <span class="lineart">╰──</span> hb_aat_layout_feature_type_t +</pre> +</div> +<div class="refsect1"> <a name="harfbuzz-hb-aat-layout.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb-aat.h> </pre> @@ -126,7 +134,7 @@ <a name="hb-aat-layout-feature-type-get-name-id"></a><h3>hb_aat_layout_feature_type_get_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_aat_layout_feature_type_get_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><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-aat-layout.html#hb-aat-layout-feature-type-t" title="enum hb_aat_layout_feature_type_t"><span class="type">hb_aat_layout_feature_type_t</span></a> feature_type</code></em>);</pre> <div class="refsect3"> <a name="hb-aat-layout-feature-type-get-name-id.parameters"></a><h4>Parameters</h4> @@ -161,7 +169,7 @@ hb_aat_layout_feature_type_get_name_id <a name="hb-aat-layout-feature-type-get-selector-infos"></a><h3>hb_aat_layout_feature_type_get_selector_infos ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> hb_aat_layout_feature_type_get_selector_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><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-aat-layout.html#hb-aat-layout-feature-type-t" title="enum hb_aat_layout_feature_type_t"><span class="type">hb_aat_layout_feature_type_t</span></a> feature_type</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> *selector_count</code></em>, @@ -172,7 +180,7 @@ hb_aat_layout_feature_type_get_selector_infos <div class="refsect2"> <a name="hb-aat-layout-get-feature-types"></a><h3>hb_aat_layout_get_feature_types ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_aat_layout_get_feature_types (<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>, +hb_aat_layout_get_feature_types (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> *feature_count</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-aat-layout.html#hb-aat-layout-feature-type-t" title="enum hb_aat_layout_feature_type_t"><span class="type">hb_aat_layout_feature_type_t</span></a> *features</code></em>);</pre> @@ -218,19 +226,19 @@ hb_aat_layout_get_feature_types (<em class="parameter"><code><a class="link" hre <div class="refsect2"> <a name="hb-aat-layout-has-positioning"></a><h3>hb_aat_layout_has_positioning ()</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_aat_layout_has_positioning (<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> +hb_aat_layout_has_positioning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> </div> <hr> <div class="refsect2"> <a name="hb-aat-layout-has-substitution"></a><h3>hb_aat_layout_has_substitution ()</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_aat_layout_has_substitution (<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> +hb_aat_layout_has_substitution (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> </div> <hr> <div class="refsect2"> <a name="hb-aat-layout-has-tracking"></a><h3>hb_aat_layout_has_tracking ()</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_aat_layout_has_tracking (<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> +hb_aat_layout_has_tracking (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> </div> </div> <div class="refsect1"> diff --git a/docs/html/harfbuzz-hb-blob.html b/docs/html/harfbuzz-hb-blob.html index f6ff6e7..6a4cf42 100644 --- a/docs/html/harfbuzz-hb-blob.html +++ b/docs/html/harfbuzz-hb-blob.html @@ -5,8 +5,8 @@ <title>hb-blob: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch09.html" title="Core API"> -<link rel="prev" href="ch09.html" title="Core API"> +<link rel="up" href="ch11.html" title="Core API"> +<link rel="prev" href="ch11.html" title="Core API"> <link rel="next" href="harfbuzz-hb-buffer.html" title="hb-buffer"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> @@ -15,11 +15,12 @@ <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-blob.description" class="shortcut">Description</a></span> + <a href="#harfbuzz-hb-blob.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> + <a href="#harfbuzz-hb-blob.object-hierarchy" class="shortcut">Object Hierarchy</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="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="ch09.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="ch11.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="ch11.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-buffer.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> @@ -41,7 +42,7 @@ <tbody> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * +<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-blob.html#hb-blob-create" title="hb_blob_create ()">hb_blob_create</a> <span class="c_punctuation">()</span> @@ -49,7 +50,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * +<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-blob.html#hb-blob-create-from-file" title="hb_blob_create_from_file ()">hb_blob_create_from_file</a> <span class="c_punctuation">()</span> @@ -57,7 +58,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * +<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-blob.html#hb-blob-create-sub-blob" title="hb_blob_create_sub_blob ()">hb_blob_create_sub_blob</a> <span class="c_punctuation">()</span> @@ -65,7 +66,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * +<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-blob.html#hb-blob-copy-writable-or-fail" title="hb_blob_copy_writable_or_fail ()">hb_blob_copy_writable_or_fail</a> <span class="c_punctuation">()</span> @@ -96,7 +97,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * +<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-blob.html#hb-blob-get-empty" title="hb_blob_get_empty ()">hb_blob_get_empty</a> <span class="c_punctuation">()</span> @@ -135,7 +136,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * +<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-blob.html#hb-blob-reference" title="hb_blob_reference ()">hb_blob_reference</a> <span class="c_punctuation">()</span> @@ -152,7 +153,7 @@ </tbody> </table></div> </div> -<div class="refsect1"> +<a name="hb-blob-t"></a><div class="refsect1"> <a name="harfbuzz-hb-blob.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> @@ -162,7 +163,7 @@ <tbody> <tr> <td class="typedef_keyword">typedef</td> -<td class="function_name"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t">hb_blob_t</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t">hb_blob_t</a></td> </tr> <tr> <td class="datatype_keyword">enum</td> @@ -172,6 +173,14 @@ </table></div> </div> <div class="refsect1"> +<a name="harfbuzz-hb-blob.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a> + <span class="lineart">╰──</span> hb_blob_t + <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a> + <span class="lineart">╰──</span> hb_memory_mode_t +</pre> +</div> +<div class="refsect1"> <a name="harfbuzz-hb-blob.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb.h> </pre> @@ -187,7 +196,7 @@ pass around other binary data.</p> <a name="harfbuzz-hb-blob.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="hb-blob-create"></a><h3>hb_blob_create ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * hb_blob_create (<em class="parameter"><code>const <span class="type">char</span> *data</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> length</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-memory-mode-t" title="enum hb_memory_mode_t"><span class="type">hb_memory_mode_t</span></a> mode</code></em>, @@ -251,7 +260,7 @@ zero. Destroy with <a class="link" href="harfbuzz-hb-blob.html#hb-blob-destroy" <hr> <div class="refsect2"> <a name="hb-blob-create-from-file"></a><h3>hb_blob_create_from_file ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * hb_blob_create_from_file (<em class="parameter"><code>const <span class="type">char</span> *file_name</code></em>);</pre> <div class="refsect3"> <a name="hb-blob-create-from-file.parameters"></a><h4>Parameters</h4> @@ -277,8 +286,8 @@ hb_blob_create_from_file (<em class="parameter"><code>const <span class="type">c <hr> <div class="refsect2"> <a name="hb-blob-create-sub-blob"></a><h3>hb_blob_create_sub_blob ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * -hb_blob_create_sub_blob (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *parent</code></em>, +<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * +hb_blob_create_sub_blob (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *parent</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> offset</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> length</code></em>);</pre> <p>Returns a blob that represents a range of bytes in <em class="parameter"><code>parent</code></em> @@ -331,8 +340,8 @@ with <a class="link" href="harfbuzz-hb-blob.html#hb-blob-destroy" title="hb_blob <hr> <div class="refsect2"> <a name="hb-blob-copy-writable-or-fail"></a><h3>hb_blob_copy_writable_or_fail ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * -hb_blob_copy_writable_or_fail (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * +hb_blob_copy_writable_or_fail (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> <p>Makes a writable copy of <em class="parameter"><code>blob</code></em> .</p> <div class="refsect3"> @@ -360,7 +369,7 @@ hb_blob_copy_writable_or_fail (<em class="parameter"><code><a class="link" href= <div class="refsect2"> <a name="hb-blob-destroy"></a><h3>hb_blob_destroy ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_blob_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> +hb_blob_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> <p>Decreases the reference count on <em class="parameter"><code>blob</code></em> , and if it reaches zero, destroys <em class="parameter"><code>blob</code></em> @@ -389,7 +398,7 @@ was created for if it has not been called already.</p> <div class="refsect2"> <a name="hb-blob-get-data"></a><h3>hb_blob_get_data ()</h3> <pre class="programlisting">const <span class="returnvalue">char</span> * -hb_blob_get_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>, +hb_blob_get_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre> <div class="refsect3"> <a name="hb-blob-get-data.parameters"></a><h4>Parameters</h4> @@ -424,7 +433,7 @@ hb_blob_get_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-blob-get-data-writable"></a><h3>hb_blob_get_data_writable ()</h3> <pre class="programlisting"><span class="returnvalue">char</span> * -hb_blob_get_data_writable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>, +hb_blob_get_data_writable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre> <p>Tries to make blob data writable (possibly copying it) and return pointer to data.</p> @@ -455,7 +464,7 @@ fails.</p> <div class="refsect3"> <a name="hb-blob-get-data-writable.returns"></a><h4>Returns</h4> <p>Writable blob data, -or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if failed. </p> +or <code class="literal">NULL</code> if failed. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span></p> </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> @@ -463,7 +472,7 @@ or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><c <hr> <div class="refsect2"> <a name="hb-blob-get-empty"></a><h3>hb_blob_get_empty ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * hb_blob_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <p>Returns the singleton empty blob.</p> <p>See TODO:link object types for more information.</p> @@ -478,7 +487,7 @@ hb_blob_get_empty (<em class="parameter"><code><span class="type">void</span></c <div class="refsect2"> <a name="hb-blob-get-length"></a><h3>hb_blob_get_length ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_blob_get_length (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> +hb_blob_get_length (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> <div class="refsect3"> <a name="hb-blob-get-length.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -504,8 +513,8 @@ hb_blob_get_length (<em class="parameter"><code><a class="link" href="harfbuzz-h <div class="refsect2"> <a name="hb-blob-get-user-data"></a><h3>hb_blob_get_user_data ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> * -hb_blob_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> +hb_blob_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-blob-get-user-data.parameters"></a><h4>Parameters</h4> @@ -540,7 +549,7 @@ hb_blob_get_user_data (<em class="parameter"><code><a class="link" href="harfbuz <div class="refsect2"> <a name="hb-blob-is-immutable"></a><h3>hb_blob_is_immutable ()</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_blob_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> +hb_blob_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> <div class="refsect3"> <a name="hb-blob-is-immutable.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -566,7 +575,7 @@ hb_blob_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz <div class="refsect2"> <a name="hb-blob-make-immutable"></a><h3>hb_blob_make_immutable ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_blob_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> +hb_blob_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> <div class="refsect3"> <a name="hb-blob-make-immutable.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -587,8 +596,8 @@ hb_blob_make_immutable (<em class="parameter"><code><a class="link" href="harfbu <hr> <div class="refsect2"> <a name="hb-blob-reference"></a><h3>hb_blob_reference ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * -hb_blob_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * +hb_blob_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> <p>Increases the reference count on <em class="parameter"><code>blob</code></em> .</p> <p>See TODO:link object types for more information.</p> @@ -619,8 +628,8 @@ hb_blob_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb <div class="refsect2"> <a name="hb-blob-set-user-data"></a><h3>hb_blob_set_user_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_blob_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, +hb_blob_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, <em class="parameter"><code><span class="type">void</span> *data</code></em>, <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>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre> diff --git a/docs/html/harfbuzz-hb-buffer.html b/docs/html/harfbuzz-hb-buffer.html index 1aeee6f..0ab8ae1 100644 --- a/docs/html/harfbuzz-hb-buffer.html +++ b/docs/html/harfbuzz-hb-buffer.html @@ -5,7 +5,7 @@ <title>hb-buffer: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch09.html" title="Core API"> +<link rel="up" href="ch11.html" title="Core API"> <link rel="prev" href="harfbuzz-hb-blob.html" title="hb-blob"> <link rel="next" href="harfbuzz-hb-common.html" title="hb-common"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -15,10 +15,11 @@ <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-buffer.description" class="shortcut">Description</a></span> + <a href="#harfbuzz-hb-buffer.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> + <a href="#harfbuzz-hb-buffer.object-hierarchy" class="shortcut">Object Hierarchy</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="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch11.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-blob.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-common.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -41,7 +42,7 @@ <tbody> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="returnvalue">hb_buffer_t</span></a> * +<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-create" title="hb_buffer_create ()">hb_buffer_create</a> <span class="c_punctuation">()</span> @@ -49,7 +50,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="returnvalue">hb_buffer_t</span></a> * +<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-reference" title="hb_buffer_reference ()">hb_buffer_reference</a> <span class="c_punctuation">()</span> @@ -57,7 +58,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="returnvalue">hb_buffer_t</span></a> * +<a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-empty" title="hb_buffer_get_empty ()">hb_buffer_get_empty</a> <span class="c_punctuation">()</span> @@ -304,7 +305,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-unicode-funcs" title="hb_buffer_get_unicode_funcs ()">hb_buffer_get_unicode_funcs</a> <span class="c_punctuation">()</span> @@ -336,7 +337,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t" title="hb_glyph_position_t"><span class="returnvalue">hb_glyph_position_t</span></a> * +<a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t"><span class="returnvalue">hb_glyph_position_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-glyph-positions" title="hb_buffer_get_glyph_positions ()">hb_buffer_get_glyph_positions</a> <span class="c_punctuation">()</span> @@ -493,7 +494,7 @@ </tbody> </table></div> </div> -<div class="refsect1"> +<a name="hb-buffer-t"></a><a name="hb-glyph-position-t"></a><a name="hb-segment-properties-t"></a><div class="refsect1"> <a name="harfbuzz-hb-buffer.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> @@ -511,7 +512,7 @@ </tr> <tr> <td class="typedef_keyword">typedef</td> -<td class="function_name"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t">hb_buffer_t</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t">hb_buffer_t</a></td> </tr> <tr> <td class="datatype_keyword">enum</td> @@ -519,7 +520,7 @@ </tr> <tr> <td class="datatype_keyword"> </td> -<td class="function_name"><a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t" title="hb_glyph_position_t">hb_glyph_position_t</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t-struct" title="hb_glyph_position_t">hb_glyph_position_t</a></td> </tr> <tr> <td class="datatype_keyword">enum</td> @@ -535,7 +536,7 @@ </tr> <tr> <td class="datatype_keyword"> </td> -<td class="function_name"><a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t">hb_segment_properties_t</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t-struct" title="hb_segment_properties_t">hb_segment_properties_t</a></td> </tr> <tr> <td class="datatype_keyword">enum</td> @@ -553,6 +554,23 @@ </table></div> </div> <div class="refsect1"> +<a name="harfbuzz-hb-buffer.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a> + <span class="lineart">├──</span> hb_buffer_t + <span class="lineart">├──</span> hb_glyph_position_t + <span class="lineart">╰──</span> hb_segment_properties_t + <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a> + <span class="lineart">├──</span> hb_buffer_cluster_level_t + <span class="lineart">├──</span> hb_buffer_content_type_t + <span class="lineart">╰──</span> hb_buffer_serialize_format_t + <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GFlags</a> + <span class="lineart">├──</span> hb_buffer_diff_flags_t + <span class="lineart">├──</span> hb_buffer_flags_t + <span class="lineart">├──</span> hb_buffer_serialize_flags_t + <span class="lineart">╰──</span> hb_glyph_flags_t +</pre> +</div> +<div class="refsect1"> <a name="harfbuzz-hb-buffer.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb.h> </pre> @@ -566,16 +584,16 @@ passed to <a class="link" href="harfbuzz-hb-shape.html#hb-shape" title="hb_shape <a name="harfbuzz-hb-buffer.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="hb-buffer-create"></a><h3>hb_buffer_create ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="returnvalue">hb_buffer_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> * hb_buffer_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> -<p>Creates a new <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> with all properties to defaults.</p> +<p>Creates a new <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> with all properties to defaults.</p> <p><span class="annotation">[Xconstructor]</span></p> <div class="refsect3"> <a name="hb-buffer-create.returns"></a><h4>Returns</h4> -<p>A newly allocated <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> with a reference count of 1. The initial +<p>A newly allocated <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> with a reference count of 1. The initial reference count should be released with <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-destroy" title="hb_buffer_destroy ()"><code class="function">hb_buffer_destroy()</code></a> when you are done -using the <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>. This function never returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. If memory cannot -be allocated, a special <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> object will be returned on which +using the <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>. This function never returns <code class="literal">NULL</code>. If memory cannot +be allocated, a special <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> object will be returned on which <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-allocation-successful" title="hb_buffer_allocation_successful ()"><code class="function">hb_buffer_allocation_successful()</code></a> returns <code class="literal">false</code>. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> @@ -584,8 +602,8 @@ be allocated, a special <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer- <hr> <div class="refsect2"> <a name="hb-buffer-reference"></a><h3>hb_buffer_reference ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="returnvalue">hb_buffer_t</span></a> * -hb_buffer_reference (<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>);</pre> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> * +hb_buffer_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>Increases the reference count on <em class="parameter"><code>buffer</code></em> by one. This prevents <em class="parameter"><code>buffer</code></em> from @@ -601,14 +619,14 @@ being destroyed until a matching call to <a class="link" href="harfbuzz-hb-buffe </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="hb-buffer-reference.returns"></a><h4>Returns</h4> -<p>The referenced <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>. </p> +<p>The referenced <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </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> @@ -616,7 +634,7 @@ being destroyed until a matching call to <a class="link" href="harfbuzz-hb-buffe <hr> <div class="refsect2"> <a name="hb-buffer-get-empty"></a><h3>hb_buffer_get_empty ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="returnvalue">hb_buffer_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="returnvalue">hb_buffer_t</span></a> * hb_buffer_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <div class="refsect3"> <a name="hb-buffer-get-empty.returns"></a><h4>Returns</h4> @@ -629,7 +647,7 @@ hb_buffer_get_empty (<em class="parameter"><code><span class="type">void</span>< <div class="refsect2"> <a name="hb-buffer-destroy"></a><h3>hb_buffer_destroy ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_destroy (<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>);</pre> +hb_buffer_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>Deallocate the <em class="parameter"><code>buffer</code></em> . Decreases the reference count on <em class="parameter"><code>buffer</code></em> @@ -647,7 +665,7 @@ Decreases the reference count on <em class="parameter"><code>buffer</code></em> </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -658,7 +676,7 @@ Decreases the reference count on <em class="parameter"><code>buffer</code></em> <div class="refsect2"> <a name="hb-buffer-reset"></a><h3>hb_buffer_reset ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_reset (<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>);</pre> +hb_buffer_reset (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>Resets the buffer to its initial status, as if it was just newly created with <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-create" title="hb_buffer_create ()"><code class="function">hb_buffer_create()</code></a>.</p> <div class="refsect3"> @@ -671,7 +689,7 @@ with <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-create" title="hb_b </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -682,7 +700,7 @@ with <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-create" title="hb_b <div class="refsect2"> <a name="hb-buffer-clear-contents"></a><h3>hb_buffer_clear_contents ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_clear_contents (<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>);</pre> +hb_buffer_clear_contents (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>Similar to <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-reset" title="hb_buffer_reset ()"><code class="function">hb_buffer_reset()</code></a>, but does not clear the Unicode functions and the replacement code point.</p> <div class="refsect3"> @@ -695,7 +713,7 @@ the replacement code point.</p> </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -706,7 +724,7 @@ the replacement code point.</p> <div class="refsect2"> <a name="hb-buffer-pre-allocate"></a><h3>hb_buffer_pre_allocate ()</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_buffer_pre_allocate (<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>, +hb_buffer_pre_allocate (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre> <p>Pre allocates memory for <em class="parameter"><code>buffer</code></em> to fit at least <em class="parameter"><code>size</code></em> @@ -722,7 +740,7 @@ hb_buffer_pre_allocate (<em class="parameter"><code><a class="link" href="harfbu <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -744,7 +762,7 @@ memory allocation succeeded, <code class="literal">false</code> otherwise.</p> <div class="refsect2"> <a name="hb-buffer-allocation-successful"></a><h3>hb_buffer_allocation_successful ()</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_buffer_allocation_successful (<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>);</pre> +hb_buffer_allocation_successful (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>Check if allocating memory for the buffer succeeded.</p> <div class="refsect3"> <a name="hb-buffer-allocation-successful.parameters"></a><h4>Parameters</h4> @@ -756,7 +774,7 @@ hb_buffer_allocation_successful (<em class="parameter"><code><a class="link" hre </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -772,7 +790,7 @@ memory allocation succeeded, <code class="literal">false</code> otherwise.</p> <div class="refsect2"> <a name="hb-buffer-add"></a><h3>hb_buffer_add ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_add (<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>, +hb_buffer_add (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> codepoint</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> cluster</code></em>);</pre> <p>Appends a character with the Unicode value of <em class="parameter"><code>codepoint</code></em> @@ -797,7 +815,7 @@ caller to ensure it is a valid Unicode code point.</p> <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -820,7 +838,7 @@ caller to ensure it is a valid Unicode code point.</p> <div class="refsect2"> <a name="hb-buffer-add-codepoints"></a><h3>hb_buffer_add_codepoints ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_add_codepoints (<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>, +hb_buffer_add_codepoints (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#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-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *text</code></em>, <em class="parameter"><code><span class="type">int</span> text_length</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> item_offset</code></em>, @@ -855,7 +873,7 @@ to ensure it contains a valid Unicode code points.</p> <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>a <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> to append characters to.</p></td> +<td class="parameter_description"><p>a <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> to append characters to.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -866,7 +884,7 @@ to ensure it contains a valid Unicode code points.</p> <tr> <td class="parameter_name"><p>text_length</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>text</code></em> -, or -1 if it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated.</p></td> +, or -1 if it is <code class="literal">NULL</code> terminated.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -880,7 +898,7 @@ to ensure it contains a valid Unicode code points.</p> <td class="parameter_description"><p>the number of code points to add to the <em class="parameter"><code>buffer</code></em> , or -1 for the end of <em class="parameter"><code>text</code></em> -(assuming it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated).</p></td> +(assuming it is <code class="literal">NULL</code> terminated).</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -892,7 +910,7 @@ end of <em class="parameter"><code>text</code></em> <div class="refsect2"> <a name="hb-buffer-add-utf32"></a><h3>hb_buffer_add_utf32 ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_add_utf32 (<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>, +hb_buffer_add_utf32 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code>const <span class="type">uint32_t</span> *text</code></em>, <em class="parameter"><code><span class="type">int</span> text_length</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> item_offset</code></em>, @@ -912,7 +930,7 @@ see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-replacement-code <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -923,7 +941,7 @@ see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-replacement-code <tr> <td class="parameter_name"><p>text_length</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>text</code></em> -, or -1 if it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated.</p></td> +, or -1 if it is <code class="literal">NULL</code> terminated.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -937,7 +955,7 @@ see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-replacement-code <td class="parameter_description"><p>the number of characters to add to the <em class="parameter"><code>buffer</code></em> , or -1 for the end of <em class="parameter"><code>text</code></em> -(assuming it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated).</p></td> +(assuming it is <code class="literal">NULL</code> terminated).</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -949,7 +967,7 @@ end of <em class="parameter"><code>text</code></em> <div class="refsect2"> <a name="hb-buffer-add-utf16"></a><h3>hb_buffer_add_utf16 ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_add_utf16 (<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>, +hb_buffer_add_utf16 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code>const <span class="type">uint16_t</span> *text</code></em>, <em class="parameter"><code><span class="type">int</span> text_length</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> item_offset</code></em>, @@ -969,7 +987,7 @@ see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-replacement-code <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -980,7 +998,7 @@ see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-replacement-code <tr> <td class="parameter_name"><p>text_length</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>text</code></em> -, or -1 if it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated.</p></td> +, or -1 if it is <code class="literal">NULL</code> terminated.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -994,7 +1012,7 @@ see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-replacement-code <td class="parameter_description"><p>the number of characters to add to the <em class="parameter"><code>buffer</code></em> , or -1 for the end of <em class="parameter"><code>text</code></em> -(assuming it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated).</p></td> +(assuming it is <code class="literal">NULL</code> terminated).</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -1006,7 +1024,7 @@ end of <em class="parameter"><code>text</code></em> <div class="refsect2"> <a name="hb-buffer-add-utf8"></a><h3>hb_buffer_add_utf8 ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_add_utf8 (<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>, +hb_buffer_add_utf8 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code>const <span class="type">char</span> *text</code></em>, <em class="parameter"><code><span class="type">int</span> text_length</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> item_offset</code></em>, @@ -1026,7 +1044,7 @@ see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-replacement-code <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -1038,7 +1056,7 @@ characters to append. </p></td> <tr> <td class="parameter_name"><p>text_length</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>text</code></em> -, or -1 if it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated.</p></td> +, or -1 if it is <code class="literal">NULL</code> terminated.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -1052,7 +1070,7 @@ characters to append. </p></td> <td class="parameter_description"><p>the number of characters to add to the <em class="parameter"><code>buffer</code></em> , or -1 for the end of <em class="parameter"><code>text</code></em> -(assuming it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated).</p></td> +(assuming it is <code class="literal">NULL</code> terminated).</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -1064,7 +1082,7 @@ end of <em class="parameter"><code>text</code></em> <div class="refsect2"> <a name="hb-buffer-add-latin1"></a><h3>hb_buffer_add_latin1 ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_add_latin1 (<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>, +hb_buffer_add_latin1 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code>const <span class="type">uint8_t</span> *text</code></em>, <em class="parameter"><code><span class="type">int</span> text_length</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> item_offset</code></em>, @@ -1083,7 +1101,7 @@ Unicode code points that can fit in 8-bit strings.</p> <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -1095,7 +1113,7 @@ characters to append. </p></td> <tr> <td class="parameter_name"><p>text_length</p></td> <td class="parameter_description"><p>the length of the <em class="parameter"><code>text</code></em> -, or -1 if it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated.</p></td> +, or -1 if it is <code class="literal">NULL</code> terminated.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -1109,7 +1127,7 @@ characters to append. </p></td> <td class="parameter_description"><p>the number of characters to add to the <em class="parameter"><code>buffer</code></em> , or -1 for the end of <em class="parameter"><code>text</code></em> -(assuming it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated).</p></td> +(assuming it is <code class="literal">NULL</code> terminated).</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -1121,8 +1139,8 @@ end of <em class="parameter"><code>text</code></em> <div class="refsect2"> <a name="hb-buffer-append"></a><h3>hb_buffer_append ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_append (<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><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *source</code></em>, +hb_buffer_append (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *source</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> start</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> end</code></em>);</pre> <p>Append (part of) contents of another buffer to this buffer.</p> @@ -1137,12 +1155,12 @@ hb_buffer_append (<em class="parameter"><code><a class="link" href="harfbuzz-hb- <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>source</p></td> -<td class="parameter_description"><p>source <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>source <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -1164,7 +1182,7 @@ hb_buffer_append (<em class="parameter"><code><a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-buffer-set-content-type"></a><h3>hb_buffer_set_content_type ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_set_content_type (<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>, +hb_buffer_set_content_type (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-content-type-t" title="enum hb_buffer_content_type_t"><span class="type">hb_buffer_content_type_t</span></a> content_type</code></em>);</pre> <p>Sets the type of <em class="parameter"><code>buffer</code></em> contents, buffers are either empty, contain @@ -1180,7 +1198,7 @@ characters (before shaping) or glyphs (the result of shaping).</p> <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -1197,7 +1215,7 @@ characters (before shaping) or glyphs (the result of shaping).</p> <div class="refsect2"> <a name="hb-buffer-get-content-type"></a><h3>hb_buffer_get_content_type ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-content-type-t" title="enum hb_buffer_content_type_t"><span class="returnvalue">hb_buffer_content_type_t</span></a> -hb_buffer_get_content_type (<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>);</pre> +hb_buffer_get_content_type (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-content-type" title="hb_buffer_set_content_type ()"><code class="function">hb_buffer_set_content_type()</code></a>.</p> <div class="refsect3"> <a name="hb-buffer-get-content-type.parameters"></a><h4>Parameters</h4> @@ -1209,7 +1227,7 @@ hb_buffer_get_content_type (<em class="parameter"><code><a class="link" href="ha </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -1225,7 +1243,7 @@ contents.</p> <div class="refsect2"> <a name="hb-buffer-set-direction"></a><h3>hb_buffer_set_direction ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_set_direction (<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>, +hb_buffer_set_direction (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>);</pre> <p>Set the text flow direction of the buffer. No shaping can happen without setting <em class="parameter"><code>buffer</code></em> @@ -1246,7 +1264,7 @@ direction.</p> <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -1264,7 +1282,7 @@ direction.</p> <div class="refsect2"> <a name="hb-buffer-get-direction"></a><h3>hb_buffer_get_direction ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="returnvalue">hb_direction_t</span></a> -hb_buffer_get_direction (<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>);</pre> +hb_buffer_get_direction (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>See <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-direction" title="hb_buffer_set_direction ()"><code class="function">hb_buffer_set_direction()</code></a></p> <div class="refsect3"> <a name="hb-buffer-get-direction.parameters"></a><h4>Parameters</h4> @@ -1276,7 +1294,7 @@ hb_buffer_get_direction (<em class="parameter"><code><a class="link" href="harfb </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -1292,7 +1310,7 @@ hb_buffer_get_direction (<em class="parameter"><code><a class="link" href="harfb <div class="refsect2"> <a name="hb-buffer-set-script"></a><h3>hb_buffer_set_script ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_set_script (<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>, +hb_buffer_set_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> script</code></em>);</pre> <p>Sets the script of <em class="parameter"><code>buffer</code></em> to <em class="parameter"><code>script</code></em> @@ -1314,7 +1332,7 @@ corresponding script from an ISO 15924 script tag.</p> <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -1331,7 +1349,7 @@ corresponding script from an ISO 15924 script tag.</p> <div class="refsect2"> <a name="hb-buffer-get-script"></a><h3>hb_buffer_get_script ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="returnvalue">hb_script_t</span></a> -hb_buffer_get_script (<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>);</pre> +hb_buffer_get_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>See <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-script" title="hb_buffer_set_script ()"><code class="function">hb_buffer_set_script()</code></a>.</p> <div class="refsect3"> <a name="hb-buffer-get-script.parameters"></a><h4>Parameters</h4> @@ -1343,7 +1361,7 @@ hb_buffer_get_script (<em class="parameter"><code><a class="link" href="harfbuzz </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -1359,7 +1377,7 @@ hb_buffer_get_script (<em class="parameter"><code><a class="link" href="harfbuzz <div class="refsect2"> <a name="hb-buffer-set-language"></a><h3>hb_buffer_set_language ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_set_language (<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>, +hb_buffer_set_language (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> language</code></em>);</pre> <p>Sets the language of <em class="parameter"><code>buffer</code></em> to <em class="parameter"><code>language</code></em> @@ -1381,7 +1399,7 @@ different concepts and should not be confused with each other.</p> <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -1398,7 +1416,7 @@ different concepts and should not be confused with each other.</p> <div class="refsect2"> <a name="hb-buffer-get-language"></a><h3>hb_buffer_get_language ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="returnvalue">hb_language_t</span></a> -hb_buffer_get_language (<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>);</pre> +hb_buffer_get_language (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>See <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-language" title="hb_buffer_set_language ()"><code class="function">hb_buffer_set_language()</code></a>.</p> <div class="refsect3"> <a name="hb-buffer-get-language.parameters"></a><h4>Parameters</h4> @@ -1410,7 +1428,7 @@ hb_buffer_get_language (<em class="parameter"><code><a class="link" href="harfbu </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -1426,7 +1444,7 @@ hb_buffer_get_language (<em class="parameter"><code><a class="link" href="harfbu <div class="refsect2"> <a name="hb-buffer-set-flags"></a><h3>hb_buffer_set_flags ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_set_flags (<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>, +hb_buffer_set_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-flags-t" title="enum hb_buffer_flags_t"><span class="type">hb_buffer_flags_t</span></a> flags</code></em>);</pre> <p>Sets <em class="parameter"><code>buffer</code></em> flags to <em class="parameter"><code>flags</code></em> @@ -1442,7 +1460,7 @@ hb_buffer_set_flags (<em class="parameter"><code><a class="link" href="harfbuzz- <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -1459,7 +1477,7 @@ hb_buffer_set_flags (<em class="parameter"><code><a class="link" href="harfbuzz- <div class="refsect2"> <a name="hb-buffer-get-flags"></a><h3>hb_buffer_get_flags ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-flags-t" title="enum hb_buffer_flags_t"><span class="returnvalue">hb_buffer_flags_t</span></a> -hb_buffer_get_flags (<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>);</pre> +hb_buffer_get_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>See <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-flags" title="hb_buffer_set_flags ()"><code class="function">hb_buffer_set_flags()</code></a>.</p> <div class="refsect3"> <a name="hb-buffer-get-flags.parameters"></a><h4>Parameters</h4> @@ -1471,7 +1489,7 @@ hb_buffer_get_flags (<em class="parameter"><code><a class="link" href="harfbuzz- </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -1487,7 +1505,7 @@ flags.</p> <div class="refsect2"> <a name="hb-buffer-set-cluster-level"></a><h3>hb_buffer_set_cluster_level ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_set_cluster_level (<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>, +hb_buffer_set_cluster_level (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-cluster-level-t" title="enum hb_buffer_cluster_level_t"><span class="type">hb_buffer_cluster_level_t</span></a> cluster_level</code></em>);</pre> <div class="refsect3"> <a name="hb-buffer-set-cluster-level.parameters"></a><h4>Parameters</h4> @@ -1499,7 +1517,7 @@ hb_buffer_set_cluster_level (<em class="parameter"><code><a class="link" href="h </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -1510,7 +1528,7 @@ hb_buffer_set_cluster_level (<em class="parameter"><code><a class="link" href="h <div class="refsect2"> <a name="hb-buffer-get-cluster-level"></a><h3>hb_buffer_get_cluster_level ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-cluster-level-t" title="enum hb_buffer_cluster_level_t"><span class="returnvalue">hb_buffer_cluster_level_t</span></a> -hb_buffer_get_cluster_level (<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>);</pre> +hb_buffer_get_cluster_level (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <div class="refsect3"> <a name="hb-buffer-get-cluster-level.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -1521,7 +1539,7 @@ hb_buffer_get_cluster_level (<em class="parameter"><code><a class="link" href="h </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -1532,7 +1550,7 @@ hb_buffer_get_cluster_level (<em class="parameter"><code><a class="link" href="h <div class="refsect2"> <a name="hb-buffer-set-length"></a><h3>hb_buffer_set_length ()</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_buffer_set_length (<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>, +hb_buffer_set_length (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> length</code></em>);</pre> <p>Similar to <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-pre-allocate" title="hb_buffer_pre_allocate ()"><code class="function">hb_buffer_pre_allocate()</code></a>, but clears any new items added at the end.</p> @@ -1547,7 +1565,7 @@ end.</p> <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -1570,7 +1588,7 @@ memory allocation succeeded, <code class="literal">false</code> otherwise.</p> <div class="refsect2"> <a name="hb-buffer-get-length"></a><h3>hb_buffer_get_length ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_buffer_get_length (<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>);</pre> +hb_buffer_get_length (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>Returns the number of items in the buffer.</p> <div class="refsect3"> <a name="hb-buffer-get-length.parameters"></a><h4>Parameters</h4> @@ -1582,7 +1600,7 @@ hb_buffer_get_length (<em class="parameter"><code><a class="link" href="harfbuzz </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -1599,8 +1617,8 @@ The value valid as long as buffer has not been modified.</p> <div class="refsect2"> <a name="hb-buffer-set-segment-properties"></a><h3>hb_buffer_set_segment_properties ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_set_segment_properties (<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-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>);</pre> +hb_buffer_set_segment_properties (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#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-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>);</pre> <p>Sets the segment properties of the buffer, a shortcut for calling <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-direction" title="hb_buffer_set_direction ()"><code class="function">hb_buffer_set_direction()</code></a>, <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-script" title="hb_buffer_set_script ()"><code class="function">hb_buffer_set_script()</code></a> and <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-language" title="hb_buffer_set_language ()"><code class="function">hb_buffer_set_language()</code></a> individually.</p> @@ -1615,12 +1633,12 @@ hb_buffer_set_segment_properties (<em class="parameter"><code><a class="link" hr <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>props</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> to use.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> to use.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -1632,10 +1650,10 @@ hb_buffer_set_segment_properties (<em class="parameter"><code><a class="link" hr <div class="refsect2"> <a name="hb-buffer-get-segment-properties"></a><h3>hb_buffer_get_segment_properties ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_get_segment_properties (<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><a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>);</pre> +hb_buffer_get_segment_properties (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>);</pre> <p>Sets <em class="parameter"><code>props</code></em> - to the <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> of <em class="parameter"><code>buffer</code></em> + to the <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> of <em class="parameter"><code>buffer</code></em> .</p> <div class="refsect3"> <a name="hb-buffer-get-segment-properties.parameters"></a><h4>Parameters</h4> @@ -1648,12 +1666,12 @@ hb_buffer_get_segment_properties (<em class="parameter"><code><a class="link" hr <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>props</p></td> -<td class="parameter_description"><p>the output <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a>. </p></td> +<td class="parameter_description"><p>the output <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a>. </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> @@ -1665,7 +1683,7 @@ hb_buffer_get_segment_properties (<em class="parameter"><code><a class="link" hr <div class="refsect2"> <a name="hb-buffer-guess-segment-properties"></a><h3>hb_buffer_guess_segment_properties ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_guess_segment_properties (<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>);</pre> +hb_buffer_guess_segment_properties (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>Sets unset buffer segment properties based on buffer Unicode contents. If buffer is not empty, it must have content type <a class="link" href="harfbuzz-hb-buffer.html#HB-BUFFER-CONTENT-TYPE-UNICODE:CAPS"><code class="literal">HB_BUFFER_CONTENT_TYPE_UNICODE</code></a>.</p> @@ -1694,7 +1712,7 @@ it is called. See documentation for that function for details.</p> </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -1705,8 +1723,8 @@ it is called. See documentation for that function for details.</p> <div class="refsect2"> <a name="hb-buffer-set-unicode-funcs"></a><h3>hb_buffer_set_unicode_funcs ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_set_unicode_funcs (<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><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *unicode_funcs</code></em>);</pre> +hb_buffer_set_unicode_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *unicode_funcs</code></em>);</pre> <div class="refsect3"> <a name="hb-buffer-set-unicode-funcs.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -1717,7 +1735,7 @@ hb_buffer_set_unicode_funcs (<em class="parameter"><code><a class="link" href="h </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -1727,8 +1745,8 @@ hb_buffer_set_unicode_funcs (<em class="parameter"><code><a class="link" href="h <hr> <div class="refsect2"> <a name="hb-buffer-get-unicode-funcs"></a><h3>hb_buffer_get_unicode_funcs ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * -hb_buffer_get_unicode_funcs (<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>);</pre> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +hb_buffer_get_unicode_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <div class="refsect3"> <a name="hb-buffer-get-unicode-funcs.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -1739,7 +1757,7 @@ hb_buffer_get_unicode_funcs (<em class="parameter"><code><a class="link" href="h </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -1750,8 +1768,8 @@ hb_buffer_get_unicode_funcs (<em class="parameter"><code><a class="link" href="h <div class="refsect2"> <a name="hb-buffer-set-user-data"></a><h3>hb_buffer_set_user_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_buffer_set_user_data (<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><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, +hb_buffer_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, <em class="parameter"><code><span class="type">void</span> *data</code></em>, <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>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre> @@ -1766,7 +1784,7 @@ hb_buffer_set_user_data (<em class="parameter"><code><a class="link" href="harfb </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -1777,8 +1795,8 @@ hb_buffer_set_user_data (<em class="parameter"><code><a class="link" href="harfb <div class="refsect2"> <a name="hb-buffer-get-user-data"></a><h3>hb_buffer_get_user_data ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> * -hb_buffer_get_user_data (<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><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> +hb_buffer_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-buffer-get-user-data.parameters"></a><h4>Parameters</h4> @@ -1790,7 +1808,7 @@ hb_buffer_get_user_data (<em class="parameter"><code><a class="link" href="harfb </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -1801,7 +1819,7 @@ hb_buffer_get_user_data (<em class="parameter"><code><a class="link" href="harfb <div class="refsect2"> <a name="hb-buffer-get-glyph-infos"></a><h3>hb_buffer_get_glyph_infos ()</h3> <pre class="programlisting"><span class="returnvalue">hb_glyph_info_t</span> * -hb_buffer_get_glyph_infos (<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>, +hb_buffer_get_glyph_infos (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre> <p>Returns <em class="parameter"><code>buffer</code></em> glyph information array. Returned pointer @@ -1818,7 +1836,7 @@ is valid as long as <em class="parameter"><code>buffer</code></em> <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -1841,8 +1859,8 @@ The value valid as long as buffer has not been modified. </p> <hr> <div class="refsect2"> <a name="hb-buffer-get-glyph-positions"></a><h3>hb_buffer_get_glyph_positions ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t" title="hb_glyph_position_t"><span class="returnvalue">hb_glyph_position_t</span></a> * -hb_buffer_get_glyph_positions (<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>, +<pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t"><span class="returnvalue">hb_glyph_position_t</span></a> * +hb_buffer_get_glyph_positions (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre> <p>Returns <em class="parameter"><code>buffer</code></em> glyph position array. Returned pointer @@ -1859,7 +1877,7 @@ is valid as long as <em class="parameter"><code>buffer</code></em> <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -1883,7 +1901,7 @@ The value valid as long as buffer has not been modified. </p> <div class="refsect2"> <a name="hb-buffer-get-invisible-glyph"></a><h3>hb_buffer_get_invisible_glyph ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a> -hb_buffer_get_invisible_glyph (<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>);</pre> +hb_buffer_get_invisible_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>See <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-invisible-glyph" title="hb_buffer_set_invisible_glyph ()"><code class="function">hb_buffer_set_invisible_glyph()</code></a>.</p> <div class="refsect3"> <a name="hb-buffer-get-invisible-glyph.parameters"></a><h4>Parameters</h4> @@ -1895,7 +1913,7 @@ hb_buffer_get_invisible_glyph (<em class="parameter"><code><a class="link" href= </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -1911,7 +1929,7 @@ invisible <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="h <div class="refsect2"> <a name="hb-buffer-set-invisible-glyph"></a><h3>hb_buffer_set_invisible_glyph ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_set_invisible_glyph (<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>, +hb_buffer_set_invisible_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> invisible</code></em>);</pre> <p>Sets the <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> that replaces invisible characters in the shaping result. If set to zero (default), the glyph for the @@ -1928,7 +1946,7 @@ verbatim.</p> <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -1945,7 +1963,7 @@ verbatim.</p> <div class="refsect2"> <a name="hb-buffer-set-replacement-codepoint"></a><h3>hb_buffer_set_replacement_codepoint ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_set_replacement_codepoint (<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>, +hb_buffer_set_replacement_codepoint (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> replacement</code></em>);</pre> <p>Sets the <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> that replaces invalid entries for a given encoding when adding text to <em class="parameter"><code>buffer</code></em> @@ -1962,7 +1980,7 @@ when adding text to <em class="parameter"><code>buffer</code></em> <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -1979,7 +1997,7 @@ when adding text to <em class="parameter"><code>buffer</code></em> <div class="refsect2"> <a name="hb-buffer-get-replacement-codepoint"></a><h3>hb_buffer_get_replacement_codepoint ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a> -hb_buffer_get_replacement_codepoint (<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>);</pre> +hb_buffer_get_replacement_codepoint (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>See <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-replacement-codepoint" title="hb_buffer_set_replacement_codepoint ()"><code class="function">hb_buffer_set_replacement_codepoint()</code></a>.</p> <div class="refsect3"> <a name="hb-buffer-get-replacement-codepoint.parameters"></a><h4>Parameters</h4> @@ -1991,7 +2009,7 @@ hb_buffer_get_replacement_codepoint (<em class="parameter"><code><a class="link" </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -2007,7 +2025,7 @@ replacement <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title= <div class="refsect2"> <a name="hb-buffer-normalize-glyphs"></a><h3>hb_buffer_normalize_glyphs ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_normalize_glyphs (<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>);</pre> +hb_buffer_normalize_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>Reorders a glyph buffer to have canonical in-cluster glyph order / position. The resulting clusters should behave identical to pre-reordering clusters.</p> <div class="note">This has nothing to do with Unicode normalization.</div> @@ -2021,7 +2039,7 @@ The resulting clusters should behave identical to pre-reordering clusters.</p> </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -2032,7 +2050,7 @@ The resulting clusters should behave identical to pre-reordering clusters.</p> <div class="refsect2"> <a name="hb-buffer-reverse"></a><h3>hb_buffer_reverse ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_reverse (<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>);</pre> +hb_buffer_reverse (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>Reverses buffer contents.</p> <div class="refsect3"> <a name="hb-buffer-reverse.parameters"></a><h4>Parameters</h4> @@ -2044,7 +2062,7 @@ hb_buffer_reverse (<em class="parameter"><code><a class="link" href="harfbuzz-hb </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -2055,7 +2073,7 @@ hb_buffer_reverse (<em class="parameter"><code><a class="link" href="harfbuzz-hb <div class="refsect2"> <a name="hb-buffer-reverse-range"></a><h3>hb_buffer_reverse_range ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_reverse_range (<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>, +hb_buffer_reverse_range (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> start</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> end</code></em>);</pre> <p>Reverses buffer contents between start to end.</p> @@ -2070,7 +2088,7 @@ hb_buffer_reverse_range (<em class="parameter"><code><a class="link" href="harfb <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -2092,7 +2110,7 @@ hb_buffer_reverse_range (<em class="parameter"><code><a class="link" href="harfb <div class="refsect2"> <a name="hb-buffer-reverse-clusters"></a><h3>hb_buffer_reverse_clusters ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_reverse_clusters (<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>);</pre> +hb_buffer_reverse_clusters (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>);</pre> <p>Reverses buffer clusters. That is, the buffer contents are reversed, then each cluster (consecutive items having the same cluster number) are reversed again.</p> @@ -2106,7 +2124,7 @@ same cluster number) are reversed again.</p> </colgroup> <tbody><tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -2117,13 +2135,13 @@ same cluster number) are reversed again.</p> <div class="refsect2"> <a name="hb-buffer-serialize-glyphs"></a><h3>hb_buffer_serialize_glyphs ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_buffer_serialize_glyphs (<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>, +hb_buffer_serialize_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> start</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> end</code></em>, <em class="parameter"><code><span class="type">char</span> *buf</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> buf_size</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *buf_consumed</code></em>, - <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-font.html#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-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a> format</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-serialize-flags-t" title="enum hb_buffer_serialize_flags_t"><span class="type">hb_buffer_serialize_flags_t</span></a> flags</code></em>);</pre> <p>Serializes <em class="parameter"><code>buffer</code></em> @@ -2131,7 +2149,7 @@ hb_buffer_serialize_glyphs (<em class="parameter"><code><a class="link" href="ha useful for showing the contents of the buffer, for example during debugging. There are currently two supported serialization formats:</p> <div class="refsect3"> -<a name="id-1.3.4.3.7.48.5"></a><h4>text</h4> +<a name="id-1.3.4.3.11.48.5"></a><h4>text</h4> <p>A human-readable, plain text format. The serialized glyphs will look something like:</p> <p><code class="literal"> @@ -2146,10 +2164,10 @@ The serialized glyphs will look something like:</p> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "> <li class="listitem"><p>If <a class="link" href="harfbuzz-hb-buffer.html#HB-BUFFER-SERIALIZE-FLAG-NO-CLUSTERS:CAPS"><span class="type">HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS</span></a> is not set, <code class="literal">=</code> then <span class="type">hb_glyph_info_t.cluster</span>.</p></li> <li class="listitem"> -<p>If <a class="link" href="harfbuzz-hb-buffer.html#HB-BUFFER-SERIALIZE-FLAG-NO-POSITIONS:CAPS"><span class="type">HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS</span></a> is not set, the <a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t" title="hb_glyph_position_t"><span class="type">hb_glyph_position_t</span></a> in the format:</p> +<p>If <a class="link" href="harfbuzz-hb-buffer.html#HB-BUFFER-SERIALIZE-FLAG-NO-POSITIONS:CAPS"><span class="type">HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS</span></a> is not set, the <a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t"><span class="type">hb_glyph_position_t</span></a> in the format:</p> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: square; "> -<li class="listitem"><p>If both <a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t.x-offset"><span class="type">hb_glyph_position_t.x_offset</span></a> and <a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t.y-offset"><span class="type">hb_glyph_position_t.y_offset</span></a> are not 0, <code class="literal">@x_offset,y_offset</code>. Then,</p></li> -<li class="listitem"><p><code class="literal">+x_advance</code>, then <code class="literal">,y_advance</code> if <a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t.y-advance"><span class="type">hb_glyph_position_t.y_advance</span></a> is not 0. Then,</p></li> +<li class="listitem"><p>If both <span class="type">hb_glyph_position_t.x_offset</span> and <span class="type">hb_glyph_position_t.y_offset</span> are not 0, <code class="literal">@x_offset,y_offset</code>. Then,</p></li> +<li class="listitem"><p><code class="literal">+x_advance</code>, then <code class="literal">,y_advance</code> if <span class="type">hb_glyph_position_t.y_advance</span> is not 0. Then,</p></li> </ul></div> </li> <li class="listitem"><p>If <a class="link" href="harfbuzz-hb-buffer.html#HB-BUFFER-SERIALIZE-FLAG-GLYPH-EXTENTS:CAPS"><span class="type">HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS</span></a> is set, the @@ -2160,7 +2178,7 @@ The serialized glyphs will look something like:</p> </ul></div> </div> <div class="refsect3"> -<a name="id-1.3.4.3.7.48.6"></a><h4>json</h4> +<a name="id-1.3.4.3.11.48.6"></a><h4>json</h4> <p>TODO.</p> </div> <div class="refsect3"> @@ -2174,7 +2192,7 @@ The serialized glyphs will look something like:</p> <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> buffer.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> buffer.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -2203,14 +2221,14 @@ write serialized buffer into. </p></td> </tr> <tr> <td class="parameter_name"><p>buf_consumed</p></td> -<td class="parameter_description"><p>if not <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, will be set to the number of byes written into <em class="parameter"><code>buf</code></em> +<td class="parameter_description"><p>if not <code class="literal">NULL</code>, will be set to the number of byes written into <em class="parameter"><code>buf</code></em> . </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="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>font</p></td> -<td class="parameter_description"><p>the <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> used to shape this buffer, needed to -read glyph names and extents. If <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, and empty font will be used. </p></td> +<td class="parameter_description"><p>the <a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> used to shape this buffer, needed to +read glyph names and extents. If <code class="literal">NULL</code>, and empty font will be used. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> @@ -2237,11 +2255,11 @@ to serialize.</p></td> <div class="refsect2"> <a name="hb-buffer-deserialize-glyphs"></a><h3>hb_buffer_deserialize_glyphs ()</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_buffer_deserialize_glyphs (<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>, +hb_buffer_deserialize_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code>const <span class="type">char</span> *buf</code></em>, <em class="parameter"><code><span class="type">int</span> buf_len</code></em>, <em class="parameter"><code>const <span class="type">char</span> **end_ptr</code></em>, - <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-font.html#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-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a> format</code></em>);</pre> <div class="refsect3"> <a name="hb-buffer-deserialize-glyphs.parameters"></a><h4>Parameters</h4> @@ -2254,7 +2272,7 @@ hb_buffer_deserialize_glyphs (<em class="parameter"><code><a class="link" href=" <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> buffer.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> buffer.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -2300,7 +2318,7 @@ hb_buffer_serialize_format_from_string <tr> <td class="parameter_name"><p>len</p></td> <td class="parameter_description"><p>length of <em class="parameter"><code>str</code></em> -, or -1 if string is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated</p></td> +, or -1 if string is <code class="literal">NULL</code> terminated</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -2318,7 +2336,7 @@ hb_buffer_serialize_format_from_string <pre class="programlisting">const <span class="returnvalue">char</span> * hb_buffer_serialize_format_to_string (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a> format</code></em>);</pre> <p>Converts <em class="parameter"><code>format</code></em> - to the string corresponding it, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it is not a valid + to the string corresponding it, or <code class="literal">NULL</code> if it is not a valid <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-serialize-format-t" title="enum hb_buffer_serialize_format_t"><span class="type">hb_buffer_serialize_format_t</span></a>.</p> <div class="refsect3"> <a name="hb-buffer-serialize-format-to-string.parameters"></a><h4>Parameters</h4> @@ -2337,7 +2355,7 @@ hb_buffer_serialize_format_to_string (<em class="parameter"><code><a class="link </div> <div class="refsect3"> <a name="hb-buffer-serialize-format-to-string.returns"></a><h4>Returns</h4> -<p>A <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated string corresponding to <em class="parameter"><code>format</code></em> +<p>A <code class="literal">NULL</code> terminated string corresponding to <em class="parameter"><code>format</code></em> . Should not be freed. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> @@ -2360,9 +2378,9 @@ hb_buffer_serialize_list_formats (<em class="parameter"><code><span class="type" <div class="refsect2"> <a name="hb-segment-properties-equal"></a><h3>hb_segment_properties_equal ()</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_segment_properties_equal (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *a</code></em>, - <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *b</code></em>);</pre> -<p>Checks the equality of two <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a>'s.</p> +hb_segment_properties_equal (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *a</code></em>, + <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *b</code></em>);</pre> +<p>Checks the equality of two <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a>'s.</p> <div class="refsect3"> <a name="hb-segment-properties-equal.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -2374,12 +2392,12 @@ hb_segment_properties_equal (<em class="parameter"><code>const <a class="link" h <tbody> <tr> <td class="parameter_name"><p>a</p></td> -<td class="parameter_description"><p>first <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> to compare.</p></td> +<td class="parameter_description"><p>first <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> to compare.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>b</p></td> -<td class="parameter_description"><p>second <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> to compare.</p></td> +<td class="parameter_description"><p>second <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> to compare.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -2397,7 +2415,7 @@ equal those of <em class="parameter"><code>b</code></em> <div class="refsect2"> <a name="hb-segment-properties-hash"></a><h3>hb_segment_properties_hash ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_segment_properties_hash (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *p</code></em>);</pre> +hb_segment_properties_hash (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *p</code></em>);</pre> <p>Creates a hash representing <em class="parameter"><code>p</code></em> .</p> <div class="refsect3"> @@ -2410,7 +2428,7 @@ hb_segment_properties_hash (<em class="parameter"><code>const <a class="link" hr </colgroup> <tbody><tr> <td class="parameter_name"><p>p</p></td> -<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> to hash.</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> to hash.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -2426,8 +2444,8 @@ hb_segment_properties_hash (<em class="parameter"><code>const <a class="link" hr <div class="refsect2"> <a name="hb-buffer-diff"></a><h3>hb_buffer_diff ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-diff-flags-t" title="enum hb_buffer_diff_flags_t"><span class="returnvalue">hb_buffer_diff_flags_t</span></a> -hb_buffer_diff (<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><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> *reference</code></em>, +hb_buffer_diff (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *reference</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> dottedcircle_glyph</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> position_fuzz</code></em>);</pre> <p>If dottedcircle_glyph is (hb_codepoint_t) -1 then <a class="link" href="harfbuzz-hb-buffer.html#HB-BUFFER-DIFF-FLAG-DOTTED-CIRCLE-PRESENT:CAPS"><code class="literal">HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT</code></a> @@ -2471,7 +2489,7 @@ callers if just comparing two buffers is needed.</p> <div class="refsect2"> <a name="hb-buffer-set-message-func"></a><h3>hb_buffer_set_message_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_buffer_set_message_func (<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>, +hb_buffer_set_message_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-message-func-t" title="hb_buffer_message_func_t ()"><span class="type">hb_buffer_message_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -2486,7 +2504,7 @@ hb_buffer_set_message_func (<em class="parameter"><code><a class="link" href="ha <tbody> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -2531,8 +2549,8 @@ hb_glyph_info_get_glyph_flags (<em class="parameter"><code>const <span class="ty <div class="refsect2"> <a name="hb-buffer-message-func-t"></a><h3>hb_buffer_message_func_t ()</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> -<span class="c_punctuation">(</span>*hb_buffer_message_func_t<span class="c_punctuation">)</span> (<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><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>, +<span class="c_punctuation">(</span>*hb_buffer_message_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> *buffer</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code>const <span class="type">char</span> *message</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre> </div> @@ -2607,7 +2625,7 @@ and output glyphs and their information after shaping.</p> </div> <hr> <div class="refsect2"> -<a name="hb-glyph-position-t"></a><h3>hb_glyph_position_t</h3> +<a name="hb-glyph-position-t-struct"></a><h3>hb_glyph_position_t</h3> <pre class="programlisting">typedef struct { hb_position_t x_advance; hb_position_t y_advance; @@ -2615,9 +2633,9 @@ and output glyphs and their information after shaping.</p> hb_position_t y_offset; } hb_glyph_position_t; </pre> -<p>The <a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t" title="hb_glyph_position_t"><span class="type">hb_glyph_position_t</span></a> is the structure that holds the positions of the +<p>The <a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t"><span class="type">hb_glyph_position_t</span></a> is the structure that holds the positions of the glyph in both horizontal and vertical directions. All positions in -<a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t" title="hb_glyph_position_t"><span class="type">hb_glyph_position_t</span></a> are relative to the current point.</p> +<a class="link" href="harfbuzz-hb-buffer.html#hb-glyph-position-t"><span class="type">hb_glyph_position_t</span></a> are relative to the current point.</p> <div class="refsect3"> <a name="hb-glyph-position-t.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -2628,25 +2646,25 @@ glyph in both horizontal and vertical directions. All positions in </colgroup> <tbody> <tr> -<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t.x-advance"></a>x_advance</code></em>;</p></td> +<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t-struct.x-advance"></a>x_advance</code></em>;</p></td> <td class="struct_member_description"><p>how much the line advances after drawing this glyph when setting text in horizontal direction.</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-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t.y-advance"></a>y_advance</code></em>;</p></td> +<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t-struct.y-advance"></a>y_advance</code></em>;</p></td> <td class="struct_member_description"><p>how much the line advances after drawing this glyph when setting text in vertical direction.</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-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t.x-offset"></a>x_offset</code></em>;</p></td> +<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t-struct.x-offset"></a>x_offset</code></em>;</p></td> <td class="struct_member_description"><p>how much the glyph moves on the X-axis before drawing it, this should not affect how much the line advances.</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-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t.y-offset"></a>y_offset</code></em>;</p></td> +<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-glyph-position-t-struct.y-offset"></a>y_offset</code></em>;</p></td> <td class="struct_member_description"><p>how much the glyph moves on the Y-axis before drawing it, this should not affect how much the line advances.</p></td> <td class="struct_member_annotations"> </td> @@ -2821,14 +2839,14 @@ should not affect how much the line advances.</p></td> </div> <hr> <div class="refsect2"> -<a name="hb-segment-properties-t"></a><h3>hb_segment_properties_t</h3> +<a name="hb-segment-properties-t-struct"></a><h3>hb_segment_properties_t</h3> <pre class="programlisting">typedef struct { hb_direction_t direction; hb_script_t script; hb_language_t language; } hb_segment_properties_t; </pre> -<p>The structure that holds various text properties of an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a>. Can be +<p>The structure that holds various text properties of an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a>. Can be set and retrieved using <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-segment-properties" title="hb_buffer_set_segment_properties ()"><code class="function">hb_buffer_set_segment_properties()</code></a> and <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-get-segment-properties" title="hb_buffer_get_segment_properties ()"><code class="function">hb_buffer_get_segment_properties()</code></a>, respectively.</p> <div class="refsect3"> @@ -2841,17 +2859,17 @@ set and retrieved using <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer- </colgroup> <tbody> <tr> -<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> <em class="structfield"><code><a name="hb-segment-properties-t.direction"></a>direction</code></em>;</p></td> +<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> <em class="structfield"><code><a name="hb-segment-properties-t-struct.direction"></a>direction</code></em>;</p></td> <td class="struct_member_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> of the buffer, see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-direction" title="hb_buffer_set_direction ()"><code class="function">hb_buffer_set_direction()</code></a>.</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-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> <em class="structfield"><code><a name="hb-segment-properties-t.script"></a>script</code></em>;</p></td> +<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> <em class="structfield"><code><a name="hb-segment-properties-t-struct.script"></a>script</code></em>;</p></td> <td class="struct_member_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> of the buffer, see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-script" title="hb_buffer_set_script ()"><code class="function">hb_buffer_set_script()</code></a>.</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-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> <em class="structfield"><code><a name="hb-segment-properties-t.language"></a>language</code></em>;</p></td> +<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> <em class="structfield"><code><a name="hb-segment-properties-t-struct.language"></a>language</code></em>;</p></td> <td class="struct_member_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> of the buffer, see <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-set-language" title="hb_buffer_set_language ()"><code class="function">hb_buffer_set_language()</code></a>.</p></td> <td class="struct_member_annotations"> </td> </tr> diff --git a/docs/html/harfbuzz-hb-common.html b/docs/html/harfbuzz-hb-common.html index 7074d2c..9e6e597 100644 --- a/docs/html/harfbuzz-hb-common.html +++ b/docs/html/harfbuzz-hb-common.html @@ -5,7 +5,7 @@ <title>hb-common: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch09.html" title="Core API"> +<link rel="up" href="ch11.html" title="Core API"> <link rel="prev" href="harfbuzz-hb-buffer.html" title="hb-buffer"> <link rel="next" href="harfbuzz-hb-deprecated.html" title="hb-deprecated"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -15,10 +15,11 @@ <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-common.description" class="shortcut">Description</a></span> + <a href="#harfbuzz-hb-common.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> + <a href="#harfbuzz-hb-common.object-hierarchy" class="shortcut">Object Hierarchy</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="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch11.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-buffer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-deprecated.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -216,7 +217,7 @@ </tbody> </table></div> </div> -<div class="refsect1"> +<a name="hb-feature-t"></a><a name="hb-user-data-key-t"></a><div class="refsect1"> <a name="harfbuzz-hb-common.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> @@ -242,7 +243,7 @@ </tr> <tr> <td class="datatype_keyword"> </td> -<td class="function_name"><a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t">hb_feature_t</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-common.html#hb-feature-t-struct" title="hb_feature_t">hb_feature_t</a></td> </tr> <tr> <td class="datatype_keyword"> </td> @@ -266,7 +267,7 @@ </tr> <tr> <td class="datatype_keyword"> </td> -<td class="function_name"><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t">hb_user_data_key_t</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t-struct" title="hb_user_data_key_t">hb_user_data_key_t</a></td> </tr> <tr> <td class="datatype_keyword"> </td> @@ -300,6 +301,16 @@ </table></div> </div> <div class="refsect1"> +<a name="harfbuzz-hb-common.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a> + <span class="lineart">├──</span> hb_feature_t + <span class="lineart">╰──</span> hb_user_data_key_t + <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a> + <span class="lineart">├──</span> hb_direction_t + <span class="lineart">╰──</span> hb_script_t +</pre> +</div> +<div class="refsect1"> <a name="harfbuzz-hb-common.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb.h> </pre> @@ -445,7 +456,7 @@ ISO 15924 tag. </p></td> <tr> <td class="parameter_name"><p>len</p></td> <td class="parameter_description"><p>length of the <em class="parameter"><code>str</code></em> -, or -1 if it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated.</p></td> +, or -1 if it is <code class="literal">NULL</code>-terminated.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -473,7 +484,7 @@ hb_script_to_iso15924_tag (<em class="parameter"><code><a class="link" href="har </colgroup> <tbody><tr> <td class="parameter_name"><p>script</p></td> -<td class="parameter_description"><p>an <span class="type">hb_script_</span> to convert.</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> to convert.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -518,7 +529,7 @@ a BCP 47 language tag. </p></td> <tr> <td class="parameter_name"><p>len</p></td> <td class="parameter_description"><p>length of the <em class="parameter"><code>str</code></em> -, or -1 if it is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated.</p></td> +, or -1 if it is <code class="literal">NULL</code>-terminated.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -554,7 +565,7 @@ hb_language_to_string (<em class="parameter"><code><a class="link" href="harfbuz </div> <div class="refsect3"> <a name="hb-language-to-string.returns"></a><h4>Returns</h4> -<p>A <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated string representing the <em class="parameter"><code>language</code></em> +<p>A <code class="literal">NULL</code>-terminated string representing the <em class="parameter"><code>language</code></em> . Must not be freed by the caller. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> @@ -586,8 +597,8 @@ HarfBuzz itself.</p> <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_feature_from_string (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>, <em class="parameter"><code><span class="type">int</span> len</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> *feature</code></em>);</pre> -<p>Parses a string into a <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a>.</p> + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *feature</code></em>);</pre> +<p>Parses a string into a <a class="link" href="harfbuzz-hb-common.html#hb-feature-t"><span class="type">hb_feature_t</span></a>.</p> <p>The format for specifying feature strings follows. All valid CSS font-feature-settings values other than 'normal' and the global values are also accepted, though not documented below. CSS string escapes are not @@ -742,12 +753,12 @@ position before the first character is always 0.</p> <tr> <td class="parameter_name"><p>len</p></td> <td class="parameter_description"><p>length of <em class="parameter"><code>str</code></em> -, or -1 if string is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated</p></td> +, or -1 if string is <code class="literal">NULL</code> terminated</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>feature</p></td> -<td class="parameter_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> to initialize with the parsed values. </p></td> +<td class="parameter_description"><p>the <a class="link" href="harfbuzz-hb-common.html#hb-feature-t"><span class="type">hb_feature_t</span></a> to initialize with the parsed values. </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> @@ -764,10 +775,10 @@ is successfully parsed, <code class="literal">false</code> otherwise.</p> <div class="refsect2"> <a name="hb-feature-to-string"></a><h3>hb_feature_to_string ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_feature_to_string (<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> *feature</code></em>, +hb_feature_to_string (<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *feature</code></em>, <em class="parameter"><code><span class="type">char</span> *buf</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre> -<p>Converts a <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> into a <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated string in the format +<p>Converts a <a class="link" href="harfbuzz-hb-common.html#hb-feature-t"><span class="type">hb_feature_t</span></a> into a <code class="literal">NULL</code>-terminated string in the format understood by <a class="link" href="harfbuzz-hb-common.html#hb-feature-from-string" title="hb_feature_from_string ()"><code class="function">hb_feature_from_string()</code></a>. The client in responsible for allocating big enough size for <em class="parameter"><code>buf</code></em> , 128 bytes is more than enough.</p> @@ -782,7 +793,7 @@ allocating big enough size for <em class="parameter"><code>buf</code></em> <tbody> <tr> <td class="parameter_name"><p>feature</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> to convert</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-common.html#hb-feature-t"><span class="type">hb_feature_t</span></a> to convert</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -946,7 +957,7 @@ hb_variation_to_string (<em class="parameter"><code><a class="link" href="harfbu </div> <hr> <div class="refsect2"> -<a name="hb-feature-t"></a><h3>hb_feature_t</h3> +<a name="hb-feature-t-struct"></a><h3>hb_feature_t</h3> <pre class="programlisting">typedef struct { hb_tag_t tag; uint32_t value; @@ -954,6 +965,50 @@ hb_variation_to_string (<em class="parameter"><code><a class="link" href="harfbu unsigned int end; } hb_feature_t; </pre> +<p>The <a class="link" href="harfbuzz-hb-common.html#hb-feature-t"><span class="type">hb_feature_t</span></a> is the structure that holds information about requested +feature application. The feature will be applied with the given value to all +glyphs which are in clusters between <em class="parameter"><code>start</code></em> + (inclusive) and <em class="parameter"><code>end</code></em> + (exclusive). +Setting start to <em class="parameter"><code>HB_FEATURE_GLOBAL_START</code></em> + and end to <em class="parameter"><code>HB_FEATURE_GLOBAL_END</code></em> + +specifies that the feature always applies to the entire buffer.</p> +<div class="refsect3"> +<a name="hb-feature-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><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-feature-t-struct.tag"></a>tag</code></em>;</p></td> +<td class="struct_member_description"><p>a feature tag</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><span class="type">uint32_t</span> <em class="structfield"><code><a name="hb-feature-t-struct.value"></a>value</code></em>;</p></td> +<td class="struct_member_description"><p>0 disables the feature, non-zero (usually 1) enables the feature. +For features implemented as lookup type 3 (like 'salt') the <em class="parameter"><code>value</code></em> +is a one +based index into the alternates.</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p>unsigned <span class="type">int</span> <em class="structfield"><code><a name="hb-feature-t-struct.start"></a>start</code></em>;</p></td> +<td class="struct_member_description"><p>the cluster to start applying this feature setting (inclusive).</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p>unsigned <span class="type">int</span> <em class="structfield"><code><a name="hb-feature-t-struct.end"></a>end</code></em>;</p></td> +<td class="struct_member_description"><p>the cluster to end applying this feature setting (exclusive).</p></td> +<td class="struct_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> </div> <hr> <div class="refsect2"> @@ -1041,7 +1096,7 @@ hb_variation_to_string (<em class="parameter"><code><a class="link" href="harfbu </div> <hr> <div class="refsect2"> -<a name="hb-user-data-key-t"></a><h3>hb_user_data_key_t</h3> +<a name="hb-user-data-key-t-struct"></a><h3>hb_user_data_key_t</h3> <pre class="programlisting">typedef struct { } hb_user_data_key_t; </pre> diff --git a/docs/html/harfbuzz-hb-coretext.html b/docs/html/harfbuzz-hb-coretext.html index 143871a..3235a3a 100644 --- a/docs/html/harfbuzz-hb-coretext.html +++ b/docs/html/harfbuzz-hb-coretext.html @@ -5,8 +5,8 @@ <title>hb-coretext: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch12.html" title="Integration API"> -<link rel="prev" href="ch12.html" title="Integration API"> +<link rel="up" href="ch14.html" title="Integration API"> +<link rel="prev" href="ch14.html" title="Integration API"> <link rel="next" href="harfbuzz-hb-ft.html" title="hb-ft"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> @@ -18,8 +18,8 @@ <a href="#harfbuzz-hb-coretext.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="ch12.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="ch12.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="ch14.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="ch14.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-ft.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> @@ -41,7 +41,7 @@ <tbody> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> * +<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-coretext.html#hb-coretext-face-create" title="hb_coretext_face_create ()">hb_coretext_face_create</a> <span class="c_punctuation">()</span> @@ -49,7 +49,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> * +<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-coretext.html#hb-coretext-font-create" title="hb_coretext_font_create ()">hb_coretext_font_create</a> <span class="c_punctuation">()</span> @@ -110,26 +110,26 @@ <a name="harfbuzz-hb-coretext.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="hb-coretext-face-create"></a><h3>hb_coretext_face_create ()</h3> -<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> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * hb_coretext_face_create (<em class="parameter"><code><span class="type">CGFontRef</span> cg_font</code></em>);</pre> </div> <hr> <div class="refsect2"> <a name="hb-coretext-font-create"></a><h3>hb_coretext_font_create ()</h3> -<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> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * hb_coretext_font_create (<em class="parameter"><code><span class="type">CTFontRef</span> ct_font</code></em>);</pre> </div> <hr> <div class="refsect2"> <a name="hb-coretext-face-get-cg-font"></a><h3>hb_coretext_face_get_cg_font ()</h3> <pre class="programlisting"><span class="returnvalue">CGFontRef</span> -hb_coretext_face_get_cg_font (<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> +hb_coretext_face_get_cg_font (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> </div> <hr> <div class="refsect2"> <a name="hb-coretext-font-get-ct-font"></a><h3>hb_coretext_font_get_ct_font ()</h3> <pre class="programlisting"><span class="returnvalue">CTFontRef</span> -hb_coretext_font_get_ct_font (<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> +hb_coretext_font_get_ct_font (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre> </div> </div> <div class="refsect1"> diff --git a/docs/html/harfbuzz-hb-deprecated.html b/docs/html/harfbuzz-hb-deprecated.html index 428c2a7..2ad43b9 100644 --- a/docs/html/harfbuzz-hb-deprecated.html +++ b/docs/html/harfbuzz-hb-deprecated.html @@ -5,7 +5,7 @@ <title>hb-deprecated: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch09.html" title="Core API"> +<link rel="up" href="ch11.html" title="Core API"> <link rel="prev" href="harfbuzz-hb-common.html" title="hb-common"> <link rel="next" href="harfbuzz-hb-face.html" title="hb-face"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -18,7 +18,7 @@ <a href="#harfbuzz-hb-deprecated.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="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch11.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-common.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-face.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -60,14 +60,6 @@ <span class="returnvalue">void</span> </td> <td class="function_name"> -<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-funcs-set-glyph-h-kerning-func" title="hb_font_funcs_set_glyph_h_kerning_func ()">hb_font_funcs_set_glyph_h_kerning_func</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-deprecated.html#hb-font-funcs-set-glyph-v-kerning-func" title="hb_font_funcs_set_glyph_v_kerning_func ()">hb_font_funcs_set_glyph_v_kerning_func</a> <span class="c_punctuation">()</span> </td> </tr> @@ -76,30 +68,6 @@ <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> </td> <td class="function_name"> -<a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-h-kerning" title="hb_font_get_glyph_h_kerning ()">hb_font_get_glyph_h_kerning</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-deprecated.html#hb-font-get-glyph-kerning-for-direction" title="hb_font_get_glyph_kerning_for_direction ()">hb_font_get_glyph_kerning_for_direction</a> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> -</td> -<td class="function_name"> -<span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-kerning-func-t" title="hb_font_get_glyph_kerning_func_t ()">*hb_font_get_glyph_kerning_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> -</td> -</tr> -<tr> -<td class="function_type"> -<a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> -</td> -<td class="function_name"> <a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-v-kerning" title="hb_font_get_glyph_v_kerning ()">hb_font_get_glyph_v_kerning</a> <span class="c_punctuation">()</span> </td> </tr> @@ -128,15 +96,15 @@ </tr> <tr> <td class="define_keyword">#define</td> -<td class="function_name"><a class="link" href="harfbuzz-hb-deprecated.html#HB-OT-VAR-NO-AXIS-INDEX:CAPS" title="HB_OT_VAR_NO_AXIS_INDEX">HB_OT_VAR_NO_AXIS_INDEX</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-deprecated.html#HB-MATH-GLYPH-PART-FLAG-EXTENDER:CAPS" title="HB_MATH_GLYPH_PART_FLAG_EXTENDER">HB_MATH_GLYPH_PART_FLAG_EXTENDER</a></td> </tr> <tr> <td class="define_keyword">#define</td> -<td class="function_name"><a class="link" href="harfbuzz-hb-deprecated.html#HB-UNICODE-MAX-DECOMPOSITION-LEN:CAPS" title="HB_UNICODE_MAX_DECOMPOSITION_LEN">HB_UNICODE_MAX_DECOMPOSITION_LEN</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-deprecated.html#HB-OT-VAR-NO-AXIS-INDEX:CAPS" title="HB_OT_VAR_NO_AXIS_INDEX">HB_OT_VAR_NO_AXIS_INDEX</a></td> </tr> <tr> -<td class="typedef_keyword">typedef</td> -<td class="function_name"><a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-h-kerning-func-t" title="hb_font_get_glyph_h_kerning_func_t">hb_font_get_glyph_h_kerning_func_t</a></td> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-deprecated.html#HB-UNICODE-MAX-DECOMPOSITION-LEN:CAPS" title="HB_UNICODE_MAX_DECOMPOSITION_LEN">HB_UNICODE_MAX_DECOMPOSITION_LEN</a></td> </tr> <tr> <td class="typedef_keyword">typedef</td> @@ -160,7 +128,7 @@ were deemed unnecessary.</p> <div class="refsect2"> <a name="hb-font-get-glyph-func-t"></a><h3>hb_font_get_glyph_func_t ()</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> -<span class="c_punctuation">(</span>*hb_font_get_glyph_func_t<span class="c_punctuation">)</span> (<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>, +<span class="c_punctuation">(</span>*hb_font_get_glyph_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">void</span> *font_data</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> variation_selector</code></em>, @@ -172,23 +140,14 @@ were deemed unnecessary.</p> <div class="refsect2"> <a name="hb-ot-layout-table-find-script"></a><h3>hb_ot_layout_table_find_script ()</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_layout_table_find_script (<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>, +hb_ot_layout_table_find_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> table_tag</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> script_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *script_index</code></em>);</pre> -</div> -<hr> -<div class="refsect2"> -<a name="hb-font-funcs-set-glyph-h-kerning-func"></a><h3>hb_font_funcs_set_glyph_h_kerning_func ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -hb_font_funcs_set_glyph_h_kerning_func - (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-h-kerning-func-t" title="hb_font_get_glyph_h_kerning_func_t"><span class="type">hb_font_get_glyph_h_kerning_func_t</span></a> func</code></em>, - <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, - <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> -<div class="warning"><p><code class="literal">hb_font_funcs_set_glyph_h_kerning_func</code> has been deprecated since version 2.0.0 and should not be used in newly-written code.</p></div> +<p>Fetches the index if a given script tag in the specified face's GSUB table +or GPOS table.</p> <div class="refsect3"> -<a name="hb-font-funcs-set-glyph-h-kerning-func.parameters"></a><h4>Parameters</h4> +<a name="hb-ot-layout-table-find-script.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> @@ -197,26 +156,39 @@ hb_font_funcs_set_glyph_h_kerning_func </colgroup> <tbody> <tr> -<td class="parameter_name"><p>ffuncs</p></td> -<td class="parameter_description"><p>font functions.</p></td> +<td class="parameter_name"><p>face</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#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>func</p></td> -<td class="parameter_description"><p>. </p></td> -<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<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> +<td class="parameter_name"><p>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>script_tag</p></td> +<td class="parameter_description"><p><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 script tag requested</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>script_index</p></td> +<td class="parameter_description"><p>The index of the requested script tag. </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 class="refsect3"> +<a name="hb-ot-layout-table-find-script.returns"></a><h4>Returns</h4> +<p> true if the script is found, false otherwise</p> +</div> </div> <hr> <div class="refsect2"> <a name="hb-font-funcs-set-glyph-v-kerning-func"></a><h3>hb_font_funcs_set_glyph_v_kerning_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_font_funcs_set_glyph_v_kerning_func - (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, + (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-deprecated.html#hb-font-get-glyph-v-kerning-func-t" title="hb_font_get_glyph_v_kerning_func_t"><span class="type">hb_font_get_glyph_v_kerning_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -247,86 +219,9 @@ hb_font_funcs_set_glyph_v_kerning_func </div> <hr> <div class="refsect2"> -<a name="hb-font-get-glyph-h-kerning"></a><h3>hb_font_get_glyph_h_kerning ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> -hb_font_get_glyph_h_kerning (<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-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> left_glyph</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> right_glyph</code></em>);</pre> -<div class="warning"><p><code class="literal">hb_font_get_glyph_h_kerning</code> has been deprecated since version 2.0.0 and should not be used in newly-written code.</p></div> -<div class="refsect3"> -<a name="hb-font-get-glyph-h-kerning.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 font.</p></td> -<td class="parameter_annotations"> </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> -<hr> -<div class="refsect2"> -<a name="hb-font-get-glyph-kerning-for-direction"></a><h3>hb_font_get_glyph_kerning_for_direction ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> -hb_font_get_glyph_kerning_for_direction - (<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-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> first_glyph</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> second_glyph</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *y</code></em>);</pre> -<div class="warning"><p><code class="literal">hb_font_get_glyph_kerning_for_direction</code> has been deprecated since version 2.0.0 and should not be used in newly-written code.</p></div> -<div class="refsect3"> -<a name="hb-font-get-glyph-kerning-for-direction.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 font.</p></td> -<td class="parameter_annotations"> </td> -</tr> -<tr> -<td class="parameter_name"><p>x</p></td> -<td class="parameter_description"><p>. </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> -<tr> -<td class="parameter_name"><p>y</p></td> -<td class="parameter_description"><p>. </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> -<hr> -<div class="refsect2"> -<a name="hb-font-get-glyph-kerning-func-t"></a><h3>hb_font_get_glyph_kerning_func_t ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> -<span class="c_punctuation">(</span>*hb_font_get_glyph_kerning_func_t<span class="c_punctuation">)</span> (<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><span class="type">void</span> *font_data</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> first_glyph</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> second_glyph</code></em>, - <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre> -<div class="warning"><p><code class="literal">hb_font_get_glyph_kerning_func_t</code> is deprecated and should not be used in newly-written code.</p></div> -</div> -<hr> -<div class="refsect2"> <a name="hb-font-get-glyph-v-kerning"></a><h3>hb_font_get_glyph_v_kerning ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> -hb_font_get_glyph_v_kerning (<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>, +hb_font_get_glyph_v_kerning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> top_glyph</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> bottom_glyph</code></em>);</pre> <div class="warning"><p><code class="literal">hb_font_get_glyph_v_kerning</code> has been deprecated since version 2.0.0 and should not be used in newly-written code.</p></div> @@ -372,6 +267,13 @@ hb_font_get_glyph_v_kerning (<em class="parameter"><code><a class="link" href="h </div> <hr> <div class="refsect2"> +<a name="HB-MATH-GLYPH-PART-FLAG-EXTENDER:CAPS"></a><h3>HB_MATH_GLYPH_PART_FLAG_EXTENDER</h3> +<pre class="programlisting">#define HB_MATH_GLYPH_PART_FLAG_EXTENDER HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER +</pre> +<div class="warning"><p><code class="literal">HB_MATH_GLYPH_PART_FLAG_EXTENDER</code> is deprecated and should not be used in newly-written code.</p></div> +</div> +<hr> +<div class="refsect2"> <a name="HB-OT-VAR-NO-AXIS-INDEX:CAPS"></a><h3>HB_OT_VAR_NO_AXIS_INDEX</h3> <pre class="programlisting">#define HB_OT_VAR_NO_AXIS_INDEX 0xFFFFFFFFu </pre> @@ -388,13 +290,6 @@ hb_font_get_glyph_v_kerning (<em class="parameter"><code><a class="link" href="h </div> <hr> <div class="refsect2"> -<a name="hb-font-get-glyph-h-kerning-func-t"></a><h3>hb_font_get_glyph_h_kerning_func_t</h3> -<pre class="programlisting">typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_h_kerning_func_t; -</pre> -<div class="warning"><p><code class="literal">hb_font_get_glyph_h_kerning_func_t</code> is deprecated and should not be used in newly-written code.</p></div> -</div> -<hr> -<div class="refsect2"> <a name="hb-font-get-glyph-v-kerning-func-t"></a><h3>hb_font_get_glyph_v_kerning_func_t</h3> <pre class="programlisting">typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_v_kerning_func_t; </pre> diff --git a/docs/html/harfbuzz-hb-face.html b/docs/html/harfbuzz-hb-face.html index e32b160..b5ecebe 100644 --- a/docs/html/harfbuzz-hb-face.html +++ b/docs/html/harfbuzz-hb-face.html @@ -5,7 +5,7 @@ <title>hb-face: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch09.html" title="Core API"> +<link rel="up" href="ch11.html" title="Core API"> <link rel="prev" href="harfbuzz-hb-deprecated.html" title="hb-deprecated"> <link rel="next" href="harfbuzz-hb-font.html" title="hb-font"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -15,10 +15,11 @@ <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-face.description" class="shortcut">Description</a></span> + <a href="#harfbuzz-hb-face.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> + <a href="#harfbuzz-hb-face.object-hierarchy" class="shortcut">Object Hierarchy</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="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch11.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-deprecated.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-font.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -48,7 +49,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> * +<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-face.html#hb-face-create" title="hb_face_create ()">hb_face_create</a> <span class="c_punctuation">()</span> @@ -56,7 +57,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> * +<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-face.html#hb-face-create-for-tables" title="hb_face_create_for_tables ()">hb_face_create_for_tables</a> <span class="c_punctuation">()</span> @@ -72,7 +73,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> * +<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-face.html#hb-face-get-empty" title="hb_face_get_empty ()">hb_face_get_empty</a> <span class="c_punctuation">()</span> @@ -132,7 +133,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> * +<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-face.html#hb-face-reference" title="hb_face_reference ()">hb_face_reference</a> <span class="c_punctuation">()</span> @@ -140,7 +141,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * +<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-face.html#hb-face-reference-blob" title="hb_face_reference_blob ()">hb_face_reference_blob</a> <span class="c_punctuation">()</span> @@ -148,7 +149,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * +<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-face.html#hb-face-reference-table" title="hb_face_reference_table ()">hb_face_reference_table</a> <span class="c_punctuation">()</span> @@ -212,7 +213,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> * +<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-face.html#hb-face-builder-create" title="hb_face_builder_create ()">hb_face_builder_create</a> <span class="c_punctuation">()</span> @@ -229,7 +230,7 @@ </tbody> </table></div> </div> -<div class="refsect1"> +<a name="hb-face-t"></a><div class="refsect1"> <a name="harfbuzz-hb-face.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> @@ -238,11 +239,17 @@ </colgroup> <tbody><tr> <td class="typedef_keyword">typedef</td> -<td class="function_name"><a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t">hb_face_t</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-face.html#hb-face-t">hb_face_t</a></td> </tr></tbody> </table></div> </div> <div class="refsect1"> +<a name="harfbuzz-hb-face.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a> + <span class="lineart">╰──</span> hb_face_t +</pre> +</div> +<div class="refsect1"> <a name="harfbuzz-hb-face.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb.h> </pre> @@ -259,7 +266,7 @@ Font faces are used to create fonts.</p> <div class="refsect2"> <a name="hb-face-count"></a><h3>hb_face_count ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_face_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> +hb_face_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> <p>Get number of faces in a blob.</p> <div class="refsect3"> <a name="hb-face-count.parameters"></a><h4>Parameters</h4> @@ -286,8 +293,8 @@ hb_face_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blo <hr> <div class="refsect2"> <a name="hb-face-create"></a><h3>hb_face_create ()</h3> -<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> * -hb_face_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>, +<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * +hb_face_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> index</code></em>);</pre> <p><span class="annotation">[Xconstructor]</span></p> <div class="refsect3"> @@ -300,7 +307,7 @@ hb_face_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-bl <hr> <div class="refsect2"> <a name="hb-face-create-for-tables"></a><h3>hb_face_create_for_tables ()</h3> -<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> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * hb_face_create_for_tables (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-reference-table-func-t" title="hb_reference_table_func_t ()"><span class="type">hb_reference_table_func_t</span></a> reference_table_func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -329,7 +336,7 @@ hb_face_create_for_tables (<em class="parameter"><code><a class="link" href="har <div class="refsect2"> <a name="hb-face-destroy"></a><h3>hb_face_destroy ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_face_destroy (<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> +hb_face_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-face-destroy.parameters"></a><h4>Parameters</h4> @@ -351,7 +358,7 @@ hb_face_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-f <hr> <div class="refsect2"> <a name="hb-face-get-empty"></a><h3>hb_face_get_empty ()</h3> -<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> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * hb_face_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <div class="refsect3"> <a name="hb-face-get-empty.returns"></a><h4>Returns</h4> @@ -363,7 +370,7 @@ hb_face_get_empty (<em class="parameter"><code><span class="type">void</span></c <div class="refsect2"> <a name="hb-face-get-table-tags"></a><h3>hb_face_get_table_tags ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_face_get_table_tags (<em class="parameter"><code>const <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>, +hb_face_get_table_tags (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#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> *table_count</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> *table_tags</code></em>);</pre> @@ -411,7 +418,7 @@ array, output number of items written.</p></td> <div class="refsect2"> <a name="hb-face-get-glyph-count"></a><h3>hb_face_get_glyph_count ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_face_get_glyph_count (<em class="parameter"><code>const <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> +hb_face_get_glyph_count (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> <div class="refsect3"> <a name="hb-face-get-glyph-count.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -433,7 +440,7 @@ hb_face_get_glyph_count (<em class="parameter"><code>const <a class="link" href= <div class="refsect2"> <a name="hb-face-get-index"></a><h3>hb_face_get_index ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_face_get_index (<em class="parameter"><code>const <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> +hb_face_get_index (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> <div class="refsect3"> <a name="hb-face-get-index.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -455,7 +462,7 @@ hb_face_get_index (<em class="parameter"><code>const <a class="link" href="harfb <div class="refsect2"> <a name="hb-face-get-upem"></a><h3>hb_face_get_upem ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_face_get_upem (<em class="parameter"><code>const <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> +hb_face_get_upem (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> <div class="refsect3"> <a name="hb-face-get-upem.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -477,8 +484,8 @@ hb_face_get_upem (<em class="parameter"><code>const <a class="link" href="harfbu <div class="refsect2"> <a name="hb-face-get-user-data"></a><h3>hb_face_get_user_data ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> * -hb_face_get_user_data (<em class="parameter"><code>const <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-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> +hb_face_get_user_data (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#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-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-face-get-user-data.parameters"></a><h4>Parameters</h4> @@ -506,7 +513,7 @@ hb_face_get_user_data (<em class="parameter"><code>const <a class="link" href="h <div class="refsect2"> <a name="hb-face-is-immutable"></a><h3>hb_face_is_immutable ()</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_face_is_immutable (<em class="parameter"><code>const <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> +hb_face_is_immutable (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> <div class="refsect3"> <a name="hb-face-is-immutable.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -528,7 +535,7 @@ hb_face_is_immutable (<em class="parameter"><code>const <a class="link" href="ha <div class="refsect2"> <a name="hb-face-make-immutable"></a><h3>hb_face_make_immutable ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_face_make_immutable (<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> +hb_face_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> <div class="refsect3"> <a name="hb-face-make-immutable.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -549,8 +556,8 @@ hb_face_make_immutable (<em class="parameter"><code><a class="link" href="harfbu <hr> <div class="refsect2"> <a name="hb-face-reference"></a><h3>hb_face_reference ()</h3> -<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> * -hb_face_reference (<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> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * +hb_face_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-face-reference.parameters"></a><h4>Parameters</h4> @@ -572,8 +579,8 @@ hb_face_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb <hr> <div class="refsect2"> <a name="hb-face-reference-blob"></a><h3>hb_face_reference_blob ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * -hb_face_reference_blob (<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> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * +hb_face_reference_blob (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> <div class="refsect3"> <a name="hb-face-reference-blob.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -599,8 +606,8 @@ hb_face_reference_blob (<em class="parameter"><code><a class="link" href="harfbu <hr> <div class="refsect2"> <a name="hb-face-reference-table"></a><h3>hb_face_reference_table ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * -hb_face_reference_table (<em class="parameter"><code>const <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 class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * +hb_face_reference_table (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-face.html#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> tag</code></em>);</pre> <div class="refsect3"> <a name="hb-face-reference-table.parameters"></a><h4>Parameters</h4> @@ -628,7 +635,7 @@ hb_face_reference_table (<em class="parameter"><code>const <a class="link" href= <div class="refsect2"> <a name="hb-face-set-glyph-count"></a><h3>hb_face_set_glyph_count ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_face_set_glyph_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>, +hb_face_set_glyph_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> glyph_count</code></em>);</pre> <div class="refsect3"> <a name="hb-face-set-glyph-count.parameters"></a><h4>Parameters</h4> @@ -651,7 +658,7 @@ hb_face_set_glyph_count (<em class="parameter"><code><a class="link" href="harfb <div class="refsect2"> <a name="hb-face-set-index"></a><h3>hb_face_set_index ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_face_set_index (<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>, +hb_face_set_index (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> index</code></em>);</pre> <div class="refsect3"> <a name="hb-face-set-index.parameters"></a><h4>Parameters</h4> @@ -674,7 +681,7 @@ hb_face_set_index (<em class="parameter"><code><a class="link" href="harfbuzz-hb <div class="refsect2"> <a name="hb-face-set-upem"></a><h3>hb_face_set_upem ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_face_set_upem (<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>, +hb_face_set_upem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> upem</code></em>);</pre> <div class="refsect3"> <a name="hb-face-set-upem.parameters"></a><h4>Parameters</h4> @@ -697,8 +704,8 @@ hb_face_set_upem (<em class="parameter"><code><a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-face-set-user-data"></a><h3>hb_face_set_user_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_face_set_user_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>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, +hb_face_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, <em class="parameter"><code><span class="type">void</span> *data</code></em>, <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>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre> @@ -724,8 +731,8 @@ hb_face_set_user_data (<em class="parameter"><code><a class="link" href="harfbuz <div class="refsect2"> <a name="hb-face-collect-unicodes"></a><h3>hb_face_collect_unicodes ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_face_collect_unicodes (<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-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *out</code></em>);</pre> +hb_face_collect_unicodes (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *out</code></em>);</pre> <div class="refsect3"> <a name="hb-face-collect-unicodes.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -755,8 +762,8 @@ to.</p></td> <div class="refsect2"> <a name="hb-face-collect-variation-selectors"></a><h3>hb_face_collect_variation_selectors ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_face_collect_variation_selectors (<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-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *out</code></em>);</pre> +hb_face_collect_variation_selectors (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *out</code></em>);</pre> <div class="refsect3"> <a name="hb-face-collect-variation-selectors.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -786,9 +793,9 @@ to.</p></td> <div class="refsect2"> <a name="hb-face-collect-variation-unicodes"></a><h3>hb_face_collect_variation_unicodes ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_face_collect_variation_unicodes (<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>, +hb_face_collect_variation_unicodes (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> variation_selector</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> *out</code></em>);</pre> + <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *out</code></em>);</pre> <div class="refsect3"> <a name="hb-face-collect-variation-unicodes.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -818,9 +825,9 @@ to.</p></td> <hr> <div class="refsect2"> <a name="hb-face-builder-create"></a><h3>hb_face_builder_create ()</h3> -<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> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * hb_face_builder_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> -<p>Creates a <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> that can be used with <a class="link" href="harfbuzz-hb-face.html#hb-face-builder-add-table" title="hb_face_builder_add_table ()"><code class="function">hb_face_builder_add_table()</code></a>. +<p>Creates a <a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> that can be used with <a class="link" href="harfbuzz-hb-face.html#hb-face-builder-add-table" title="hb_face_builder_add_table ()"><code class="function">hb_face_builder_add_table()</code></a>. After tables are added to the face, it can be compiled to a binary font file by calling <a class="link" href="harfbuzz-hb-face.html#hb-face-reference-blob" title="hb_face_reference_blob ()"><code class="function">hb_face_reference_blob()</code></a>.</p> <div class="refsect3"> @@ -834,9 +841,9 @@ font file by calling <a class="link" href="harfbuzz-hb-face.html#hb-face-referen <div class="refsect2"> <a name="hb-face-builder-add-table"></a><h3>hb_face_builder_add_table ()</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_face_builder_add_table (<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>, +hb_face_builder_add_table (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> tag</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> + <em class="parameter"><code><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> *blob</code></em>);</pre> <p>Add table for <em class="parameter"><code>tag</code></em> with data provided by <em class="parameter"><code>blob</code></em> to the face. <em class="parameter"><code>face</code></em> diff --git a/docs/html/harfbuzz-hb-font.html b/docs/html/harfbuzz-hb-font.html index 5c9785f..4cc59b3 100644 --- a/docs/html/harfbuzz-hb-font.html +++ b/docs/html/harfbuzz-hb-font.html @@ -5,7 +5,7 @@ <title>hb-font: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch09.html" title="Core API"> +<link rel="up" href="ch11.html" title="Core API"> <link rel="prev" href="harfbuzz-hb-face.html" title="hb-face"> <link rel="next" href="harfbuzz-hb-map.html" title="hb-map"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -15,10 +15,11 @@ <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-font.description" class="shortcut">Description</a></span> + <a href="#harfbuzz-hb-font.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> + <a href="#harfbuzz-hb-font.object-hierarchy" class="shortcut">Object Hierarchy</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="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch11.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-face.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-map.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -49,7 +50,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> * +<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-font.html#hb-font-create" title="hb_font_create ()">hb_font_create</a> <span class="c_punctuation">()</span> @@ -57,7 +58,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> * +<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-font.html#hb-font-create-sub-font" title="hb_font_create_sub_font ()">hb_font_create_sub_font</a> <span class="c_punctuation">()</span> @@ -73,7 +74,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> * +<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="returnvalue">hb_font_funcs_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-create" title="hb_font_funcs_create ()">hb_font_funcs_create</a> <span class="c_punctuation">()</span> @@ -89,7 +90,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> * +<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="returnvalue">hb_font_funcs_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-get-empty" title="hb_font_funcs_get_empty ()">hb_font_funcs_get_empty</a> <span class="c_punctuation">()</span> @@ -121,7 +122,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> * +<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="returnvalue">hb_font_funcs_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-reference" title="hb_font_funcs_reference ()">hb_font_funcs_reference</a> <span class="c_punctuation">()</span> @@ -172,6 +173,14 @@ <span class="returnvalue">void</span> </td> <td class="function_name"> +<a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-h-kerning-func" title="hb_font_funcs_set_glyph_h_kerning_func ()">hb_font_funcs_set_glyph_h_kerning_func</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-font.html#hb-font-funcs-set-glyph-h-origin-func" title="hb_font_funcs_set_glyph_h_origin_func ()">hb_font_funcs_set_glyph_h_origin_func</a> <span class="c_punctuation">()</span> </td> </tr> @@ -241,7 +250,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> * +<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-font.html#hb-font-get-empty" title="hb_font_get_empty ()">hb_font_get_empty</a> <span class="c_punctuation">()</span> @@ -249,7 +258,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> * +<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-font.html#hb-font-get-face" title="hb_font_get_face ()">hb_font_get_face</a> <span class="c_punctuation">()</span> @@ -377,6 +386,14 @@ </tr> <tr> <td class="function_type"> +<a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-kerning" title="hb_font_get_glyph_h_kerning ()">hb_font_get_glyph_h_kerning</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"> @@ -385,6 +402,22 @@ </tr> <tr> <td class="function_type"> +<span class="returnvalue">void</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-kerning-for-direction" title="hb_font_get_glyph_kerning_for_direction ()">hb_font_get_glyph_kerning_for_direction</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> +</td> +<td class="function_name"> +<span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-kerning-func-t" title="hb_font_get_glyph_kerning_func_t ()">*hb_font_get_glyph_kerning_func_t</a><span class="c_punctuation">)</span> <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"> @@ -456,8 +489,15 @@ </td> </tr> <tr> +<td class="function_type">unsigned <span class="returnvalue">int</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-font.html#hb-font-get-nominal-glyphs" title="hb_font_get_nominal_glyphs ()">hb_font_get_nominal_glyphs</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> * +<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-font.html#hb-font-get-parent" title="hb_font_get_parent ()">hb_font_get_parent</a> <span class="c_punctuation">()</span> @@ -552,7 +592,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> * +<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-font.html#hb-font-reference" title="hb_font_reference ()">hb_font_reference</a> <span class="c_punctuation">()</span> @@ -651,12 +691,20 @@ <span class="returnvalue">void</span> </td> <td class="function_name"> +<a class="link" href="harfbuzz-hb-font.html#hb-font-set-var-named-instance" title="hb_font_set_var_named_instance ()">hb_font_set_var_named_instance</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-font.html#hb-font-subtract-glyph-origin-for-direction" title="hb_font_subtract_glyph_origin_for_direction ()">hb_font_subtract_glyph_origin_for_direction</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * +<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="harfbuzz-hb-font.html#hb-reference-table-func-t" title="hb_reference_table_func_t ()">*hb_reference_table_func_t</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> @@ -713,7 +761,7 @@ </tbody> </table></div> </div> -<div class="refsect1"> +<a name="hb-font-funcs-t"></a><a name="hb-font-t"></a><div class="refsect1"> <a name="harfbuzz-hb-font.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> @@ -723,7 +771,7 @@ <tbody> <tr> <td class="typedef_keyword">typedef</td> -<td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t">hb_font_funcs_t</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t">hb_font_funcs_t</a></td> </tr> <tr> <td class="typedef_keyword">typedef</td> @@ -735,6 +783,10 @@ </tr> <tr> <td class="typedef_keyword">typedef</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-kerning-func-t" title="hb_font_get_glyph_h_kerning_func_t">hb_font_get_glyph_h_kerning_func_t</a></td> +</tr> +<tr> +<td class="typedef_keyword">typedef</td> <td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-origin-func-t" title="hb_font_get_glyph_h_origin_func_t">hb_font_get_glyph_h_origin_func_t</a></td> </tr> <tr> @@ -751,7 +803,7 @@ </tr> <tr> <td class="typedef_keyword">typedef</td> -<td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t">hb_font_t</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-font.html#hb-font-t">hb_font_t</a></td> </tr> <tr> <td class="typedef_keyword">typedef</td> @@ -765,6 +817,13 @@ </table></div> </div> <div class="refsect1"> +<a name="harfbuzz-hb-font.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a> + <span class="lineart">├──</span> hb_font_funcs_t + <span class="lineart">╰──</span> hb_font_t +</pre> +</div> +<div class="refsect1"> <a name="harfbuzz-hb-font.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb.h> </pre> @@ -782,7 +841,7 @@ Fonts are created from font faces, and are used as input to <a name="hb-font-add-glyph-origin-for-direction"></a><h3>hb_font_add_glyph_origin_for_direction ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_font_add_glyph_origin_for_direction - (<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-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>, @@ -819,8 +878,8 @@ hb_font_add_glyph_origin_for_direction <hr> <div class="refsect2"> <a name="hb-font-create"></a><h3>hb_font_create ()</h3> -<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> * -hb_font_create (<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> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * +hb_font_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> <p><span class="annotation">[Xconstructor]</span></p> <div class="refsect3"> <a name="hb-font-create.parameters"></a><h4>Parameters</h4> @@ -847,8 +906,8 @@ hb_font_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-fa <hr> <div class="refsect2"> <a name="hb-font-create-sub-font"></a><h3>hb_font_create_sub_font ()</h3> -<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> * -hb_font_create_sub_font (<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> *parent</code></em>);</pre> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * +hb_font_create_sub_font (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *parent</code></em>);</pre> <div class="refsect3"> <a name="hb-font-create-sub-font.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -875,7 +934,7 @@ hb_font_create_sub_font (<em class="parameter"><code><a class="link" href="harfb <div class="refsect2"> <a name="hb-font-destroy"></a><h3>hb_font_destroy ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_destroy (<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> +hb_font_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-font-destroy.parameters"></a><h4>Parameters</h4> @@ -897,7 +956,7 @@ hb_font_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-f <hr> <div class="refsect2"> <a name="hb-font-funcs-create"></a><h3>hb_font_funcs_create ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="returnvalue">hb_font_funcs_t</span></a> * hb_font_funcs_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <p><span class="annotation">[Xconstructor]</span></p> <div class="refsect3"> @@ -911,7 +970,7 @@ hb_font_funcs_create (<em class="parameter"><code><span class="type">void</span> <div class="refsect2"> <a name="hb-font-funcs-destroy"></a><h3>hb_font_funcs_destroy ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_funcs_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre> +hb_font_funcs_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-font-funcs-destroy.parameters"></a><h4>Parameters</h4> @@ -933,7 +992,7 @@ hb_font_funcs_destroy (<em class="parameter"><code><a class="link" href="harfbuz <hr> <div class="refsect2"> <a name="hb-font-funcs-get-empty"></a><h3>hb_font_funcs_get_empty ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="returnvalue">hb_font_funcs_t</span></a> * hb_font_funcs_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <div class="refsect3"> <a name="hb-font-funcs-get-empty.returns"></a><h4>Returns</h4> @@ -946,8 +1005,8 @@ hb_font_funcs_get_empty (<em class="parameter"><code><span class="type">void</sp <div class="refsect2"> <a name="hb-font-funcs-get-user-data"></a><h3>hb_font_funcs_get_user_data ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> * -hb_font_funcs_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> +hb_font_funcs_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-font-funcs-get-user-data.parameters"></a><h4>Parameters</h4> @@ -975,7 +1034,7 @@ hb_font_funcs_get_user_data (<em class="parameter"><code><a class="link" href="h <div class="refsect2"> <a name="hb-font-funcs-is-immutable"></a><h3>hb_font_funcs_is_immutable ()</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_font_funcs_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre> +hb_font_funcs_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre> <div class="refsect3"> <a name="hb-font-funcs-is-immutable.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -997,7 +1056,7 @@ hb_font_funcs_is_immutable (<em class="parameter"><code><a class="link" href="ha <div class="refsect2"> <a name="hb-font-funcs-make-immutable"></a><h3>hb_font_funcs_make_immutable ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_funcs_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre> +hb_font_funcs_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre> <div class="refsect3"> <a name="hb-font-funcs-make-immutable.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -1018,8 +1077,8 @@ hb_font_funcs_make_immutable (<em class="parameter"><code><a class="link" href=" <hr> <div class="refsect2"> <a name="hb-font-funcs-reference"></a><h3>hb_font_funcs_reference ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="returnvalue">hb_font_funcs_t</span></a> * -hb_font_funcs_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="returnvalue">hb_font_funcs_t</span></a> * +hb_font_funcs_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-font-funcs-reference.parameters"></a><h4>Parameters</h4> @@ -1043,7 +1102,7 @@ hb_font_funcs_reference (<em class="parameter"><code><a class="link" href="harfb <a name="hb-font-funcs-set-glyph-contour-point-func"></a><h3>hb_font_funcs_set_glyph_contour_point_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_font_funcs_set_glyph_contour_point_func - (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, + (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-contour-point-func-t" title="hb_font_get_glyph_contour_point_func_t ()"><span class="type">hb_font_get_glyph_contour_point_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -1075,7 +1134,7 @@ hb_font_funcs_set_glyph_contour_point_func <div class="refsect2"> <a name="hb-font-funcs-set-glyph-extents-func"></a><h3>hb_font_funcs_set_glyph_extents_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_funcs_set_glyph_extents_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, +hb_font_funcs_set_glyph_extents_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-extents-func-t" title="hb_font_get_glyph_extents_func_t ()"><span class="type">hb_font_get_glyph_extents_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -1108,7 +1167,7 @@ hb_font_funcs_set_glyph_extents_func (<em class="parameter"><code><a class="link <a name="hb-font-funcs-set-glyph-from-name-func"></a><h3>hb_font_funcs_set_glyph_from_name_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_font_funcs_set_glyph_from_name_func - (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, + (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-from-name-func-t" title="hb_font_get_glyph_from_name_func_t ()"><span class="type">hb_font_get_glyph_from_name_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -1141,7 +1200,7 @@ hb_font_funcs_set_glyph_from_name_func <a name="hb-font-funcs-set-glyph-h-advance-func"></a><h3>hb_font_funcs_set_glyph_h_advance_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_font_funcs_set_glyph_h_advance_func - (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, + (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-advance-func-t" title="hb_font_get_glyph_h_advance_func_t"><span class="type">hb_font_get_glyph_h_advance_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -1174,7 +1233,7 @@ hb_font_funcs_set_glyph_h_advance_func <a name="hb-font-funcs-set-glyph-h-advances-func"></a><h3>hb_font_funcs_set_glyph_h_advances_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_font_funcs_set_glyph_h_advances_func - (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, + (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-advances-func-t" title="hb_font_get_glyph_h_advances_func_t"><span class="type">hb_font_get_glyph_h_advances_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -1204,9 +1263,42 @@ hb_font_funcs_set_glyph_h_advances_func </div> <hr> <div class="refsect2"> +<a name="hb-font-funcs-set-glyph-h-kerning-func"></a><h3>hb_font_funcs_set_glyph_h_kerning_func ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +hb_font_funcs_set_glyph_h_kerning_func + (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-kerning-func-t" title="hb_font_get_glyph_h_kerning_func_t"><span class="type">hb_font_get_glyph_h_kerning_func_t</span></a> func</code></em>, + <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, + <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> +<div class="refsect3"> +<a name="hb-font-funcs-set-glyph-h-kerning-func.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>ffuncs</p></td> +<td class="parameter_description"><p>font functions.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>func</p></td> +<td class="parameter_description"><p>. </p></td> +<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> user_data][<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> +</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> +<hr> +<div class="refsect2"> <a name="hb-font-funcs-set-glyph-h-origin-func"></a><h3>hb_font_funcs_set_glyph_h_origin_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_funcs_set_glyph_h_origin_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, +hb_font_funcs_set_glyph_h_origin_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-h-origin-func-t" title="hb_font_get_glyph_h_origin_func_t"><span class="type">hb_font_get_glyph_h_origin_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -1238,7 +1330,7 @@ hb_font_funcs_set_glyph_h_origin_func (<em class="parameter"><code><a class="lin <div class="refsect2"> <a name="hb-font-funcs-set-glyph-name-func"></a><h3>hb_font_funcs_set_glyph_name_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_funcs_set_glyph_name_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, +hb_font_funcs_set_glyph_name_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-name-func-t" title="hb_font_get_glyph_name_func_t ()"><span class="type">hb_font_get_glyph_name_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -1271,7 +1363,7 @@ hb_font_funcs_set_glyph_name_func (<em class="parameter"><code><a class="link" h <a name="hb-font-funcs-set-glyph-v-advance-func"></a><h3>hb_font_funcs_set_glyph_v_advance_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_font_funcs_set_glyph_v_advance_func - (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, + (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-advance-func-t" title="hb_font_get_glyph_v_advance_func_t"><span class="type">hb_font_get_glyph_v_advance_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -1304,7 +1396,7 @@ hb_font_funcs_set_glyph_v_advance_func <a name="hb-font-funcs-set-glyph-v-advances-func"></a><h3>hb_font_funcs_set_glyph_v_advances_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_font_funcs_set_glyph_v_advances_func - (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, + (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-advances-func-t" title="hb_font_get_glyph_v_advances_func_t"><span class="type">hb_font_get_glyph_v_advances_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -1336,7 +1428,7 @@ hb_font_funcs_set_glyph_v_advances_func <div class="refsect2"> <a name="hb-font-funcs-set-glyph-v-origin-func"></a><h3>hb_font_funcs_set_glyph_v_origin_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_funcs_set_glyph_v_origin_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, +hb_font_funcs_set_glyph_v_origin_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-glyph-v-origin-func-t" title="hb_font_get_glyph_v_origin_func_t"><span class="type">hb_font_get_glyph_v_origin_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -1368,7 +1460,7 @@ hb_font_funcs_set_glyph_v_origin_func (<em class="parameter"><code><a class="lin <div class="refsect2"> <a name="hb-font-funcs-set-nominal-glyph-func"></a><h3>hb_font_funcs_set_nominal_glyph_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_funcs_set_nominal_glyph_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, +hb_font_funcs_set_nominal_glyph_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-nominal-glyph-func-t" title="hb_font_get_nominal_glyph_func_t ()"><span class="type">hb_font_get_nominal_glyph_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -1400,7 +1492,7 @@ hb_font_funcs_set_nominal_glyph_func (<em class="parameter"><code><a class="link <div class="refsect2"> <a name="hb-font-funcs-set-nominal-glyphs-func"></a><h3>hb_font_funcs_set_nominal_glyphs_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_funcs_set_nominal_glyphs_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, +hb_font_funcs_set_nominal_glyphs_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><span class="type">hb_font_get_nominal_glyphs_func_t</span> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -1432,8 +1524,8 @@ hb_font_funcs_set_nominal_glyphs_func (<em class="parameter"><code><a class="lin <div class="refsect2"> <a name="hb-font-funcs-set-user-data"></a><h3>hb_font_funcs_set_user_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_font_funcs_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, +hb_font_funcs_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, <em class="parameter"><code><span class="type">void</span> *data</code></em>, <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>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre> @@ -1460,7 +1552,7 @@ hb_font_funcs_set_user_data (<em class="parameter"><code><a class="link" href="h <a name="hb-font-funcs-set-variation-glyph-func"></a><h3>hb_font_funcs_set_variation_glyph_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_font_funcs_set_variation_glyph_func - (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, + (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-variation-glyph-func-t" title="hb_font_get_variation_glyph_func_t ()"><span class="type">hb_font_get_variation_glyph_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -1491,7 +1583,7 @@ hb_font_funcs_set_variation_glyph_func <hr> <div class="refsect2"> <a name="hb-font-get-empty"></a><h3>hb_font_get_empty ()</h3> -<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> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * hb_font_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <div class="refsect3"> <a name="hb-font-get-empty.returns"></a><h4>Returns</h4> @@ -1502,8 +1594,8 @@ hb_font_get_empty (<em class="parameter"><code><span class="type">void</span></c <hr> <div class="refsect2"> <a name="hb-font-get-face"></a><h3>hb_font_get_face ()</h3> -<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> * -hb_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> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * +hb_font_get_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre> <div class="refsect3"> <a name="hb-font-get-face.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -1530,7 +1622,7 @@ hb_font_get_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-font-get-glyph"></a><h3>hb_font_get_glyph ()</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_font_get_glyph (<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>, +hb_font_get_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> variation_selector</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *glyph</code></em>);</pre> @@ -1563,7 +1655,7 @@ hb_font_get_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb <a name="hb-font-get-glyph-advance-for-direction"></a><h3>hb_font_get_glyph_advance_for_direction ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_font_get_glyph_advance_for_direction - (<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-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>, @@ -1601,7 +1693,7 @@ hb_font_get_glyph_advance_for_direction <div class="refsect2"> <a name="hb-font-get-glyph-advance-func-t"></a><h3>hb_font_get_glyph_advance_func_t ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> -<span class="c_punctuation">(</span>*hb_font_get_glyph_advance_func_t<span class="c_punctuation">)</span> (<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>, +<span class="c_punctuation">(</span>*hb_font_get_glyph_advance_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">void</span> *font_data</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre> @@ -1611,7 +1703,7 @@ hb_font_get_glyph_advance_for_direction <a name="hb-font-get-glyph-advances-for-direction"></a><h3>hb_font_get_glyph_advances_for_direction ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_font_get_glyph_advances_for_direction - (<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-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>, <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_glyph</code></em>, @@ -1639,7 +1731,7 @@ hb_font_get_glyph_advances_for_direction <div class="refsect2"> <a name="hb-font-get-glyph-advances-func-t"></a><h3>hb_font_get_glyph_advances_func_t ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -<span class="c_punctuation">(</span>*hb_font_get_glyph_advances_func_t<span class="c_punctuation">)</span> (<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>, +<span class="c_punctuation">(</span>*hb_font_get_glyph_advances_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">void</span> *font_data</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>, <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_glyph</code></em>, @@ -1652,7 +1744,7 @@ hb_font_get_glyph_advances_for_direction <div class="refsect2"> <a name="hb-font-get-glyph-contour-point"></a><h3>hb_font_get_glyph_contour_point ()</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_font_get_glyph_contour_point (<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>, +hb_font_get_glyph_contour_point (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> point_index</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>, @@ -1691,7 +1783,7 @@ hb_font_get_glyph_contour_point (<em class="parameter"><code><a class="link" hre <a name="hb-font-get-glyph-contour-point-for-origin"></a><h3>hb_font_get_glyph_contour_point_for_origin ()</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_font_get_glyph_contour_point_for_origin - (<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-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> point_index</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>, @@ -1731,7 +1823,7 @@ hb_font_get_glyph_contour_point_for_origin <a name="hb-font-get-glyph-contour-point-func-t"></a><h3>hb_font_get_glyph_contour_point_func_t ()</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> <span class="c_punctuation">(</span>*hb_font_get_glyph_contour_point_func_t<span class="c_punctuation">)</span> - (<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-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">void</span> *font_data</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> point_index</code></em>, @@ -1743,7 +1835,7 @@ hb_font_get_glyph_contour_point_for_origin <div class="refsect2"> <a name="hb-font-get-glyph-extents"></a><h3>hb_font_get_glyph_extents ()</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_font_get_glyph_extents (<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>, +hb_font_get_glyph_extents (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><span class="type">hb_glyph_extents_t</span> *extents</code></em>);</pre> <div class="refsect3"> @@ -1774,7 +1866,7 @@ hb_font_get_glyph_extents (<em class="parameter"><code><a class="link" href="har <div class="refsect2"> <a name="hb-font-get-glyph-extents-for-origin"></a><h3>hb_font_get_glyph_extents_for_origin ()</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_font_get_glyph_extents_for_origin (<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>, +hb_font_get_glyph_extents_for_origin (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>, <em class="parameter"><code><span class="type">hb_glyph_extents_t</span> *extents</code></em>);</pre> @@ -1806,7 +1898,7 @@ hb_font_get_glyph_extents_for_origin (<em class="parameter"><code><a class="link <div class="refsect2"> <a name="hb-font-get-glyph-extents-func-t"></a><h3>hb_font_get_glyph_extents_func_t ()</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> -<span class="c_punctuation">(</span>*hb_font_get_glyph_extents_func_t<span class="c_punctuation">)</span> (<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>, +<span class="c_punctuation">(</span>*hb_font_get_glyph_extents_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">void</span> *font_data</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><span class="type">hb_glyph_extents_t</span> *extents</code></em>, @@ -1816,7 +1908,7 @@ hb_font_get_glyph_extents_for_origin (<em class="parameter"><code><a class="link <div class="refsect2"> <a name="hb-font-get-glyph-from-name"></a><h3>hb_font_get_glyph_from_name ()</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_font_get_glyph_from_name (<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>, +hb_font_get_glyph_from_name (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code>const <span class="type">char</span> *name</code></em>, <em class="parameter"><code><span class="type">int</span> len</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *glyph</code></em>);</pre> @@ -1853,7 +1945,7 @@ hb_font_get_glyph_from_name (<em class="parameter"><code><a class="link" href="h <div class="refsect2"> <a name="hb-font-get-glyph-from-name-func-t"></a><h3>hb_font_get_glyph_from_name_func_t ()</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> -<span class="c_punctuation">(</span>*hb_font_get_glyph_from_name_func_t<span class="c_punctuation">)</span> (<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>, +<span class="c_punctuation">(</span>*hb_font_get_glyph_from_name_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">void</span> *font_data</code></em>, <em class="parameter"><code>const <span class="type">char</span> *name</code></em>, <em class="parameter"><code><span class="type">int</span> len</code></em>);</pre> @@ -1862,7 +1954,7 @@ hb_font_get_glyph_from_name (<em class="parameter"><code><a class="link" href="h <div class="refsect2"> <a name="hb-font-get-glyph-h-advance"></a><h3>hb_font_get_glyph_h_advance ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> -hb_font_get_glyph_h_advance (<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>, +hb_font_get_glyph_h_advance (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre> <div class="refsect3"> <a name="hb-font-get-glyph-h-advance.parameters"></a><h4>Parameters</h4> @@ -1885,7 +1977,7 @@ hb_font_get_glyph_h_advance (<em class="parameter"><code><a class="link" href="h <div class="refsect2"> <a name="hb-font-get-glyph-h-advances"></a><h3>hb_font_get_glyph_h_advances ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_get_glyph_h_advances (<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>, +hb_font_get_glyph_h_advances (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>, <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_glyph</code></em>, <em class="parameter"><code><span class="type">unsigned </span> glyph_stride</code></em>, @@ -1910,9 +2002,33 @@ hb_font_get_glyph_h_advances (<em class="parameter"><code><a class="link" href=" </div> <hr> <div class="refsect2"> +<a name="hb-font-get-glyph-h-kerning"></a><h3>hb_font_get_glyph_h_kerning ()</h3> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> +hb_font_get_glyph_h_kerning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> left_glyph</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> right_glyph</code></em>);</pre> +<div class="refsect3"> +<a name="hb-font-get-glyph-h-kerning.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 font.</p></td> +<td class="parameter_annotations"> </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> +<hr> +<div class="refsect2"> <a name="hb-font-get-glyph-h-origin"></a><h3>hb_font_get_glyph_h_origin ()</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_font_get_glyph_h_origin (<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>, +hb_font_get_glyph_h_origin (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *y</code></em>);</pre> @@ -1947,9 +2063,59 @@ hb_font_get_glyph_h_origin (<em class="parameter"><code><a class="link" href="ha </div> <hr> <div class="refsect2"> +<a name="hb-font-get-glyph-kerning-for-direction"></a><h3>hb_font_get_glyph_kerning_for_direction ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +hb_font_get_glyph_kerning_for_direction + (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> first_glyph</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> second_glyph</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *y</code></em>);</pre> +<div class="refsect3"> +<a name="hb-font-get-glyph-kerning-for-direction.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 font.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>x</p></td> +<td class="parameter_description"><p>. </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> +<tr> +<td class="parameter_name"><p>y</p></td> +<td class="parameter_description"><p>. </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> +<hr> +<div class="refsect2"> +<a name="hb-font-get-glyph-kerning-func-t"></a><h3>hb_font_get_glyph_kerning_func_t ()</h3> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> +<span class="c_punctuation">(</span>*hb_font_get_glyph_kerning_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, + <em class="parameter"><code><span class="type">void</span> *font_data</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> first_glyph</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> second_glyph</code></em>, + <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre> +</div> +<hr> +<div class="refsect2"> <a name="hb-font-get-glyph-name"></a><h3>hb_font_get_glyph_name ()</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_font_get_glyph_name (<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>, +hb_font_get_glyph_name (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><span class="type">char</span> *name</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre> @@ -1981,7 +2147,7 @@ hb_font_get_glyph_name (<em class="parameter"><code><a class="link" href="harfbu <div class="refsect2"> <a name="hb-font-get-glyph-name-func-t"></a><h3>hb_font_get_glyph_name_func_t ()</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> -<span class="c_punctuation">(</span>*hb_font_get_glyph_name_func_t<span class="c_punctuation">)</span> (<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>, +<span class="c_punctuation">(</span>*hb_font_get_glyph_name_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">void</span> *font_data</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><span class="type">char</span> *name</code></em>, @@ -1993,7 +2159,7 @@ hb_font_get_glyph_name (<em class="parameter"><code><a class="link" href="harfbu <a name="hb-font-get-glyph-origin-for-direction"></a><h3>hb_font_get_glyph_origin_for_direction ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_font_get_glyph_origin_for_direction - (<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-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>, @@ -2031,7 +2197,7 @@ hb_font_get_glyph_origin_for_direction <div class="refsect2"> <a name="hb-font-get-glyph-origin-func-t"></a><h3>hb_font_get_glyph_origin_func_t ()</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> -<span class="c_punctuation">(</span>*hb_font_get_glyph_origin_func_t<span class="c_punctuation">)</span> (<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>, +<span class="c_punctuation">(</span>*hb_font_get_glyph_origin_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">void</span> *font_data</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>, @@ -2042,7 +2208,7 @@ hb_font_get_glyph_origin_for_direction <div class="refsect2"> <a name="hb-font-get-glyph-v-advance"></a><h3>hb_font_get_glyph_v_advance ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> -hb_font_get_glyph_v_advance (<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>, +hb_font_get_glyph_v_advance (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre> <div class="refsect3"> <a name="hb-font-get-glyph-v-advance.parameters"></a><h4>Parameters</h4> @@ -2065,7 +2231,7 @@ hb_font_get_glyph_v_advance (<em class="parameter"><code><a class="link" href="h <div class="refsect2"> <a name="hb-font-get-glyph-v-advances"></a><h3>hb_font_get_glyph_v_advances ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_get_glyph_v_advances (<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>, +hb_font_get_glyph_v_advances (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>, <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_glyph</code></em>, <em class="parameter"><code><span class="type">unsigned </span> glyph_stride</code></em>, @@ -2092,7 +2258,7 @@ hb_font_get_glyph_v_advances (<em class="parameter"><code><a class="link" href=" <div class="refsect2"> <a name="hb-font-get-glyph-v-origin"></a><h3>hb_font_get_glyph_v_origin ()</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_font_get_glyph_v_origin (<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>, +hb_font_get_glyph_v_origin (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *y</code></em>);</pre> @@ -2129,7 +2295,7 @@ hb_font_get_glyph_v_origin (<em class="parameter"><code><a class="link" href="ha <div class="refsect2"> <a name="hb-font-get-nominal-glyph"></a><h3>hb_font_get_nominal_glyph ()</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_font_get_nominal_glyph (<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>, +hb_font_get_nominal_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *glyph</code></em>);</pre> <div class="refsect3"> @@ -2160,7 +2326,7 @@ hb_font_get_nominal_glyph (<em class="parameter"><code><a class="link" href="har <div class="refsect2"> <a name="hb-font-get-nominal-glyph-func-t"></a><h3>hb_font_get_nominal_glyph_func_t ()</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> -<span class="c_punctuation">(</span>*hb_font_get_nominal_glyph_func_t<span class="c_punctuation">)</span> (<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>, +<span class="c_punctuation">(</span>*hb_font_get_nominal_glyph_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">void</span> *font_data</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *glyph</code></em>, @@ -2168,9 +2334,36 @@ hb_font_get_nominal_glyph (<em class="parameter"><code><a class="link" href="har </div> <hr> <div class="refsect2"> +<a name="hb-font-get-nominal-glyphs"></a><h3>hb_font_get_nominal_glyphs ()</h3> +<pre class="programlisting">unsigned <span class="returnvalue">int</span> +hb_font_get_nominal_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> count</code></em>, + <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_unicode</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> unicode_stride</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first_glyph</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> glyph_stride</code></em>);</pre> +<div class="refsect3"> +<a name="hb-font-get-nominal-glyphs.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 font.</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<p class="since">Since: 2.6.3</p> +</div> +<hr> +<div class="refsect2"> <a name="hb-font-get-parent"></a><h3>hb_font_get_parent ()</h3> -<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> * -hb_font_get_parent (<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> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * +hb_font_get_parent (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre> <div class="refsect3"> <a name="hb-font-get-parent.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -2197,7 +2390,7 @@ hb_font_get_parent (<em class="parameter"><code><a class="link" href="harfbuzz-h <div class="refsect2"> <a name="hb-font-get-ppem"></a><h3>hb_font_get_ppem ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_get_ppem (<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>, +hb_font_get_ppem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *x_ppem</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *y_ppem</code></em>);</pre> <div class="refsect3"> @@ -2233,7 +2426,7 @@ hb_font_get_ppem (<em class="parameter"><code><a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-font-get-ptem"></a><h3>hb_font_get_ptem ()</h3> <pre class="programlisting"><span class="returnvalue">float</span> -hb_font_get_ptem (<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> +hb_font_get_ptem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre> <p>Gets the "point size" of the font. A value of 0 means unset.</p> <div class="refsect3"> <a name="hb-font-get-ptem.parameters"></a><h4>Parameters</h4> @@ -2260,7 +2453,7 @@ hb_font_get_ptem (<em class="parameter"><code><a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-font-get-scale"></a><h3>hb_font_get_scale ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_get_scale (<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>, +hb_font_get_scale (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">int</span> *x_scale</code></em>, <em class="parameter"><code><span class="type">int</span> *y_scale</code></em>);</pre> <div class="refsect3"> @@ -2296,8 +2489,8 @@ hb_font_get_scale (<em class="parameter"><code><a class="link" href="harfbuzz-hb <div class="refsect2"> <a name="hb-font-get-user-data"></a><h3>hb_font_get_user_data ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> * -hb_font_get_user_data (<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-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> +hb_font_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-font-get-user-data.parameters"></a><h4>Parameters</h4> @@ -2325,7 +2518,7 @@ hb_font_get_user_data (<em class="parameter"><code><a class="link" href="harfbuz <div class="refsect2"> <a name="hb-font-get-variation-glyph"></a><h3>hb_font_get_variation_glyph ()</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_font_get_variation_glyph (<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>, +hb_font_get_variation_glyph (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> variation_selector</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *glyph</code></em>);</pre> @@ -2357,7 +2550,7 @@ hb_font_get_variation_glyph (<em class="parameter"><code><a class="link" href="h <div class="refsect2"> <a name="hb-font-get-variation-glyph-func-t"></a><h3>hb_font_get_variation_glyph_func_t ()</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> -<span class="c_punctuation">(</span>*hb_font_get_variation_glyph_func_t<span class="c_punctuation">)</span> (<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>, +<span class="c_punctuation">(</span>*hb_font_get_variation_glyph_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">void</span> *font_data</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> variation_selector</code></em>, @@ -2368,7 +2561,7 @@ hb_font_get_variation_glyph (<em class="parameter"><code><a class="link" href="h <div class="refsect2"> <a name="hb-font-get-var-coords-normalized"></a><h3>hb_font_get_var_coords_normalized ()</h3> <pre class="programlisting">const <span class="returnvalue">int</span> * -hb_font_get_var_coords_normalized (<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>, +hb_font_get_var_coords_normalized (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *length</code></em>);</pre> <p>Return value is valid as long as variation coordinates of the font are not modified.</p> @@ -2378,7 +2571,7 @@ are not modified.</p> <div class="refsect2"> <a name="hb-font-glyph-from-string"></a><h3>hb_font_glyph_from_string ()</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_font_glyph_from_string (<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>, +hb_font_glyph_from_string (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code>const <span class="type">char</span> *s</code></em>, <em class="parameter"><code><span class="type">int</span> len</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *glyph</code></em>);</pre> @@ -2415,7 +2608,7 @@ hb_font_glyph_from_string (<em class="parameter"><code><a class="link" href="har <div class="refsect2"> <a name="hb-font-glyph-to-string"></a><h3>hb_font_glyph_to_string ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_glyph_to_string (<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>, +hb_font_glyph_to_string (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><span class="type">char</span> *s</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> size</code></em>);</pre> @@ -2447,7 +2640,7 @@ hb_font_glyph_to_string (<em class="parameter"><code><a class="link" href="harfb <div class="refsect2"> <a name="hb-font-is-immutable"></a><h3>hb_font_is_immutable ()</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_font_is_immutable (<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> +hb_font_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre> <div class="refsect3"> <a name="hb-font-is-immutable.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -2469,7 +2662,7 @@ hb_font_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz <div class="refsect2"> <a name="hb-font-make-immutable"></a><h3>hb_font_make_immutable ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_make_immutable (<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> +hb_font_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre> <div class="refsect3"> <a name="hb-font-make-immutable.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -2490,8 +2683,8 @@ hb_font_make_immutable (<em class="parameter"><code><a class="link" href="harfbu <hr> <div class="refsect2"> <a name="hb-font-reference"></a><h3>hb_font_reference ()</h3> -<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> * -hb_font_reference (<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> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * +hb_font_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-font-reference.parameters"></a><h4>Parameters</h4> @@ -2519,8 +2712,8 @@ hb_font_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb <div class="refsect2"> <a name="hb-font-set-face"></a><h3>hb_font_set_face ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_set_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>, - <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> +hb_font_set_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> <p>Sets font-face of <em class="parameter"><code>font</code></em> .</p> <div class="refsect3"> @@ -2551,8 +2744,8 @@ hb_font_set_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-font-set-funcs"></a><h3>hb_font_set_funcs ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_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>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *klass</code></em>, +hb_font_set_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *klass</code></em>, <em class="parameter"><code><span class="type">void</span> *font_data</code></em>, <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> <div class="refsect3"> @@ -2583,7 +2776,7 @@ hb_font_set_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb <div class="refsect2"> <a name="hb-font-set-funcs-data"></a><h3>hb_font_set_funcs_data ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_set_funcs_data (<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>, +hb_font_set_funcs_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">void</span> *font_data</code></em>, <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> <div class="refsect3"> @@ -2614,8 +2807,8 @@ hb_font_set_funcs_data (<em class="parameter"><code><a class="link" href="harfbu <div class="refsect2"> <a name="hb-font-set-parent"></a><h3>hb_font_set_parent ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_set_parent (<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-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> *parent</code></em>);</pre> +hb_font_set_parent (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *parent</code></em>);</pre> <p>Sets parent font of <em class="parameter"><code>font</code></em> .</p> <div class="refsect3"> @@ -2646,7 +2839,7 @@ hb_font_set_parent (<em class="parameter"><code><a class="link" href="harfbuzz-h <div class="refsect2"> <a name="hb-font-set-ppem"></a><h3>hb_font_set_ppem ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_set_ppem (<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>, +hb_font_set_ppem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> x_ppem</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> y_ppem</code></em>);</pre> <div class="refsect3"> @@ -2670,7 +2863,7 @@ hb_font_set_ppem (<em class="parameter"><code><a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-font-set-ptem"></a><h3>hb_font_set_ptem ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_set_ptem (<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>, +hb_font_set_ptem (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">float</span> ptem</code></em>);</pre> <p>Sets "point size" of the font. Set to 0 to unset.</p> <p>There are 72 points in an inch.</p> @@ -2702,7 +2895,7 @@ hb_font_set_ptem (<em class="parameter"><code><a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-font-set-scale"></a><h3>hb_font_set_scale ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_set_scale (<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>, +hb_font_set_scale (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">int</span> x_scale</code></em>, <em class="parameter"><code><span class="type">int</span> y_scale</code></em>);</pre> <div class="refsect3"> @@ -2726,8 +2919,8 @@ hb_font_set_scale (<em class="parameter"><code><a class="link" href="harfbuzz-hb <div class="refsect2"> <a name="hb-font-set-user-data"></a><h3>hb_font_set_user_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_font_set_user_data (<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-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, +hb_font_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, <em class="parameter"><code><span class="type">void</span> *data</code></em>, <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>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre> @@ -2753,7 +2946,7 @@ hb_font_set_user_data (<em class="parameter"><code><a class="link" href="harfbuz <div class="refsect2"> <a name="hb-font-set-variations"></a><h3>hb_font_set_variations ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_set_variations (<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>, +hb_font_set_variations (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</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>);</pre> <p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p> @@ -2762,7 +2955,7 @@ hb_font_set_variations (<em class="parameter"><code><a class="link" href="harfbu <div class="refsect2"> <a name="hb-font-set-var-coords-design"></a><h3>hb_font_set_var_coords_design ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_set_var_coords_design (<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>, +hb_font_set_var_coords_design (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code>const <span class="type">float</span> *coords</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> coords_length</code></em>);</pre> <p class="since">Since: <a class="link" href="api-index-1-4-2.html#api-index-1.4.2">1.4.2</a></p> @@ -2771,17 +2964,48 @@ hb_font_set_var_coords_design (<em class="parameter"><code><a class="link" href= <div class="refsect2"> <a name="hb-font-set-var-coords-normalized"></a><h3>hb_font_set_var_coords_normalized ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_set_var_coords_normalized (<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>, +hb_font_set_var_coords_normalized (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code>const <span class="type">int</span> *coords</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> coords_length</code></em>);</pre> <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-font-set-var-named-instance"></a><h3>hb_font_set_var_named_instance ()</h3> +<pre class="programlisting"><span class="returnvalue">void</span> +hb_font_set_var_named_instance (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, + <em class="parameter"><code><span class="type">unsigned </span> instance_index</code></em>);</pre> +<p>Sets design coords of a font from a named instance index.</p> +<div class="refsect3"> +<a name="hb-font-set-var-named-instance.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 font.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>instance_index</p></td> +<td class="parameter_description"><p>named instance index.</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: <a class="link" href="api-index-2-6-0.html#api-index-2.6.0">2.6.0</a></p> +</div> +<hr> +<div class="refsect2"> <a name="hb-font-subtract-glyph-origin-for-direction"></a><h3>hb_font_subtract_glyph_origin_for_direction ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_font_subtract_glyph_origin_for_direction - (<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-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *x</code></em>, @@ -2818,8 +3042,8 @@ hb_font_subtract_glyph_origin_for_direction <hr> <div class="refsect2"> <a name="hb-reference-table-func-t"></a><h3>hb_reference_table_func_t ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * -<span class="c_punctuation">(</span>*hb_reference_table_func_t<span class="c_punctuation">)</span> (<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 class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * +<span class="c_punctuation">(</span>*hb_reference_table_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> tag</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre> </div> @@ -2827,7 +3051,7 @@ hb_font_subtract_glyph_origin_for_direction <div class="refsect2"> <a name="hb-font-funcs-set-font-h-extents-func"></a><h3>hb_font_funcs_set_font_h_extents_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_funcs_set_font_h_extents_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, +hb_font_funcs_set_font_h_extents_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-font-h-extents-func-t" title="hb_font_get_font_h_extents_func_t"><span class="type">hb_font_get_font_h_extents_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -2859,7 +3083,7 @@ hb_font_funcs_set_font_h_extents_func (<em class="parameter"><code><a class="lin <div class="refsect2"> <a name="hb-font-funcs-set-font-v-extents-func"></a><h3>hb_font_funcs_set_font_v_extents_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_funcs_set_font_v_extents_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t" title="hb_font_funcs_t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, +hb_font_funcs_set_font_v_extents_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-funcs-t"><span class="type">hb_font_funcs_t</span></a> *ffuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-get-font-v-extents-func-t" title="hb_font_get_font_v_extents_func_t"><span class="type">hb_font_get_font_v_extents_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -2891,7 +3115,7 @@ hb_font_funcs_set_font_v_extents_func (<em class="parameter"><code><a class="lin <div class="refsect2"> <a name="hb-font-get-extents-for-direction"></a><h3>hb_font_get_extents_for_direction ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_font_get_extents_for_direction (<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>, +hb_font_get_extents_for_direction (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>, <em class="parameter"><code><span class="type">hb_font_extents_t</span> *extents</code></em>);</pre> <div class="refsect3"> @@ -2922,7 +3146,7 @@ hb_font_get_extents_for_direction (<em class="parameter"><code><a class="link" h <div class="refsect2"> <a name="hb-font-get-font-extents-func-t"></a><h3>hb_font_get_font_extents_func_t ()</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> -<span class="c_punctuation">(</span>*hb_font_get_font_extents_func_t<span class="c_punctuation">)</span> (<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>, +<span class="c_punctuation">(</span>*hb_font_get_font_extents_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">void</span> *font_data</code></em>, <em class="parameter"><code><span class="type">hb_font_extents_t</span> *extents</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre> @@ -2931,7 +3155,7 @@ hb_font_get_extents_for_direction (<em class="parameter"><code><a class="link" h <div class="refsect2"> <a name="hb-font-get-h-extents"></a><h3>hb_font_get_h_extents ()</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_font_get_h_extents (<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>, +hb_font_get_h_extents (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">hb_font_extents_t</span> *extents</code></em>);</pre> <div class="refsect3"> <a name="hb-font-get-h-extents.parameters"></a><h4>Parameters</h4> @@ -2961,7 +3185,7 @@ hb_font_get_h_extents (<em class="parameter"><code><a class="link" href="harfbuz <div class="refsect2"> <a name="hb-font-get-v-extents"></a><h3>hb_font_get_v_extents ()</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_font_get_v_extents (<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>, +hb_font_get_v_extents (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">hb_font_extents_t</span> *extents</code></em>);</pre> <div class="refsect3"> <a name="hb-font-get-v-extents.parameters"></a><h4>Parameters</h4> @@ -3009,6 +3233,12 @@ hb_font_get_v_extents (<em class="parameter"><code><a class="link" href="harfbuz </div> <hr> <div class="refsect2"> +<a name="hb-font-get-glyph-h-kerning-func-t"></a><h3>hb_font_get_glyph_h_kerning_func_t</h3> +<pre class="programlisting">typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_h_kerning_func_t; +</pre> +</div> +<hr> +<div class="refsect2"> <a name="hb-font-get-glyph-h-origin-func-t"></a><h3>hb_font_get_glyph_h_origin_func_t</h3> <pre class="programlisting">typedef hb_font_get_glyph_origin_func_t hb_font_get_glyph_h_origin_func_t; </pre> diff --git a/docs/html/harfbuzz-hb-ft.html b/docs/html/harfbuzz-hb-ft.html index dbc1f41..06884b7 100644 --- a/docs/html/harfbuzz-hb-ft.html +++ b/docs/html/harfbuzz-hb-ft.html @@ -5,7 +5,7 @@ <title>hb-ft: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch12.html" title="Integration API"> +<link rel="up" href="ch14.html" title="Integration API"> <link rel="prev" href="harfbuzz-hb-coretext.html" title="hb-coretext"> <link rel="next" href="harfbuzz-hb-glib.html" title="hb-glib"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -18,7 +18,7 @@ <a href="#harfbuzz-hb-ft.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="ch12.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch14.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-coretext.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-glib.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -41,7 +41,7 @@ <tbody> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> * +<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * </td> <td class="function_name"> <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> @@ -49,7 +49,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> * +<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * </td> <td class="function_name"> <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> @@ -57,7 +57,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="returnvalue">hb_face_t</span></a> * +<a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * </td> <td class="function_name"> <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> @@ -65,7 +65,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> * +<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * </td> <td class="function_name"> <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> @@ -73,7 +73,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="returnvalue">hb_font_t</span></a> * +<a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * </td> <td class="function_name"> <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> @@ -136,7 +136,7 @@ font data.</p> <a name="harfbuzz-hb-ft.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="hb-ft-face-create"></a><h3>hb_ft_face_create ()</h3> -<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> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * hb_ft_face_create (<em class="parameter"><code><span class="type">FT_Face</span> ft_face</code></em>, <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> <div class="refsect3"> @@ -164,7 +164,7 @@ hb_ft_face_create (<em class="parameter"><code><span class="type">FT_Face</span> <hr> <div class="refsect2"> <a name="hb-ft-face-create-cached"></a><h3>hb_ft_face_create_cached ()</h3> -<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> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * hb_ft_face_create_cached (<em class="parameter"><code><span class="type">FT_Face</span> ft_face</code></em>);</pre> <div class="refsect3"> <a name="hb-ft-face-create-cached.returns"></a><h4>Returns</h4> @@ -176,7 +176,7 @@ hb_ft_face_create_cached (<em class="parameter"><code><span class="type">FT_Face <hr> <div class="refsect2"> <a name="hb-ft-face-create-referenced"></a><h3>hb_ft_face_create_referenced ()</h3> -<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> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="returnvalue">hb_face_t</span></a> * hb_ft_face_create_referenced (<em class="parameter"><code><span class="type">FT_Face</span> ft_face</code></em>);</pre> <div class="refsect3"> <a name="hb-ft-face-create-referenced.returns"></a><h4>Returns</h4> @@ -188,7 +188,7 @@ hb_ft_face_create_referenced (<em class="parameter"><code><span class="type">FT_ <hr> <div class="refsect2"> <a name="hb-ft-font-create"></a><h3>hb_ft_font_create ()</h3> -<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> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * hb_ft_font_create (<em class="parameter"><code><span class="type">FT_Face</span> ft_face</code></em>, <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> <div class="refsect3"> @@ -216,7 +216,7 @@ hb_ft_font_create (<em class="parameter"><code><span class="type">FT_Face</span> <hr> <div class="refsect2"> <a name="hb-ft-font-create-referenced"></a><h3>hb_ft_font_create_referenced ()</h3> -<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> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="returnvalue">hb_font_t</span></a> * hb_ft_font_create_referenced (<em class="parameter"><code><span class="type">FT_Face</span> ft_face</code></em>);</pre> <div class="refsect3"> <a name="hb-ft-font-create-referenced.returns"></a><h4>Returns</h4> @@ -229,19 +229,19 @@ hb_ft_font_create_referenced (<em class="parameter"><code><span class="type">FT_ <div class="refsect2"> <a name="hb-ft-font-changed"></a><h3>hb_ft_font_changed ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -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> +hb_ft_font_changed (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre> </div> <hr> <div class="refsect2"> <a name="hb-ft-font-get-face"></a><h3>hb_ft_font_get_face ()</h3> <pre class="programlisting"><span class="returnvalue">FT_Face</span> -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> +hb_ft_font_get_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre> </div> <hr> <div class="refsect2"> <a name="hb-ft-font-set-load-flags"></a><h3>hb_ft_font_set_load_flags ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -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>, +hb_ft_font_set_load_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><span class="type">int</span> load_flags</code></em>);</pre> <p class="since">Since: <a class="link" href="api-index-1-0-5.html#api-index-1.0.5">1.0.5</a></p> </div> @@ -249,14 +249,14 @@ hb_ft_font_set_load_flags (<em class="parameter"><code><a class="link" href="har <div class="refsect2"> <a name="hb-ft-font-get-load-flags"></a><h3>hb_ft_font_get_load_flags ()</h3> <pre class="programlisting"><span class="returnvalue">int</span> -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> +hb_ft_font_get_load_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre> <p class="since">Since: <a class="link" href="api-index-1-0-5.html#api-index-1.0.5">1.0.5</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ft-font-set-funcs"></a><h3>hb_ft_font_set_funcs ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -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> +hb_ft_font_set_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre> </div> </div> <div class="refsect1"> diff --git a/docs/html/harfbuzz-hb-glib.html b/docs/html/harfbuzz-hb-glib.html index 2cfc4f2..2cbf3bd 100644 --- a/docs/html/harfbuzz-hb-glib.html +++ b/docs/html/harfbuzz-hb-glib.html @@ -5,7 +5,7 @@ <title>hb-glib: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch12.html" title="Integration API"> +<link rel="up" href="ch14.html" title="Integration API"> <link rel="prev" href="harfbuzz-hb-ft.html" title="hb-ft"> <link rel="next" href="harfbuzz-hb-gobject.html" title="hb-gobject"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -18,7 +18,7 @@ <a href="#harfbuzz-hb-glib.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="ch12.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch14.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-ft.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-gobject.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -41,7 +41,7 @@ <tbody> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-glib.html#hb-glib-get-unicode-funcs" title="hb_glib_get_unicode_funcs ()">hb_glib_get_unicode_funcs</a> <span class="c_punctuation">()</span> @@ -49,7 +49,7 @@ </tr> <tr> <td class="function_type"> -<a href="/usr/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html#GUnicodeScript"><span class="returnvalue">GUnicodeScript</span></a> +<span class="returnvalue">GUnicodeScript</span> </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-glib.html#hb-glib-script-from-script" title="hb_glib_script_from_script ()">hb_glib_script_from_script</a> <span class="c_punctuation">()</span> @@ -65,7 +65,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * +<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-glib.html#hb-glib-blob-create" title="hb_glib_blob_create ()">hb_glib_blob_create</a> <span class="c_punctuation">()</span> @@ -87,26 +87,26 @@ <a name="harfbuzz-hb-glib.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="hb-glib-get-unicode-funcs"></a><h3>hb_glib_get_unicode_funcs ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * hb_glib_get_unicode_funcs (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> </div> <hr> <div class="refsect2"> <a name="hb-glib-script-from-script"></a><h3>hb_glib_script_from_script ()</h3> -<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html#GUnicodeScript"><span class="returnvalue">GUnicodeScript</span></a> +<pre class="programlisting"><span class="returnvalue">GUnicodeScript</span> hb_glib_script_from_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="type">hb_script_t</span></a> script</code></em>);</pre> </div> <hr> <div class="refsect2"> <a name="hb-glib-script-to-script"></a><h3>hb_glib_script_to_script ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="returnvalue">hb_script_t</span></a> -hb_glib_script_to_script (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html#GUnicodeScript"><span class="type">GUnicodeScript</span></a> script</code></em>);</pre> +hb_glib_script_to_script (<em class="parameter"><code><span class="type">GUnicodeScript</span> script</code></em>);</pre> </div> <hr> <div class="refsect2"> <a name="hb-glib-blob-create"></a><h3>hb_glib_blob_create ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * -hb_glib_blob_create (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Byte-Arrays.html#GBytes"><span class="type">GBytes</span></a> *gbytes</code></em>);</pre> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * +hb_glib_blob_create (<em class="parameter"><code><span class="type">GBytes</span> *gbytes</code></em>);</pre> <p class="since">Since: <a class="link" href="api-index-0-9-38.html#api-index-0.9.38">0.9.38</a></p> </div> </div> diff --git a/docs/html/harfbuzz-hb-gobject.html b/docs/html/harfbuzz-hb-gobject.html index 60558e8..a733126 100644 --- a/docs/html/harfbuzz-hb-gobject.html +++ b/docs/html/harfbuzz-hb-gobject.html @@ -5,7 +5,7 @@ <title>hb-gobject: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch12.html" title="Integration API"> +<link rel="up" href="ch14.html" title="Integration API"> <link rel="prev" href="harfbuzz-hb-glib.html" title="hb-glib"> <link rel="next" href="harfbuzz-hb-graphite2.html" title="hb-graphite2"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -18,7 +18,7 @@ <a href="#harfbuzz-hb-gobject.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="ch12.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch14.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-glib.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-graphite2.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -32,6 +32,424 @@ <td class="gallery_image" valign="top" align="right"></td> </tr></table></div> <div class="refsect1"> +<a name="harfbuzz-hb-gobject.functions"></a><h2>Functions</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="functions_return"> +<col class="functions_name"> +</colgroup> +<tbody> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-blob-get-type" title="hb_gobject_blob_get_type ()">hb_gobject_blob_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-content-type-get-type" title="hb_gobject_buffer_content_type_get_type ()">hb_gobject_buffer_content_type_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-diff-flags-get-type" title="hb_gobject_buffer_diff_flags_get_type ()">hb_gobject_buffer_diff_flags_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-flags-get-type" title="hb_gobject_buffer_flags_get_type ()">hb_gobject_buffer_flags_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-get-type" title="hb_gobject_buffer_get_type ()">hb_gobject_buffer_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-serialize-flags-get-type" title="hb_gobject_buffer_serialize_flags_get_type ()">hb_gobject_buffer_serialize_flags_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-serialize-format-get-type" title="hb_gobject_buffer_serialize_format_get_type ()">hb_gobject_buffer_serialize_format_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-direction-get-type" title="hb_gobject_direction_get_type ()">hb_gobject_direction_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-face-get-type" title="hb_gobject_face_get_type ()">hb_gobject_face_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-font-funcs-get-type" title="hb_gobject_font_funcs_get_type ()">hb_gobject_font_funcs_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-font-get-type" title="hb_gobject_font_get_type ()">hb_gobject_font_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-glyph-flags-get-type" title="hb_gobject_glyph_flags_get_type ()">hb_gobject_glyph_flags_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-map-get-type" title="hb_gobject_map_get_type ()">hb_gobject_map_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-memory-mode-get-type" title="hb_gobject_memory_mode_get_type ()">hb_gobject_memory_mode_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-color-palette-flags-get-type" title="hb_gobject_ot_color_palette_flags_get_type ()">hb_gobject_ot_color_palette_flags_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-layout-glyph-class-get-type" title="hb_gobject_ot_layout_glyph_class_get_type ()">hb_gobject_ot_layout_glyph_class_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-constant-get-type" title="hb_gobject_ot_math_constant_get_type ()">hb_gobject_ot_math_constant_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-part-get-type" title="hb_gobject_ot_math_glyph_part_get_type ()">hb_gobject_ot_math_glyph_part_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-part-flags-get-type" title="hb_gobject_ot_math_glyph_part_flags_get_type ()">hb_gobject_ot_math_glyph_part_flags_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-variant-get-type" title="hb_gobject_ot_math_glyph_variant_get_type ()">hb_gobject_ot_math_glyph_variant_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-ot-math-kern-get-type" title="hb_gobject_ot_math_kern_get_type ()">hb_gobject_ot_math_kern_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-script-get-type" title="hb_gobject_script_get_type ()">hb_gobject_script_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-shape-plan-get-type" title="hb_gobject_shape_plan_get_type ()">hb_gobject_shape_plan_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-unicode-combining-class-get-type" title="hb_gobject_unicode_combining_class_get_type ()">hb_gobject_unicode_combining_class_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-unicode-funcs-get-type" title="hb_gobject_unicode_funcs_get_type ()">hb_gobject_unicode_funcs_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-unicode-general-category-get-type" title="hb_gobject_unicode_general_category_get_type ()">hb_gobject_unicode_general_category_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-buffer-cluster-level-get-type" title="hb_gobject_buffer_cluster_level_get_type ()">hb_gobject_buffer_cluster_level_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-feature-get-type" title="hb_gobject_feature_get_type ()">hb_gobject_feature_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-glyph-info-get-type" title="hb_gobject_glyph_info_get_type ()">hb_gobject_glyph_info_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-glyph-position-get-type" title="hb_gobject_glyph_position_get_type ()">hb_gobject_glyph_position_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-segment-properties-get-type" title="hb_gobject_segment_properties_get_type ()">hb_gobject_segment_properties_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-set-get-type" title="hb_gobject_set_get_type ()">hb_gobject_set_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> +<span class="returnvalue">GType</span> +</td> +<td class="function_name"> +<a class="link" href="harfbuzz-hb-gobject.html#hb-gobject-user-data-key-get-type" title="hb_gobject_user_data_key_get_type ()">hb_gobject_user_data_key_get_type</a> <span class="c_punctuation">()</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> +<a name="harfbuzz-hb-gobject.other"></a><h2>Types and Values</h2> +<div class="informaltable"><table class="informaltable" width="100%" border="0"> +<colgroup> +<col width="150px" class="name"> +<col class="description"> +</colgroup> +<tbody> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BLOB:CAPS" title="HB_GOBJECT_TYPE_BLOB">HB_GOBJECT_TYPE_BLOB</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER:CAPS" title="HB_GOBJECT_TYPE_BUFFER">HB_GOBJECT_TYPE_BUFFER</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-CONTENT-TYPE:CAPS" title="HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE">HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-DIFF-FLAGS:CAPS" title="HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS">HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-FLAGS:CAPS" title="HB_GOBJECT_TYPE_BUFFER_FLAGS">HB_GOBJECT_TYPE_BUFFER_FLAGS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FLAGS:CAPS" title="HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS">HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FORMAT:CAPS" title="HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT">HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-DIRECTION:CAPS" title="HB_GOBJECT_TYPE_DIRECTION">HB_GOBJECT_TYPE_DIRECTION</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FACE:CAPS" title="HB_GOBJECT_TYPE_FACE">HB_GOBJECT_TYPE_FACE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FONT:CAPS" title="HB_GOBJECT_TYPE_FONT">HB_GOBJECT_TYPE_FONT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FONT-FUNCS:CAPS" title="HB_GOBJECT_TYPE_FONT_FUNCS">HB_GOBJECT_TYPE_FONT_FUNCS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-FLAGS:CAPS" title="HB_GOBJECT_TYPE_GLYPH_FLAGS">HB_GOBJECT_TYPE_GLYPH_FLAGS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-MAP:CAPS" title="HB_GOBJECT_TYPE_MAP">HB_GOBJECT_TYPE_MAP</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-MEMORY-MODE:CAPS" title="HB_GOBJECT_TYPE_MEMORY_MODE">HB_GOBJECT_TYPE_MEMORY_MODE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-COLOR-PALETTE-FLAGS:CAPS" title="HB_GOBJECT_TYPE_OT_COLOR_PALETTE_FLAGS">HB_GOBJECT_TYPE_OT_COLOR_PALETTE_FLAGS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-LAYOUT-GLYPH-CLASS:CAPS" title="HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS">HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-CONSTANT:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_CONSTANT">HB_GOBJECT_TYPE_OT_MATH_CONSTANT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART">HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART-FLAGS:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS">HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-VARIANT:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT">HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-KERN:CAPS" title="HB_GOBJECT_TYPE_OT_MATH_KERN">HB_GOBJECT_TYPE_OT_MATH_KERN</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SCRIPT:CAPS" title="HB_GOBJECT_TYPE_SCRIPT">HB_GOBJECT_TYPE_SCRIPT</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SHAPE-PLAN:CAPS" title="HB_GOBJECT_TYPE_SHAPE_PLAN">HB_GOBJECT_TYPE_SHAPE_PLAN</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-COMBINING-CLASS:CAPS" title="HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS">HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-FUNCS:CAPS" title="HB_GOBJECT_TYPE_UNICODE_FUNCS">HB_GOBJECT_TYPE_UNICODE_FUNCS</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-GENERAL-CATEGORY:CAPS" title="HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY">HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-CLUSTER-LEVEL:CAPS" title="HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL">HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FEATURE:CAPS" title="HB_GOBJECT_TYPE_FEATURE">HB_GOBJECT_TYPE_FEATURE</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-INFO:CAPS" title="HB_GOBJECT_TYPE_GLYPH_INFO">HB_GOBJECT_TYPE_GLYPH_INFO</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-POSITION:CAPS" title="HB_GOBJECT_TYPE_GLYPH_POSITION">HB_GOBJECT_TYPE_GLYPH_POSITION</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SEGMENT-PROPERTIES:CAPS" title="HB_GOBJECT_TYPE_SEGMENT_PROPERTIES">HB_GOBJECT_TYPE_SEGMENT_PROPERTIES</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SET:CAPS" title="HB_GOBJECT_TYPE_SET">HB_GOBJECT_TYPE_SET</a></td> +</tr> +<tr> +<td class="define_keyword">#define</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-USER-DATA-KEY:CAPS" title="HB_GOBJECT_TYPE_USER_DATA_KEY">HB_GOBJECT_TYPE_USER_DATA_KEY</a></td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect1"> <a name="harfbuzz-hb-gobject.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb-gobject.h> </pre> @@ -43,10 +461,421 @@ type data.</p> </div> <div class="refsect1"> <a name="harfbuzz-hb-gobject.functions_details"></a><h2>Functions</h2> -<p></p> +<div class="refsect2"> +<a name="hb-gobject-blob-get-type"></a><h3>hb_gobject_blob_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_blob_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<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> +<hr> +<div class="refsect2"> +<a name="hb-gobject-buffer-content-type-get-type"></a><h3>hb_gobject_buffer_content_type_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_buffer_content_type_get_type + ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-buffer-diff-flags-get-type"></a><h3>hb_gobject_buffer_diff_flags_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_buffer_diff_flags_get_type ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-buffer-flags-get-type"></a><h3>hb_gobject_buffer_flags_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_buffer_flags_get_type ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-buffer-get-type"></a><h3>hb_gobject_buffer_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_buffer_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<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> +<hr> +<div class="refsect2"> +<a name="hb-gobject-buffer-serialize-flags-get-type"></a><h3>hb_gobject_buffer_serialize_flags_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_buffer_serialize_flags_get_type + ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-buffer-serialize-format-get-type"></a><h3>hb_gobject_buffer_serialize_format_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_buffer_serialize_format_get_type + ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-direction-get-type"></a><h3>hb_gobject_direction_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_direction_get_type ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-face-get-type"></a><h3>hb_gobject_face_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_face_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<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> +<hr> +<div class="refsect2"> +<a name="hb-gobject-font-funcs-get-type"></a><h3>hb_gobject_font_funcs_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_font_funcs_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<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> +<hr> +<div class="refsect2"> +<a name="hb-gobject-font-get-type"></a><h3>hb_gobject_font_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_font_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<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> +<hr> +<div class="refsect2"> +<a name="hb-gobject-glyph-flags-get-type"></a><h3>hb_gobject_glyph_flags_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_glyph_flags_get_type ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-map-get-type"></a><h3>hb_gobject_map_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_map_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-memory-mode-get-type"></a><h3>hb_gobject_memory_mode_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_memory_mode_get_type ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-ot-color-palette-flags-get-type"></a><h3>hb_gobject_ot_color_palette_flags_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_ot_color_palette_flags_get_type + ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-ot-layout-glyph-class-get-type"></a><h3>hb_gobject_ot_layout_glyph_class_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_ot_layout_glyph_class_get_type + ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-ot-math-constant-get-type"></a><h3>hb_gobject_ot_math_constant_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_ot_math_constant_get_type ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-ot-math-glyph-part-get-type"></a><h3>hb_gobject_ot_math_glyph_part_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_ot_math_glyph_part_get_type + (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-ot-math-glyph-part-flags-get-type"></a><h3>hb_gobject_ot_math_glyph_part_flags_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_ot_math_glyph_part_flags_get_type + ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-ot-math-glyph-variant-get-type"></a><h3>hb_gobject_ot_math_glyph_variant_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_ot_math_glyph_variant_get_type + (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-ot-math-kern-get-type"></a><h3>hb_gobject_ot_math_kern_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_ot_math_kern_get_type ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-script-get-type"></a><h3>hb_gobject_script_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_script_get_type ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-shape-plan-get-type"></a><h3>hb_gobject_shape_plan_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_shape_plan_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-unicode-combining-class-get-type"></a><h3>hb_gobject_unicode_combining_class_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_unicode_combining_class_get_type + ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-unicode-funcs-get-type"></a><h3>hb_gobject_unicode_funcs_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_unicode_funcs_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<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> +<hr> +<div class="refsect2"> +<a name="hb-gobject-unicode-general-category-get-type"></a><h3>hb_gobject_unicode_general_category_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_unicode_general_category_get_type + ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-buffer-cluster-level-get-type"></a><h3>hb_gobject_buffer_cluster_level_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_buffer_cluster_level_get_type + ();</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-feature-get-type"></a><h3>hb_gobject_feature_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_feature_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-glyph-info-get-type"></a><h3>hb_gobject_glyph_info_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_glyph_info_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-glyph-position-get-type"></a><h3>hb_gobject_glyph_position_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_glyph_position_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-segment-properties-get-type"></a><h3>hb_gobject_segment_properties_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_segment_properties_get_type + (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-set-get-type"></a><h3>hb_gobject_set_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_set_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +</div> +<hr> +<div class="refsect2"> +<a name="hb-gobject-user-data-key-get-type"></a><h3>hb_gobject_user_data_key_get_type ()</h3> +<pre class="programlisting"><span class="returnvalue">GType</span> +hb_gobject_user_data_key_get_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +</div> </div> <div class="refsect1"> <a name="harfbuzz-hb-gobject.other_details"></a><h2>Types and Values</h2> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-BLOB:CAPS"></a><h3>HB_GOBJECT_TYPE_BLOB</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_BLOB (hb_gobject_blob_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-BUFFER:CAPS"></a><h3>HB_GOBJECT_TYPE_BUFFER</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_BUFFER (hb_gobject_buffer_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-BUFFER-CONTENT-TYPE:CAPS"></a><h3>HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE (hb_gobject_buffer_content_type_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-BUFFER-DIFF-FLAGS:CAPS"></a><h3>HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS (hb_gobject_buffer_diff_flags_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-BUFFER-FLAGS:CAPS"></a><h3>HB_GOBJECT_TYPE_BUFFER_FLAGS</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_BUFFER_FLAGS (hb_gobject_buffer_flags_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FLAGS:CAPS"></a><h3>HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS (hb_gobject_buffer_serialize_flags_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FORMAT:CAPS"></a><h3>HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT (hb_gobject_buffer_serialize_format_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-DIRECTION:CAPS"></a><h3>HB_GOBJECT_TYPE_DIRECTION</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_DIRECTION (hb_gobject_direction_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-FACE:CAPS"></a><h3>HB_GOBJECT_TYPE_FACE</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_FACE (hb_gobject_face_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-FONT:CAPS"></a><h3>HB_GOBJECT_TYPE_FONT</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_FONT (hb_gobject_font_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-FONT-FUNCS:CAPS"></a><h3>HB_GOBJECT_TYPE_FONT_FUNCS</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_FONT_FUNCS (hb_gobject_font_funcs_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-GLYPH-FLAGS:CAPS"></a><h3>HB_GOBJECT_TYPE_GLYPH_FLAGS</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_GLYPH_FLAGS (hb_gobject_glyph_flags_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-MAP:CAPS"></a><h3>HB_GOBJECT_TYPE_MAP</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_MAP (hb_gobject_map_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-MEMORY-MODE:CAPS"></a><h3>HB_GOBJECT_TYPE_MEMORY_MODE</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_MEMORY_MODE (hb_gobject_memory_mode_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-OT-COLOR-PALETTE-FLAGS:CAPS"></a><h3>HB_GOBJECT_TYPE_OT_COLOR_PALETTE_FLAGS</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_OT_COLOR_PALETTE_FLAGS (hb_gobject_ot_color_palette_flags_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-OT-LAYOUT-GLYPH-CLASS:CAPS"></a><h3>HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS (hb_gobject_ot_layout_glyph_class_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-OT-MATH-CONSTANT:CAPS"></a><h3>HB_GOBJECT_TYPE_OT_MATH_CONSTANT</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_OT_MATH_CONSTANT (hb_gobject_ot_math_constant_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART:CAPS"></a><h3>HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART (hb_gobject_ot_math_glyph_part_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART-FLAGS:CAPS"></a><h3>HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS (hb_gobject_ot_math_glyph_part_flags_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-OT-MATH-GLYPH-VARIANT:CAPS"></a><h3>HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT (hb_gobject_ot_math_glyph_variant_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-OT-MATH-KERN:CAPS"></a><h3>HB_GOBJECT_TYPE_OT_MATH_KERN</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_OT_MATH_KERN (hb_gobject_ot_math_kern_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-SCRIPT:CAPS"></a><h3>HB_GOBJECT_TYPE_SCRIPT</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_SCRIPT (hb_gobject_script_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-SHAPE-PLAN:CAPS"></a><h3>HB_GOBJECT_TYPE_SHAPE_PLAN</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_SHAPE_PLAN (hb_gobject_shape_plan_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-UNICODE-COMBINING-CLASS:CAPS"></a><h3>HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS (hb_gobject_unicode_combining_class_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-UNICODE-FUNCS:CAPS"></a><h3>HB_GOBJECT_TYPE_UNICODE_FUNCS</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_UNICODE_FUNCS (hb_gobject_unicode_funcs_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-UNICODE-GENERAL-CATEGORY:CAPS"></a><h3>HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY (hb_gobject_unicode_general_category_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-BUFFER-CLUSTER-LEVEL:CAPS"></a><h3>HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL (hb_gobject_buffer_cluster_level_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-FEATURE:CAPS"></a><h3>HB_GOBJECT_TYPE_FEATURE</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_FEATURE (hb_gobject_feature_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-GLYPH-INFO:CAPS"></a><h3>HB_GOBJECT_TYPE_GLYPH_INFO</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_GLYPH_INFO (hb_gobject_glyph_info_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-GLYPH-POSITION:CAPS"></a><h3>HB_GOBJECT_TYPE_GLYPH_POSITION</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_GLYPH_POSITION (hb_gobject_glyph_position_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-SEGMENT-PROPERTIES:CAPS"></a><h3>HB_GOBJECT_TYPE_SEGMENT_PROPERTIES</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_SEGMENT_PROPERTIES (hb_gobject_segment_properties_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-SET:CAPS"></a><h3>HB_GOBJECT_TYPE_SET</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_SET (hb_gobject_set_get_type ()) +</pre> +</div> +<hr> +<div class="refsect2"> +<a name="HB-GOBJECT-TYPE-USER-DATA-KEY:CAPS"></a><h3>HB_GOBJECT_TYPE_USER_DATA_KEY</h3> +<pre class="programlisting">#define HB_GOBJECT_TYPE_USER_DATA_KEY (hb_gobject_user_data_key_get_type ()) +</pre> +</div> </div> </div> <div class="footer"> diff --git a/docs/html/harfbuzz-hb-graphite2.html b/docs/html/harfbuzz-hb-graphite2.html index b6d779b..57a087d 100644 --- a/docs/html/harfbuzz-hb-graphite2.html +++ b/docs/html/harfbuzz-hb-graphite2.html @@ -5,7 +5,7 @@ <title>hb-graphite2: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch12.html" title="Integration API"> +<link rel="up" href="ch14.html" title="Integration API"> <link rel="prev" href="harfbuzz-hb-gobject.html" title="hb-gobject"> <link rel="next" href="harfbuzz-hb-icu.html" title="hb-icu"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -18,7 +18,7 @@ <a href="#harfbuzz-hb-graphite2.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="ch12.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch14.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-gobject.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-icu.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -75,7 +75,7 @@ <div class="refsect2"> <a name="hb-graphite2-face-get-gr-face"></a><h3>hb_graphite2_face_get_gr_face ()</h3> <pre class="programlisting"><span class="returnvalue">gr_face</span> * -hb_graphite2_face_get_gr_face (<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> +hb_graphite2_face_get_gr_face (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> </div> </div> <div class="refsect1"> diff --git a/docs/html/harfbuzz-hb-icu.html b/docs/html/harfbuzz-hb-icu.html index d1a31de..d89128c 100644 --- a/docs/html/harfbuzz-hb-icu.html +++ b/docs/html/harfbuzz-hb-icu.html @@ -5,7 +5,7 @@ <title>hb-icu: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch12.html" title="Integration API"> +<link rel="up" href="ch14.html" title="Integration API"> <link rel="prev" href="harfbuzz-hb-graphite2.html" title="hb-graphite2"> <link rel="next" href="harfbuzz-hb-uniscribe.html" title="hb-uniscribe"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -18,7 +18,7 @@ <a href="#harfbuzz-hb-icu.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="ch12.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch14.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-graphite2.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-uniscribe.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -41,7 +41,7 @@ <tbody> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-icu.html#hb-icu-get-unicode-funcs" title="hb_icu_get_unicode_funcs ()">hb_icu_get_unicode_funcs</a> <span class="c_punctuation">()</span> @@ -79,7 +79,7 @@ <a name="harfbuzz-hb-icu.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="hb-icu-get-unicode-funcs"></a><h3>hb_icu_get_unicode_funcs ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * hb_icu_get_unicode_funcs (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> </div> <hr> diff --git a/docs/html/harfbuzz-hb-map.html b/docs/html/harfbuzz-hb-map.html index 1e62513..e54c629 100644 --- a/docs/html/harfbuzz-hb-map.html +++ b/docs/html/harfbuzz-hb-map.html @@ -5,7 +5,7 @@ <title>hb-map: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch09.html" title="Core API"> +<link rel="up" href="ch11.html" title="Core API"> <link rel="prev" href="harfbuzz-hb-font.html" title="hb-font"> <link rel="next" href="harfbuzz-hb-set.html" title="hb-set"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -15,10 +15,11 @@ <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-map.description" class="shortcut">Description</a></span> + <a href="#harfbuzz-hb-map.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> + <a href="#harfbuzz-hb-map.object-hierarchy" class="shortcut">Object Hierarchy</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="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch11.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-font.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-set.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -57,7 +58,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="returnvalue">hb_map_t</span></a> * +<a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="returnvalue">hb_map_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-map.html#hb-map-create" title="hb_map_create ()">hb_map_create</a> <span class="c_punctuation">()</span> @@ -89,7 +90,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="returnvalue">hb_map_t</span></a> * +<a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="returnvalue">hb_map_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-map.html#hb-map-get-empty" title="hb_map_get_empty ()">hb_map_get_empty</a> <span class="c_punctuation">()</span> @@ -128,7 +129,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="returnvalue">hb_map_t</span></a> * +<a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="returnvalue">hb_map_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-map.html#hb-map-reference" title="hb_map_reference ()">hb_map_reference</a> <span class="c_punctuation">()</span> @@ -153,7 +154,7 @@ </tbody> </table></div> </div> -<div class="refsect1"> +<a name="hb-map-t"></a><div class="refsect1"> <a name="harfbuzz-hb-map.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> @@ -167,12 +168,18 @@ </tr> <tr> <td class="typedef_keyword">typedef</td> -<td class="function_name"><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t">hb_map_t</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-map.html#hb-map-t">hb_map_t</a></td> </tr> </tbody> </table></div> </div> <div class="refsect1"> +<a name="harfbuzz-hb-map.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a> + <span class="lineart">╰──</span> hb_map_t +</pre> +</div> +<div class="refsect1"> <a name="harfbuzz-hb-map.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb.h> </pre> @@ -188,7 +195,7 @@ use if desired.</p> <div class="refsect2"> <a name="hb-map-allocation-successful"></a><h3>hb_map_allocation_successful ()</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_map_allocation_successful (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre> +hb_map_allocation_successful (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre> <div class="refsect3"> <a name="hb-map-allocation-successful.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -210,7 +217,7 @@ hb_map_allocation_successful (<em class="parameter"><code>const <a class="link" <div class="refsect2"> <a name="hb-map-clear"></a><h3>hb_map_clear ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_map_clear (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre> +hb_map_clear (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre> <div class="refsect3"> <a name="hb-map-clear.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -231,7 +238,7 @@ hb_map_clear (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map. <hr> <div class="refsect2"> <a name="hb-map-create"></a><h3>hb_map_create ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="returnvalue">hb_map_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="returnvalue">hb_map_t</span></a> * hb_map_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <p><span class="annotation">[Xconstructor]</span></p> <div class="refsect3"> @@ -245,7 +252,7 @@ hb_map_create (<em class="parameter"><code><span class="type">void</span></code> <div class="refsect2"> <a name="hb-map-del"></a><h3>hb_map_del ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_map_del (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>, +hb_map_del (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> key</code></em>);</pre> <div class="refsect3"> <a name="hb-map-del.parameters"></a><h4>Parameters</h4> @@ -268,7 +275,7 @@ hb_map_del (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.ht <div class="refsect2"> <a name="hb-map-destroy"></a><h3>hb_map_destroy ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_map_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre> +hb_map_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-map-destroy.parameters"></a><h4>Parameters</h4> @@ -291,7 +298,7 @@ hb_map_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-ma <div class="refsect2"> <a name="hb-map-get"></a><h3>hb_map_get ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a> -hb_map_get (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>, +hb_map_get (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> key</code></em>);</pre> <div class="refsect3"> <a name="hb-map-get.parameters"></a><h4>Parameters</h4> @@ -313,7 +320,7 @@ hb_map_get (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb- <hr> <div class="refsect2"> <a name="hb-map-get-empty"></a><h3>hb_map_get_empty ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="returnvalue">hb_map_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="returnvalue">hb_map_t</span></a> * hb_map_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <div class="refsect3"> <a name="hb-map-get-empty.returns"></a><h4>Returns</h4> @@ -326,7 +333,7 @@ hb_map_get_empty (<em class="parameter"><code><span class="type">void</span></co <div class="refsect2"> <a name="hb-map-get-population"></a><h3>hb_map_get_population ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_map_get_population (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre> +hb_map_get_population (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre> <div class="refsect3"> <a name="hb-map-get-population.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -348,8 +355,8 @@ hb_map_get_population (<em class="parameter"><code>const <a class="link" href="h <div class="refsect2"> <a name="hb-map-get-user-data"></a><h3>hb_map_get_user_data ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> * -hb_map_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> +hb_map_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-map-get-user-data.parameters"></a><h4>Parameters</h4> @@ -377,7 +384,7 @@ hb_map_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz <div class="refsect2"> <a name="hb-map-has"></a><h3>hb_map_has ()</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_map_has (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>, +hb_map_has (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> key</code></em>);</pre> <div class="refsect3"> <a name="hb-map-has.parameters"></a><h4>Parameters</h4> @@ -400,7 +407,7 @@ hb_map_has (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-map-is-empty"></a><h3>hb_map_is_empty ()</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_map_is_empty (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre> +hb_map_is_empty (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre> <div class="refsect3"> <a name="hb-map-is-empty.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -421,8 +428,8 @@ hb_map_is_empty (<em class="parameter"><code>const <a class="link" href="harfbuz <hr> <div class="refsect2"> <a name="hb-map-reference"></a><h3>hb_map_reference ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="returnvalue">hb_map_t</span></a> * -hb_map_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="returnvalue">hb_map_t</span></a> * +hb_map_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-map-reference.parameters"></a><h4>Parameters</h4> @@ -450,7 +457,7 @@ hb_map_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-map-set"></a><h3>hb_map_set ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_map_set (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>, +hb_map_set (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> key</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> value</code></em>);</pre> <div class="refsect3"> @@ -474,8 +481,8 @@ hb_map_set (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.ht <div class="refsect2"> <a name="hb-map-set-user-data"></a><h3>hb_map_set_user_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_map_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t" title="hb_map_t"><span class="type">hb_map_t</span></a> *map</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, +hb_map_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-map.html#hb-map-t"><span class="type">hb_map_t</span></a> *map</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, <em class="parameter"><code><span class="type">void</span> *data</code></em>, <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>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre> diff --git a/docs/html/harfbuzz-hb-ot-color.html b/docs/html/harfbuzz-hb-ot-color.html index 0d230e0..ed364e4 100644 --- a/docs/html/harfbuzz-hb-ot-color.html +++ b/docs/html/harfbuzz-hb-ot-color.html @@ -5,8 +5,8 @@ <title>hb-ot-color: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch10.html" title="OpenType API"> -<link rel="prev" href="ch10.html" title="OpenType API"> +<link rel="up" href="ch12.html" title="OpenType API"> +<link rel="prev" href="ch12.html" title="OpenType API"> <link rel="next" href="harfbuzz-hb-ot-font.html" title="hb-ot-font"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> @@ -15,11 +15,12 @@ <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-color.description" class="shortcut">Description</a></span> + <a href="#harfbuzz-hb-ot-color.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> + <a href="#harfbuzz-hb-ot-color.object-hierarchy" class="shortcut">Object Hierarchy</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="ch10.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="ch10.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="ch12.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="ch12.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-ot-font.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> @@ -46,27 +47,35 @@ </td> </tr> <tr> -<td class="define_keyword">#define</td> +<td class="function_type"> +<span class="returnvalue">uint8_t</span> +</td> <td class="function_name"> -<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-alpha" title="hb_color_get_alpha()">hb_color_get_alpha</a><span class="c_punctuation">()</span> +<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-alpha" title="hb_color_get_alpha ()">hb_color_get_alpha</a> <span class="c_punctuation">()</span> </td> </tr> <tr> -<td class="define_keyword">#define</td> +<td class="function_type"> +<span class="returnvalue">uint8_t</span> +</td> <td class="function_name"> -<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-blue" title="hb_color_get_blue()">hb_color_get_blue</a><span class="c_punctuation">()</span> +<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-blue" title="hb_color_get_blue ()">hb_color_get_blue</a> <span class="c_punctuation">()</span> </td> </tr> <tr> -<td class="define_keyword">#define</td> +<td class="function_type"> +<span class="returnvalue">uint8_t</span> +</td> <td class="function_name"> -<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-green" title="hb_color_get_green()">hb_color_get_green</a><span class="c_punctuation">()</span> +<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-green" title="hb_color_get_green ()">hb_color_get_green</a> <span class="c_punctuation">()</span> </td> </tr> <tr> -<td class="define_keyword">#define</td> +<td class="function_type"> +<span class="returnvalue">uint8_t</span> +</td> <td class="function_name"> -<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-red" title="hb_color_get_red()">hb_color_get_red</a><span class="c_punctuation">()</span> +<a class="link" href="harfbuzz-hb-ot-color.html#hb-color-get-red" title="hb_color_get_red ()">hb_color_get_red</a> <span class="c_punctuation">()</span> </td> </tr> <tr> @@ -78,7 +87,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * +<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-glyph-reference-png" title="hb_ot_color_glyph_reference_png ()">hb_ot_color_glyph_reference_png</a> <span class="c_punctuation">()</span> @@ -86,7 +95,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * +<a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-glyph-reference-svg" title="hb_ot_color_glyph_reference_svg ()">hb_ot_color_glyph_reference_svg</a> <span class="c_punctuation">()</span> @@ -185,6 +194,12 @@ </table></div> </div> <div class="refsect1"> +<a name="harfbuzz-hb-ot-color.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GFlags</a> + <span class="lineart">╰──</span> hb_ot_color_palette_flags_t +</pre> +</div> +<div class="refsect1"> <a name="harfbuzz-hb-ot-color.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb-ot.h> </pre> @@ -192,6 +207,7 @@ <div class="refsect1"> <a name="harfbuzz-hb-ot-color.description"></a><h2>Description</h2> <p>Functions for fetching color-font information from OpenType font faces.</p> +<p>HarfBuzz supports <code class="literal">COLR</code>/<code class="literal">CPAL</code>, <code class="literal">sbix</code>, <code class="literal">CBDT</code>, and <code class="literal">SVG</code> color fonts.</p> </div> <div class="refsect1"> <a name="harfbuzz-hb-ot-color.functions_details"></a><h2>Functions</h2> @@ -202,41 +218,59 @@ </div> <hr> <div class="refsect2"> -<a name="hb-color-get-alpha"></a><h3>hb_color_get_alpha()</h3> -<pre class="programlisting">#define hb_color_get_alpha(color) ((color) & 0xFF) -</pre> +<a name="hb-color-get-alpha"></a><h3>hb_color_get_alpha ()</h3> +<pre class="programlisting"><span class="returnvalue">uint8_t</span> +hb_color_get_alpha (<em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-color.html#hb-color-t" title="hb_color_t"><span class="type">hb_color_t</span></a> color</code></em>);</pre> +<div class="refsect3"> +<a name="hb-color-get-alpha.returns"></a><h4>Returns</h4> +<p> Alpha channel value of the given color</p> +</div> <p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p> </div> <hr> <div class="refsect2"> -<a name="hb-color-get-blue"></a><h3>hb_color_get_blue()</h3> -<pre class="programlisting">#define hb_color_get_blue(color) (((color) >> 24) & 0xFF) -</pre> +<a name="hb-color-get-blue"></a><h3>hb_color_get_blue ()</h3> +<pre class="programlisting"><span class="returnvalue">uint8_t</span> +hb_color_get_blue (<em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-color.html#hb-color-t" title="hb_color_t"><span class="type">hb_color_t</span></a> color</code></em>);</pre> +<div class="refsect3"> +<a name="hb-color-get-blue.returns"></a><h4>Returns</h4> +<p> Blue channel value of the given color</p> +</div> <p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p> </div> <hr> <div class="refsect2"> -<a name="hb-color-get-green"></a><h3>hb_color_get_green()</h3> -<pre class="programlisting">#define hb_color_get_green(color) (((color) >> 16) & 0xFF) -</pre> +<a name="hb-color-get-green"></a><h3>hb_color_get_green ()</h3> +<pre class="programlisting"><span class="returnvalue">uint8_t</span> +hb_color_get_green (<em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-color.html#hb-color-t" title="hb_color_t"><span class="type">hb_color_t</span></a> color</code></em>);</pre> +<div class="refsect3"> +<a name="hb-color-get-green.returns"></a><h4>Returns</h4> +<p> Green channel value of the given color</p> +</div> <p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p> </div> <hr> <div class="refsect2"> -<a name="hb-color-get-red"></a><h3>hb_color_get_red()</h3> -<pre class="programlisting">#define hb_color_get_red(color) (((color) >> 8) & 0xFF) -</pre> +<a name="hb-color-get-red"></a><h3>hb_color_get_red ()</h3> +<pre class="programlisting"><span class="returnvalue">uint8_t</span> +hb_color_get_red (<em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-color.html#hb-color-t" title="hb_color_t"><span class="type">hb_color_t</span></a> color</code></em>);</pre> +<div class="refsect3"> +<a name="hb-color-get-red.returns"></a><h4>Returns</h4> +<p> Red channel value of the given color</p> +</div> <p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-color-glyph-get-layers"></a><h3>hb_ot_color_glyph_get_layers ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_color_glyph_get_layers (<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>, +hb_ot_color_glyph_get_layers (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</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> *count</code></em>, + <em class="parameter"><code>unsigned <span class="type">int</span> *layer_count</code></em>, <em class="parameter"><code><span class="type">hb_ot_color_layer_t</span> *layers</code></em>);</pre> +<p>Fetches a list of all color layers for the specified glyph index in the specified +face. The list returned will begin at the offset provided.</p> <div class="refsect3"> <a name="hb-ot-color-glyph-get-layers.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -248,46 +282,49 @@ hb_ot_color_glyph_get_layers (<em class="parameter"><code><a class="link" href=" <tbody> <tr> <td class="parameter_name"><p>face</p></td> -<td class="parameter_description"><p>a font face.</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#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>glyph</p></td> -<td class="parameter_description"><p>a layered color glyph id.</p></td> +<td class="parameter_description"><p>The glyph index to query</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>start_offset</p></td> -<td class="parameter_description"><p>starting offset of layers.</p></td> +<td class="parameter_description"><p>offset of the first layer to retrieve</p></td> <td class="parameter_annotations"> </td> </tr> <tr> -<td class="parameter_name"><p>count</p></td> -<td class="parameter_description"><p>gets number of layers available to be written on buffer -and returns number of written layers. </p></td> +<td class="parameter_name"><p>layer_count</p></td> +<td class="parameter_description"><p>Input = the maximum number of layers to return; +Output = the actual number of layers 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 may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>layers</p></td> -<td class="parameter_description"><p>layers buffer to 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=count][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td> +<td class="parameter_description"><p>The array of layers found. </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=layer_count][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="hb-ot-color-glyph-get-layers.returns"></a><h4>Returns</h4> -<p> Total number of layers a layered color glyph have.</p> +<p> Total number of layers available for the glyph index queried</p> </div> <p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-color-glyph-reference-png"></a><h3>hb_ot_color_glyph_reference_png ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * -hb_ot_color_glyph_reference_png (<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 class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * +hb_ot_color_glyph_reference_png (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre> -<p>Get PNG image for a glyph.</p> +<p>Fetches the PNG image for a glyph. This function takes a font object, not a face object, +as input. To get an optimally sized PNG blob, the UPEM value must be set on the <em class="parameter"><code>font</code></em> + +object. If UPEM is unset, the blob returned will be the largest PNG available.</p> <div class="refsect3"> <a name="hb-ot-color-glyph-reference-png.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -299,14 +336,12 @@ hb_ot_color_glyph_reference_png (<em class="parameter"><code><a class="link" hre <tbody> <tr> <td class="parameter_name"><p>font</p></td> -<td class="parameter_description"><p>a font object, not face. upem should be set on -that font object if one wants to get optimal png blob, otherwise -return the biggest one</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#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>glyph</p></td> -<td class="parameter_description"><p>a glyph index.</p></td> +<td class="parameter_description"><p>a glyph index</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -314,7 +349,7 @@ return the biggest one</p></td> </div> <div class="refsect3"> <a name="hb-ot-color-glyph-reference-png.returns"></a><h4>Returns</h4> -<p>respective PNG blob of the glyph, if available. </p> +<p>An <a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> containing the PNG image for the glyph, if available. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p> @@ -322,10 +357,10 @@ return the biggest one</p></td> <hr> <div class="refsect2"> <a name="hb-ot-color-glyph-reference-svg"></a><h3>hb_ot_color_glyph_reference_svg ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t" title="hb_blob_t"><span class="returnvalue">hb_blob_t</span></a> * -hb_ot_color_glyph_reference_svg (<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 class="programlisting"><a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="returnvalue">hb_blob_t</span></a> * +hb_ot_color_glyph_reference_svg (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre> -<p>Get SVG document for a glyph. The blob may be either plain text or gzip-encoded.</p> +<p>Fetches the SVG document for a glyph. The blob may be either plain text or gzip-encoded.</p> <div class="refsect3"> <a name="hb-ot-color-glyph-reference-svg.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -337,12 +372,12 @@ hb_ot_color_glyph_reference_svg (<em class="parameter"><code><a class="link" hre <tbody> <tr> <td class="parameter_name"><p>face</p></td> -<td class="parameter_description"><p>a font face.</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#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>glyph</p></td> -<td class="parameter_description"><p>a svg glyph index.</p></td> +<td class="parameter_description"><p>a svg glyph index</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -350,7 +385,7 @@ hb_ot_color_glyph_reference_svg (<em class="parameter"><code><a class="link" hre </div> <div class="refsect3"> <a name="hb-ot-color-glyph-reference-svg.returns"></a><h4>Returns</h4> -<p>respective svg blob of the glyph, if available. </p> +<p>An <a class="link" href="harfbuzz-hb-blob.html#hb-blob-t"><span class="type">hb_blob_t</span></a> containing the SVG document of the glyph, if available. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p> @@ -359,7 +394,8 @@ hb_ot_color_glyph_reference_svg (<em class="parameter"><code><a class="link" hre <div class="refsect2"> <a name="hb-ot-color-has-layers"></a><h3>hb_ot_color_has_layers ()</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_color_has_layers (<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> +hb_ot_color_has_layers (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> +<p>Tests whether a face includes any <code class="literal">COLR</code> color layers.</p> <div class="refsect3"> <a name="hb-ot-color-has-layers.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -370,14 +406,14 @@ hb_ot_color_has_layers (<em class="parameter"><code><a class="link" href="harfbu </colgroup> <tbody><tr> <td class="parameter_name"><p>face</p></td> -<td class="parameter_description"><p>a font face.</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to work upon</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="hb-ot-color-has-layers.returns"></a><h4>Returns</h4> -<p> whether COLR table is available.</p> +<p> true if data found, false otherwise</p> </div> <p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p> </div> @@ -385,7 +421,8 @@ hb_ot_color_has_layers (<em class="parameter"><code><a class="link" href="harfbu <div class="refsect2"> <a name="hb-ot-color-has-palettes"></a><h3>hb_ot_color_has_palettes ()</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_color_has_palettes (<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> +hb_ot_color_has_palettes (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> +<p>Tests whether a face includes a <code class="literal">CPAL</code> color-palette table.</p> <div class="refsect3"> <a name="hb-ot-color-has-palettes.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -396,14 +433,14 @@ hb_ot_color_has_palettes (<em class="parameter"><code><a class="link" href="harf </colgroup> <tbody><tr> <td class="parameter_name"><p>face</p></td> -<td class="parameter_description"><p>a font face.</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to work upon</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="hb-ot-color-has-palettes.returns"></a><h4>Returns</h4> -<p> whether CPAL table is available.</p> +<p> true if data found, false otherwise</p> </div> <p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p> </div> @@ -411,10 +448,8 @@ hb_ot_color_has_palettes (<em class="parameter"><code><a class="link" href="harf <div class="refsect2"> <a name="hb-ot-color-has-png"></a><h3>hb_ot_color_has_png ()</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_color_has_png (<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>Check whether <em class="parameter"><code>face</code></em> - has PNG glyph images (either CBDT or sbix tables).</p> -<p>Returns true if available, false otherwise.</p> +hb_ot_color_has_png (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> +<p>Tests whether a face has PNG glyph images (either in <code class="literal">CBDT</code> or <code class="literal">sbix</code> tables).</p> <div class="refsect3"> <a name="hb-ot-color-has-png.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -425,21 +460,23 @@ hb_ot_color_has_png (<em class="parameter"><code><a class="link" href="harfbuzz- </colgroup> <tbody><tr> <td class="parameter_name"><p>face</p></td> -<td class="parameter_description"><p>a font face.</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to work upon</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> +<div class="refsect3"> +<a name="hb-ot-color-has-png.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-1-0.html#api-index-2.1.0">2.1.0</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-color-has-svg"></a><h3>hb_ot_color_has_svg ()</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_color_has_svg (<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>Check whether <em class="parameter"><code>face</code></em> - has SVG glyph images.</p> -<p>Returns true if available, false otherwise.</p> +hb_ot_color_has_svg (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> +<p>Tests whether a face includes any <code class="literal">SVG</code> glyph images.</p> <div class="refsect3"> <a name="hb-ot-color-has-svg.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -450,19 +487,27 @@ hb_ot_color_has_svg (<em class="parameter"><code><a class="link" href="harfbuzz- </colgroup> <tbody><tr> <td class="parameter_name"><p>face</p></td> -<td class="parameter_description"><p>a font face.</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to work upon.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> +<div class="refsect3"> +<a name="hb-ot-color-has-svg.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-1-0.html#api-index-2.1.0">2.1.0</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-color-palette-color-get-name-id"></a><h3>hb_ot_color_palette_color_get_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_color_palette_color_get_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>, +hb_ot_color_palette_color_get_name_id (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> color_index</code></em>);</pre> +<p>Fetches the <code class="literal">name</code> table Name ID that provides display names for +the specificed color in a face's <code class="literal">CPAL</code> color palette. </p> +<p>Display names can be generic (e.g., "Background") or specific +(e.g., "Eye color").</p> <div class="refsect3"> <a name="hb-ot-color-palette-color-get-name-id.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -474,12 +519,12 @@ hb_ot_color_palette_color_get_name_id (<em class="parameter"><code><a class="lin <tbody> <tr> <td class="parameter_name"><p>face</p></td> -<td class="parameter_description"><p>a font face.</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#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>color_index</p></td> -<td class="parameter_description"><p>palette entry index.</p></td> +<td class="parameter_description"><p>The index of the color</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -487,7 +532,7 @@ hb_ot_color_palette_color_get_name_id (<em class="parameter"><code><a class="lin </div> <div class="refsect3"> <a name="hb-ot-color-palette-color-get-name-id.returns"></a><h4>Returns</h4> -<p> Name ID associated with a palette entry, e.g. eye color</p> +<p> the Name ID found for the color.</p> </div> <p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p> </div> @@ -495,12 +540,19 @@ hb_ot_color_palette_color_get_name_id (<em class="parameter"><code><a class="lin <div class="refsect2"> <a name="hb-ot-color-palette-get-colors"></a><h3>hb_ot_color_palette_get_colors ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_color_palette_get_colors (<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>, +hb_ot_color_palette_get_colors (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> palette_index</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> *color_count</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-color.html#hb-color-t" title="hb_color_t"><span class="type">hb_color_t</span></a> *colors</code></em>);</pre> -<p>Retrieves the colors in a color palette.</p> +<p>Fetches a list of the colors in a color palette.</p> +<p>After calling this function, <em class="parameter"><code>colors</code></em> + will be filled with the palette +colors. If <em class="parameter"><code>colors</code></em> + is NULL, the function will just return the number +of total colors without storing any actual colors; this can be used +for allocating a buffer of suitable size before calling +<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-palette-get-colors" title="hb_ot_color_palette_get_colors ()"><code class="function">hb_ot_color_palette_get_colors()</code></a> a second time.</p> <div class="refsect3"> <a name="hb-ot-color-palette-get-colors.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -512,47 +564,36 @@ hb_ot_color_palette_get_colors (<em class="parameter"><code><a class="link" href <tbody> <tr> <td class="parameter_name"><p>face</p></td> -<td class="parameter_description"><p>a font face.</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#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>palette_index</p></td> -<td class="parameter_description"><p>the index of the color palette whose colors -are being requested.</p></td> +<td class="parameter_description"><p>the index of the color palette to query</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>start_offset</p></td> -<td class="parameter_description"><p>the index of the first color being requested.</p></td> +<td class="parameter_description"><p>offset of the first color to retrieve</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>color_count</p></td> -<td class="parameter_description"><p>on input, how many colors -can be maximally stored into the <em class="parameter"><code>colors</code></em> -array; -on output, how many colors were actually stored. </p></td> +<td class="parameter_description"><p>Input = the maximum number of colors to return; +Output = the actual number of colors 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 may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>colors</p></td> -<td class="parameter_description"><p>an array of <a class="link" href="harfbuzz-hb-ot-color.html#hb-color-t" title="hb_color_t"><span class="type">hb_color_t</span></a> records. After calling -this function, <em class="parameter"><code>colors</code></em> -will be filled with -the palette colors. If <em class="parameter"><code>colors</code></em> -is NULL, the function -will just return the number of total colors -without storing any actual colors; this can be used -for allocating a buffer of suitable size before calling -<a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-palette-get-colors" title="hb_ot_color_palette_get_colors ()"><code class="function">hb_ot_color_palette_get_colors()</code></a> a second time. </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=color_count][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td> +<td class="parameter_description"><p>The array of <a class="link" href="harfbuzz-hb-ot-color.html#hb-color-t" title="hb_color_t"><span class="type">hb_color_t</span></a> records found. </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=color_count][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="hb-ot-color-palette-get-colors.returns"></a><h4>Returns</h4> -<p> the total number of colors in the palette.</p> +<p> the total number of colors in the palette</p> </div> <p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p> </div> @@ -560,7 +601,8 @@ for allocating a buffer of suitable size before calling <div class="refsect2"> <a name="hb-ot-color-palette-get-count"></a><h3>hb_ot_color_palette_get_count ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_color_palette_get_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> +hb_ot_color_palette_get_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> +<p>Fetches the number of color palettes in a face.</p> <div class="refsect3"> <a name="hb-ot-color-palette-get-count.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -571,17 +613,14 @@ hb_ot_color_palette_get_count (<em class="parameter"><code><a class="link" href= </colgroup> <tbody><tr> <td class="parameter_name"><p>face</p></td> -<td class="parameter_description"><p>a font face.</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to work upon</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="hb-ot-color-palette-get-count.returns"></a><h4>Returns</h4> -<p> the number of color palettes in <em class="parameter"><code>face</code></em> -, or zero if <em class="parameter"><code>face</code></em> -has -no colors.</p> +<p> the number of palettes found</p> </div> <p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p> </div> @@ -589,8 +628,9 @@ no colors.</p> <div class="refsect2"> <a name="hb-ot-color-palette-get-flags"></a><h3>hb_ot_color_palette_get_flags ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-palette-flags-t" title="enum hb_ot_color_palette_flags_t"><span class="returnvalue">hb_ot_color_palette_flags_t</span></a> -hb_ot_color_palette_get_flags (<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>, +hb_ot_color_palette_get_flags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> palette_index</code></em>);</pre> +<p>Fetches the flags defined for a color palette.</p> <div class="refsect3"> <a name="hb-ot-color-palette-get-flags.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -602,12 +642,12 @@ hb_ot_color_palette_get_flags (<em class="parameter"><code><a class="link" href= <tbody> <tr> <td class="parameter_name"><p>face</p></td> -<td class="parameter_description"><p>a font face</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#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>palette_index</p></td> -<td class="parameter_description"><p>the index of the color palette whose flags are being requested</p></td> +<td class="parameter_description"><p>The index of the color palette</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -615,7 +655,7 @@ hb_ot_color_palette_get_flags (<em class="parameter"><code><a class="link" href= </div> <div class="refsect3"> <a name="hb-ot-color-palette-get-flags.returns"></a><h4>Returns</h4> -<p> the flags for the requested color palette.</p> +<p> the <a class="link" href="harfbuzz-hb-ot-color.html#hb-ot-color-palette-flags-t" title="enum hb_ot_color_palette_flags_t"><span class="type">hb_ot_color_palette_flags_t</span></a> of the requested color palette</p> </div> <p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p> </div> @@ -623,10 +663,12 @@ hb_ot_color_palette_get_flags (<em class="parameter"><code><a class="link" href= <div class="refsect2"> <a name="hb-ot-color-palette-get-name-id"></a><h3>hb_ot_color_palette_get_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_color_palette_get_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>, +hb_ot_color_palette_get_name_id (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> palette_index</code></em>);</pre> -<p>Retrieves the name id of a color palette. For example, a color font can -have themed palettes like "Spring", "Summer", "Fall", and "Winter".</p> +<p>Fetches the <code class="literal">name</code> table Name ID that provides display names for +a <code class="literal">CPAL</code> color palette. </p> +<p>Palette display names can be generic (e.g., "Default") or provide +specific, themed names (e.g., "Spring", "Summer", "Fall", and "Winter").</p> <div class="refsect3"> <a name="hb-ot-color-palette-get-name-id.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -638,12 +680,12 @@ have themed palettes like "Spring", "Summer", "Fall", and "Winter".</p> <tbody> <tr> <td class="parameter_name"><p>face</p></td> -<td class="parameter_description"><p>a font face.</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#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>palette_index</p></td> -<td class="parameter_description"><p>the index of the color palette whose name is being requested.</p></td> +<td class="parameter_description"><p>The index of the color palette </p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -651,8 +693,7 @@ have themed palettes like "Spring", "Summer", "Fall", and "Winter".</p> </div> <div class="refsect3"> <a name="hb-ot-color-palette-get-name-id.returns"></a><h4>Returns</h4> -<p> an identifier within <em class="parameter"><code>face</code></em> -'s <code class="literal">name</code> table. +<p> the Named ID found for the palette. If the requested palette has no name the result is <span class="type">HB_OT_NAME_ID_INVALID</span>.</p> </div> <p class="since">Since: <a class="link" href="api-index-2-1-0.html#api-index-2.1.0">2.1.0</a></p> @@ -682,7 +723,7 @@ If the requested palette has no name the result is <span class="type">HB_OT_NAME <tr> <td class="enum_member_name"><p><a name="HB-OT-COLOR-PALETTE-FLAG-DEFAULT:CAPS"></a>HB_OT_COLOR_PALETTE_FLAG_DEFAULT</p></td> <td class="enum_member_description"> -<p>default indicating that there is nothing special +<p>Default indicating that there is nothing special to note about a color palette.</p> </td> <td class="enum_member_annotations"> </td> @@ -690,7 +731,7 @@ If the requested palette has no name the result is <span class="type">HB_OT_NAME <tr> <td class="enum_member_name"><p><a name="HB-OT-COLOR-PALETTE-FLAG-USABLE-WITH-LIGHT-BACKGROUND:CAPS"></a>HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_LIGHT_BACKGROUND</p></td> <td class="enum_member_description"> -<p>flag indicating that the color +<p>Flag indicating that the color palette is appropriate to use when displaying the font on a light background such as white.</p> </td> <td class="enum_member_annotations"> </td> @@ -698,7 +739,7 @@ If the requested palette has no name the result is <span class="type">HB_OT_NAME <tr> <td class="enum_member_name"><p><a name="HB-OT-COLOR-PALETTE-FLAG-USABLE-WITH-DARK-BACKGROUND:CAPS"></a>HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_DARK_BACKGROUND</p></td> <td class="enum_member_description"> -<p>flag indicating that the color +<p>Flag indicating that the color palette is appropriate to use when displaying the font on a dark background such as black.</p> </td> <td class="enum_member_annotations"> </td> diff --git a/docs/html/harfbuzz-hb-ot-font.html b/docs/html/harfbuzz-hb-ot-font.html index 6c955ca..635c7f3 100644 --- a/docs/html/harfbuzz-hb-ot-font.html +++ b/docs/html/harfbuzz-hb-ot-font.html @@ -5,7 +5,7 @@ <title>hb-ot-font: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch10.html" title="OpenType API"> +<link rel="up" href="ch12.html" title="OpenType API"> <link rel="prev" href="harfbuzz-hb-ot-color.html" title="hb-ot-color"> <link rel="next" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -18,7 +18,7 @@ <a href="#harfbuzz-hb-ot-font.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="ch10.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch12.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-ot-color.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-ot-layout.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -64,7 +64,7 @@ never need to call these functions directly.</p> <div class="refsect2"> <a name="hb-ot-font-set-funcs"></a><h3>hb_ot_font_set_funcs ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_ot_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> +hb_ot_font_set_funcs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre> <p class="since">Since: <a class="link" href="api-index-0-9-28.html#api-index-0.9.28">0.9.28</a></p> </div> </div> diff --git a/docs/html/harfbuzz-hb-ot-layout.html b/docs/html/harfbuzz-hb-ot-layout.html index 76be161..ab5d19f 100644 --- a/docs/html/harfbuzz-hb-ot-layout.html +++ b/docs/html/harfbuzz-hb-ot-layout.html @@ -5,7 +5,7 @@ <title>hb-ot-layout: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch10.html" title="OpenType API"> +<link rel="up" href="ch12.html" title="OpenType API"> <link rel="prev" href="harfbuzz-hb-ot-font.html" title="hb-ot-font"> <link rel="next" href="harfbuzz-hb-ot-math.html" title="hb-ot-math"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -15,10 +15,11 @@ <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-layout.description" class="shortcut">Description</a></span> + <a href="#harfbuzz-hb-ot-layout.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> + <a href="#harfbuzz-hb-ot-layout.object-hierarchy" class="shortcut">Object Hierarchy</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="ch10.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch12.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-ot-font.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-ot-math.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -125,6 +126,14 @@ </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-layout.html#hb-ot-layout-get-baseline" title="hb_ot_layout_get_baseline ()">hb_ot_layout_get_baseline</a> <span class="c_punctuation">()</span> +</td> +</tr> +<tr> +<td class="function_type"> <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-glyph-class-t" title="enum hb_ot_layout_glyph_class_t"><span class="returnvalue">hb_ot_layout_glyph_class_t</span></a> </td> <td class="function_name"> @@ -381,12 +390,23 @@ </tr> <tr> <td class="datatype_keyword">enum</td> +<td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-baseline-tag-t" title="enum hb_ot_layout_baseline_tag_t">hb_ot_layout_baseline_tag_t</a></td> +</tr> +<tr> +<td class="datatype_keyword">enum</td> <td class="function_name"><a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-glyph-class-t" title="enum hb_ot_layout_glyph_class_t">hb_ot_layout_glyph_class_t</a></td> </tr> </tbody> </table></div> </div> <div class="refsect1"> +<a name="harfbuzz-hb-ot-layout.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a> + <span class="lineart">├──</span> hb_ot_layout_baseline_tag_t + <span class="lineart">╰──</span> hb_ot_layout_glyph_class_t +</pre> +</div> +<div class="refsect1"> <a name="harfbuzz-hb-ot-layout.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb-ot.h> </pre> @@ -527,38 +547,137 @@ and <div class="refsect2"> <a name="hb-ot-layout-collect-lookups"></a><h3>hb_ot_layout_collect_lookups ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_ot_layout_collect_lookups (<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>, +hb_ot_layout_collect_lookups (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> table_tag</code></em>, <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *scripts</code></em>, <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *languages</code></em>, <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *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> *lookup_indexes</code></em>);</pre> + <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *lookup_indexes</code></em>);</pre> +<p>Fetches a list of all feature-lookup indexes in the specified face's GSUB +table or GPOS table, underneath the specified scripts, languages, and +features. If no list of scripts is provided, all scripts will be queried. +If no list of languages is provided, all languages will be queried. If no +list of features is provided, all features will be queried.</p> +<div class="refsect3"> +<a name="hb-ot-layout-collect-lookups.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"><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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>scripts</p></td> +<td class="parameter_description"><p>The array of scripts to collect lookups for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>languages</p></td> +<td class="parameter_description"><p>The array of languages to collect lookups for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>features</p></td> +<td class="parameter_description"><p>The array of features to collect lookups for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>lookup_indexes</p></td> +<td class="parameter_description"><p>The array of lookup indexes 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>]</span></td> +</tr> +</tbody> +</table></div> +</div> <p class="since">Since: <a class="link" href="api-index-0-9-8.html#api-index-0.9.8">0.9.8</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-collect-features"></a><h3>hb_ot_layout_collect_features ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_ot_layout_collect_features (<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>, +hb_ot_layout_collect_features (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> table_tag</code></em>, <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *scripts</code></em>, <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *languages</code></em>, <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *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> *feature_indexes</code></em>);</pre> + <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *feature_indexes</code></em>);</pre> +<p>Fetches a list of all feature indexes in the specified face's GSUB table +or GPOS table, underneath the specified scripts, languages, and features. +If no list of scripts is provided, all scripts will be queried. If no list +of languages is provided, all languages will be queried. If no list of +features is provided, all features will be queried.</p> +<div class="refsect3"> +<a name="hb-ot-layout-collect-features.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"><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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>scripts</p></td> +<td class="parameter_description"><p>The array of scripts to collect features for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>languages</p></td> +<td class="parameter_description"><p>The array of languages to collect features for</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>features</p></td> +<td class="parameter_description"><p>The array of features to collect</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>feature_indexes</p></td> +<td class="parameter_description"><p>The array of feature indexes 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>]</span></td> +</tr> +</tbody> +</table></div> +</div> <p class="since">Since: <a class="link" href="api-index-1-8-5.html#api-index-1.8.5">1.8.5</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-feature-get-characters"></a><h3>hb_ot_layout_feature_get_characters ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_layout_feature_get_characters (<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>, +hb_ot_layout_feature_get_characters (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> table_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> feature_index</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> *char_count</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *characters</code></em>);</pre> -<p>Fetches characters listed by designer under feature parameters for "Character -Variant" ("cvXX") features.</p> +<p>Fetches a list of the characters defined as having a variant under the specified +"Character Variant" ("cvXX") feature tag.</p> +<div class="note">Note: If the char_count output value is equal to its input value, then there + is a chance there were more characters defined under the feature tag than were + returned. This function can be called with incrementally larger start_offset + until the char_count output value is lower than its input value, or the size + of the characters array can be increased.</div> <div class="refsect3"> <a name="hb-ot-layout-feature-get-characters.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -570,7 +689,7 @@ Variant" ("cvXX") features.</p> <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_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to work upon</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -585,23 +704,20 @@ Variant" ("cvXX") features.</p> </tr> <tr> <td class="parameter_name"><p>start_offset</p></td> -<td class="parameter_description"><p>In case the resulting char_count was equal to its input value, there -is a chance there were more characters on the tag so this API can be -called with an offset till resulting char_count gets to a number -lower than input buffer (or consider using just a bigger buffer for -one shot copying).</p></td> +<td class="parameter_description"><p>offset of the first character to retrieve</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>char_count</p></td> -<td class="parameter_description"><p>The count of characters for which this feature -provides glyph variants. (May be zero.). </p></td> +<td class="parameter_description"><p>Input = the maximum number of characters to return; +Output = the actual number of characters 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>characters</p></td> -<td class="parameter_description"><p>A buffer pointer. The Unicode codepoints -of the characters for which this feature provides glyph variants. </p></td> +<td class="parameter_description"><p>A buffer pointer. +The Unicode codepoints of the characters for which this feature provides +glyph variants. </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=char_count]</span></td> </tr> </tbody> @@ -617,19 +733,65 @@ of the characters for which this feature provides glyph variants. </p></td> <div class="refsect2"> <a name="hb-ot-layout-feature-get-lookups"></a><h3>hb_ot_layout_feature_get_lookups ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_layout_feature_get_lookups (<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>, +hb_ot_layout_feature_get_lookups (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> table_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> feature_index</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> *lookup_count</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *lookup_indexes</code></em>);</pre> +<p>Fetches a list of all lookups enumerated for the specified feature, in +the specified face's GSUB table or GPOS table. The list returned will +begin at the offset provided.</p> +<div class="refsect3"> +<a name="hb-ot-layout-feature-get-lookups.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"><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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>feature_index</p></td> +<td class="parameter_description"><p>The index of the requested feature</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>lookup_count</p></td> +<td class="parameter_description"><p>Input = the maximum number of lookups to return; +Output = the actual number of lookups 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>lookup_indexes</p></td> +<td class="parameter_description"><p>The array of lookup indexes 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=lookup_count]</span></td> +</tr> +</tbody> +</table></div> +</div> <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-feature-get-name-ids"></a><h3>hb_ot_layout_feature_get_name_ids ()</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_layout_feature_get_name_ids (<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>, +hb_ot_layout_feature_get_name_ids (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> table_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> feature_index</code></em>, <em class="parameter"><code><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> *label_id</code></em>, @@ -650,7 +812,7 @@ hb_ot_layout_feature_get_name_ids (<em class="parameter"><code><a class="link" h <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_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to work upon</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -708,69 +870,376 @@ parameters. (Must be zero if numParameters is zero.). </p></td> <a name="hb-ot-layout-feature-with-variations-get-lookups"></a><h3>hb_ot_layout_feature_with_variations_get_lookups ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> hb_ot_layout_feature_with_variations_get_lookups - (<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-face.html#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> table_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> feature_index</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> variations_index</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> *lookup_count</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *lookup_indexes</code></em>);</pre> +<p>Fetches a list of all lookups enumerated for the specified feature, in +the specified face's GSUB table or GPOS table, enabled at the specified +variations index. The list returned will begin at the offset provided.</p> +<div class="refsect3"> +<a name="hb-ot-layout-feature-with-variations-get-lookups.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"><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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>feature_index</p></td> +<td class="parameter_description"><p>The index of the feature to query</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>variations_index</p></td> +<td class="parameter_description"><p>The index of the feature variation to query</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>lookup_count</p></td> +<td class="parameter_description"><p>Input = the maximum number of lookups to return; +Output = the actual number of lookups 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>lookup_indexes</p></td> +<td class="parameter_description"><p>The array of lookups 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=lookup_count]</span></td> +</tr> +</tbody> +</table></div> +</div> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-get-attach-points"></a><h3>hb_ot_layout_get_attach_points ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_layout_get_attach_points (<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>, +hb_ot_layout_get_attach_points (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</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> *point_count</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *point_array</code></em>);</pre> +<p>Fetches a list of all attachment points for the specified glyph in the GDEF +table of the face. The list returned will begin at the offset provided.</p> +<p>Useful if the client program wishes to cache the list.</p> +<div class="refsect3"> +<a name="hb-ot-layout-get-attach-points.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"><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>glyph</p></td> +<td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> code point to query</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 attachment point to retrieve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>point_count</p></td> +<td class="parameter_description"><p>Input = the maximum number of attachment points to return; +Output = the actual number of attachment points 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>point_array</p></td> +<td class="parameter_description"><p>The array of attachment points 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=point_count]</span></td> +</tr> +</tbody> +</table></div> +</div> +</div> +<hr> +<div class="refsect2"> +<a name="hb-ot-layout-get-baseline"></a><h3>hb_ot_layout_get_baseline ()</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_layout_get_baseline (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-baseline-tag-t" title="enum hb_ot_layout_baseline_tag_t"><span class="type">hb_ot_layout_baseline_tag_t</span></a> baseline_tag</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</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> script_tag</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> language_tag</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *coord</code></em>);</pre> +<p>Fetches a baseline value from the face.</p> +<div class="refsect3"> +<a name="hb-ot-layout-get-baseline.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 font</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>baseline_tag</p></td> +<td class="parameter_description"><p>a baseline tag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>direction</p></td> +<td class="parameter_description"><p>text direction.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>script_tag</p></td> +<td class="parameter_description"><p>script tag.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>language_tag</p></td> +<td class="parameter_description"><p>language tag.</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>coord</p></td> +<td class="parameter_description"><p>baseline value if found. </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-layout-get-baseline.returns"></a><h4>Returns</h4> +<p> if found baseline value in the the font.</p> +</div> +<p class="since">Since: <a class="link" href="api-index-2-6-0.html#api-index-2.6.0">2.6.0</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-get-glyph-class"></a><h3>hb_ot_layout_get_glyph_class ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-glyph-class-t" title="enum hb_ot_layout_glyph_class_t"><span class="returnvalue">hb_ot_layout_glyph_class_t</span></a> -hb_ot_layout_get_glyph_class (<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>, +hb_ot_layout_get_glyph_class (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre> +<p>Fetches the GDEF class of the requested glyph in the specified face.</p> +<div class="refsect3"> +<a name="hb-ot-layout-get-glyph-class.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"><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>glyph</p></td> +<td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> code point to query</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="hb-ot-layout-get-glyph-class.returns"></a><h4>Returns</h4> +<p> The <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-glyph-class-t" title="enum hb_ot_layout_glyph_class_t"><span class="type">hb_ot_layout_glyph_class_t</span></a> glyph class of the given code +point in the GDEF table of the face.</p> +</div> <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-get-glyphs-in-class"></a><h3>hb_ot_layout_get_glyphs_in_class ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_ot_layout_get_glyphs_in_class (<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>, +hb_ot_layout_get_glyphs_in_class (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-glyph-class-t" title="enum hb_ot_layout_glyph_class_t"><span class="type">hb_ot_layout_glyph_class_t</span></a> klass</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> + <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre> +<p>Retrieves the set of all glyphs from the face that belong to the requested +glyph class in the face's GDEF table.</p> +<div class="refsect3"> +<a name="hb-ot-layout-get-glyphs-in-class.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"><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>klass</p></td> +<td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-ot-layout.html#hb-ot-layout-glyph-class-t" title="enum hb_ot_layout_glyph_class_t"><span class="type">hb_ot_layout_glyph_class_t</span></a> GDEF class to retrieve</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"><span class="type">hb_set_t</span></a> set of all glyphs belonging to the requested +class. </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-7.html#api-index-0.9.7">0.9.7</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-get-ligature-carets"></a><h3>hb_ot_layout_get_ligature_carets ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_layout_get_ligature_carets (<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>, +hb_ot_layout_get_ligature_carets (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</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> *caret_count</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *caret_array</code></em>);</pre> +<p>Fetches a list of the caret positions defined for a ligature glyph in the GDEF +table of the font. The list returned will begin at the offset provided.</p> +<div class="refsect3"> +<a name="hb-ot-layout-get-ligature-carets.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>The <a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> to work on</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>direction</p></td> +<td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> text direction to use</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>glyph</p></td> +<td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> code point to query</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 caret position to retrieve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>caret_count</p></td> +<td class="parameter_description"><p>Input = the maximum number of caret positions to return; +Output = the actual number of caret positions 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>caret_array</p></td> +<td class="parameter_description"><p>The array of caret positions 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=caret_count]</span></td> +</tr> +</tbody> +</table></div> +</div> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-get-size-params"></a><h3>hb_ot_layout_get_size_params ()</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_layout_get_size_params (<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>, +hb_ot_layout_get_size_params (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *design_size</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *subfamily_id</code></em>, <em class="parameter"><code><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> *subfamily_name_id</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *range_start</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *range_end</code></em>);</pre> +<p>Fetches optical-size feature data (i.e., the <code class="literal">size</code> feature from GPOS). Note that +the subfamily_id and the subfamily name string (accessible via the subfamily_name_id) +as used here are defined as pertaining only to fonts within a font family that differ +specifically in their respective size ranges; other ways to differentiate fonts within +a subfamily are not covered by the <code class="literal">size</code> feature.</p> +<p>For more information on this distinction, see the <code class="literal">size</code> documentation at +https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt<span class="type">tag-39size39</span></p> +<div class="refsect3"> +<a name="hb-ot-layout-get-size-params.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"><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>design_size</p></td> +<td class="parameter_description"><p>The design size of the face. </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> +<tr> +<td class="parameter_name"><p>subfamily_id</p></td> +<td class="parameter_description"><p>The identifier of the face within the font subfamily. </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> +<tr> +<td class="parameter_name"><p>subfamily_name_id</p></td> +<td class="parameter_description"><p>The ‘name’ table name ID of the face within the font subfamily. </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> +<tr> +<td class="parameter_name"><p>range_start</p></td> +<td class="parameter_description"><p>The minimum size of the recommended size range for the face. </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> +<tr> +<td class="parameter_name"><p>range_end</p></td> +<td class="parameter_description"><p>The maximum size of the recommended size range for the face. </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-layout-get-size-params.returns"></a><h4>Returns</h4> +<p> true if data found, false otherwise</p> +</div> <p class="since">Since: <a class="link" href="api-index-0-9-10.html#api-index-0.9.10">0.9.10</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-glyph-sequence-func-t"></a><h3>hb_ot_layout_glyph_sequence_func_t ()</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> -<span class="c_punctuation">(</span>*hb_ot_layout_glyph_sequence_func_t<span class="c_punctuation">)</span> (<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>, +<span class="c_punctuation">(</span>*hb_ot_layout_glyph_sequence_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</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> table_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>, <em class="parameter"><code>const <span class="type">hb_ot_layout_glyph_sequence_t</span> *sequence</code></em>, @@ -780,81 +1249,387 @@ hb_ot_layout_get_size_params (<em class="parameter"><code><a class="link" href=" <div class="refsect2"> <a name="hb-ot-layout-has-glyph-classes"></a><h3>hb_ot_layout_has_glyph_classes ()</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_layout_has_glyph_classes (<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> +hb_ot_layout_has_glyph_classes (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> +<p>Tests whether a face has any glyph classes defined in its GDEF table.</p> +<div class="refsect3"> +<a name="hb-ot-layout-has-glyph-classes.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"><span class="type">hb_face_t</span></a> to work upon</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="hb-ot-layout-has-glyph-classes.returns"></a><h4>Returns</h4> +<p> true if data found, false otherwise</p> +</div> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-has-positioning"></a><h3>hb_ot_layout_has_positioning ()</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_layout_has_positioning (<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> +hb_ot_layout_has_positioning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> +<div class="refsect3"> +<a name="hb-ot-layout-has-positioning.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"><span class="type">hb_face_t</span></a> to work upon</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="hb-ot-layout-has-positioning.returns"></a><h4>Returns</h4> +<p> true if the face has GPOS data, false otherwise</p> +</div> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-has-substitution"></a><h3>hb_ot_layout_has_substitution ()</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_layout_has_substitution (<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> +hb_ot_layout_has_substitution (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> +<p>Tests whether the specified face includes any GSUB substitutions.</p> +<div class="refsect3"> +<a name="hb-ot-layout-has-substitution.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"><span class="type">hb_face_t</span></a> to work upon</p></td> +<td class="parameter_annotations"> </td> +</tr></tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="hb-ot-layout-has-substitution.returns"></a><h4>Returns</h4> +<p> true if data found, false otherwise</p> +</div> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-language-find-feature"></a><h3>hb_ot_layout_language_find_feature ()</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_layout_language_find_feature (<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>, +hb_ot_layout_language_find_feature (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> table_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> language_index</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> feature_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *feature_index</code></em>);</pre> +<p>Fetches the index of a given feature tag in the specified face's GSUB table +or GPOS table, underneath the specified script and language.</p> +<div class="refsect3"> +<a name="hb-ot-layout-language-find-feature.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"><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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>script_index</p></td> +<td class="parameter_description"><p>The index of the requested script tag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>language_index</p></td> +<td class="parameter_description"><p>The index of the requested language tag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>feature_tag</p></td> +<td class="parameter_description"><p><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 feature tag requested</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>feature_index</p></td> +<td class="parameter_description"><p>The index of the requested feature. </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-layout-language-find-feature.returns"></a><h4>Returns</h4> +<p> true if the feature is found, false otherwise</p> +</div> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-language-get-feature-indexes"></a><h3>hb_ot_layout_language_get_feature_indexes ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> hb_ot_layout_language_get_feature_indexes - (<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-face.html#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> table_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> language_index</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> *feature_count</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *feature_indexes</code></em>);</pre> +<p>Fetches a list of all features in the specified face's GSUB table +or GPOS table, underneath the specified script and language. The list +returned will begin at the offset provided.</p> +<div class="refsect3"> +<a name="hb-ot-layout-language-get-feature-indexes.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"><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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>script_index</p></td> +<td class="parameter_description"><p>The index of the requested script tag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>language_index</p></td> +<td class="parameter_description"><p>The index of the requested language tag</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 feature tag to retrieve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>feature_count</p></td> +<td class="parameter_description"><p>Input = the maximum number of feature tags to return; +Output: the actual number of feature tags 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>feature_indexes</p></td> +<td class="parameter_description"><p>The array of feature indexes 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=feature_count]</span></td> +</tr> +</tbody> +</table></div> +</div> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-language-get-feature-tags"></a><h3>hb_ot_layout_language_get_feature_tags ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> hb_ot_layout_language_get_feature_tags - (<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-face.html#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> table_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> language_index</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> *feature_count</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> *feature_tags</code></em>);</pre> +<p>Fetches a list of all features in the specified face's GSUB table +or GPOS table, underneath the specified script and language. The list +returned will begin at the offset provided.</p> +<div class="refsect3"> +<a name="hb-ot-layout-language-get-feature-tags.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"><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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>script_index</p></td> +<td class="parameter_description"><p>The index of the requested script tag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>language_index</p></td> +<td class="parameter_description"><p>The index of the requested language tag</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 feature tag to retrieve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>feature_count</p></td> +<td class="parameter_description"><p>Input = the maximum number of feature tags to return; +Output = the actual number of feature tags 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>feature_tags</p></td> +<td class="parameter_description"><p>The array of <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> feature tags 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=feature_count]</span></td> +</tr> +</tbody> +</table></div> +</div> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-language-get-required-feature"></a><h3>hb_ot_layout_language_get_required_feature ()</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_layout_language_get_required_feature - (<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-face.html#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> table_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *feature_index</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> *feature_tag</code></em>);</pre> +<p>Fetches the tag of a requested feature index in the given face's GSUB or GPOS table, +underneath the specified script and language.</p> +<div class="refsect3"> +<a name="hb-ot-layout-language-get-required-feature.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"><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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>script_index</p></td> +<td class="parameter_description"><p>The index of the requested script tag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>language_index</p></td> +<td class="parameter_description"><p>The index of the requested language tag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>feature_index</p></td> +<td class="parameter_description"><p>The index of the requested feature</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>feature_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 requested feature. </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-layout-language-get-required-feature.returns"></a><h4>Returns</h4> +<p> true if the feature is found, false otherwise</p> +</div> <p class="since">Since: <a class="link" href="api-index-0-9-30.html#api-index-0.9.30">0.9.30</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-lookup-collect-glyphs"></a><h3>hb_ot_layout_lookup_collect_glyphs ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_ot_layout_lookup_collect_glyphs (<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>, +hb_ot_layout_lookup_collect_glyphs (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> table_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</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_before</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_input</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_after</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_output</code></em>);</pre> + <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs_before</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs_input</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs_after</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs_output</code></em>);</pre> +<p>Fetches a list of all glyphs affected by the specified lookup in the +specified face's GSUB table or GPOS table.</p> +<div class="refsect3"> +<a name="hb-ot-layout-lookup-collect-glyphs.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"><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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>lookup_index</p></td> +<td class="parameter_description"><p>The index of the feature lookup to query</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>glyphs_before</p></td> +<td class="parameter_description"><p>Array of glyphs preceding the substitution range. </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> +<tr> +<td class="parameter_name"><p>glyphs_input</p></td> +<td class="parameter_description"><p>Array of input glyphs that would be substituted by the lookup. </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> +<tr> +<td class="parameter_name"><p>glyphs_after</p></td> +<td class="parameter_description"><p>Array of glyphs following the substition range. </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> +<tr> +<td class="parameter_name"><p>glyphs_output</p></td> +<td class="parameter_description"><p>Array of glyphs that would be the substitued output of the lookup. </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-7.html#api-index-0.9.7">0.9.7</a></p> </div> <hr> @@ -862,9 +1637,38 @@ hb_ot_layout_lookup_collect_glyphs (<em class="parameter"><code><a class="link" <a name="hb-ot-layout-lookup-substitute-closure"></a><h3>hb_ot_layout_lookup_substitute_closure ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_ot_layout_lookup_substitute_closure - (<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-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</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> + <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre> +<p>Compute the transitive closure of glyphs needed for a +specified lookup.</p> +<div class="refsect3"> +<a name="hb-ot-layout-lookup-substitute-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>face</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#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>lookup_index</p></td> +<td class="parameter_description"><p>index of the feature lookup to query</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>glyphs</p></td> +<td class="parameter_description"><p>Array of glyphs comprising the transitive closure of the lookup. </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-7.html#api-index-0.9.7">0.9.7</a></p> </div> <hr> @@ -872,45 +1676,208 @@ hb_ot_layout_lookup_substitute_closure <a name="hb-ot-layout-lookups-substitute-closure"></a><h3>hb_ot_layout_lookups_substitute_closure ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_ot_layout_lookups_substitute_closure - (<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-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *lookups</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> + (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *lookups</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre> <p>Compute the transitive closure of glyphs needed for all of the provided lookups.</p> +<div class="refsect3"> +<a name="hb-ot-layout-lookups-substitute-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>face</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#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>lookups</p></td> +<td class="parameter_description"><p>The set of lookups to query</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>glyphs</p></td> +<td class="parameter_description"><p>Array of glyphs comprising the transitive closure of the lookups. </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-8-1.html#api-index-1.8.1">1.8.1</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-lookup-would-substitute"></a><h3>hb_ot_layout_lookup_would_substitute ()</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_layout_lookup_would_substitute (<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>, +hb_ot_layout_lookup_would_substitute (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> lookup_index</code></em>, <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *glyphs</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> glyphs_length</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> zero_context</code></em>);</pre> +<p>Tests whether a specified lookup in the specified face would +trigger a substitution on the given glyph sequence.</p> +<div class="refsect3"> +<a name="hb-ot-layout-lookup-would-substitute.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"><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>lookup_index</p></td> +<td class="parameter_description"><p>The index of the lookup to query</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>glyphs</p></td> +<td class="parameter_description"><p>The sequence of glyphs to query for substitution</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>glyphs_length</p></td> +<td class="parameter_description"><p>The length of the glyph sequence</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>zero_context</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> indicating whether substitutions should be context-free</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> +<div class="refsect3"> +<a name="hb-ot-layout-lookup-would-substitute.returns"></a><h4>Returns</h4> +<p> true if a substitution would be triggered, false otherwise</p> +</div> <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-script-get-language-tags"></a><h3>hb_ot_layout_script_get_language_tags ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_layout_script_get_language_tags (<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>, +hb_ot_layout_script_get_language_tags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> table_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> script_index</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> *language_count</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> *language_tags</code></em>);</pre> +<p>Fetches a list of language tags in the given face's GSUB or GPOS table, underneath +the specified script index. The list returned will begin at the offset provided.</p> +<div class="refsect3"> +<a name="hb-ot-layout-script-get-language-tags.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"><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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>script_index</p></td> +<td class="parameter_description"><p>The index of the requested script tag</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 language tag to retrieve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>language_count</p></td> +<td class="parameter_description"><p>Input = the maximum number of language tags to return; +Output = the actual number of language tags 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>language_tags</p></td> +<td class="parameter_description"><p>Array of language tags found in the table. </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=language_count]</span></td> +</tr> +</tbody> +</table></div> +</div> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-script-select-language"></a><h3>hb_ot_layout_script_select_language ()</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_layout_script_select_language (<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>, +hb_ot_layout_script_select_language (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> table_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> language_count</code></em>, <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *language_tags</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *language_index</code></em>);</pre> +<p>Fetches the index of a given language tag in the specified face's GSUB table +or GPOS table, underneath the specified script index.</p> +<div class="refsect3"> +<a name="hb-ot-layout-script-select-language.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"><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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>script_index</p></td> +<td class="parameter_description"><p>The index of the requested script tag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>language_count</p></td> +<td class="parameter_description"><p>The number of languages in the specified script</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>language_tags</p></td> +<td class="parameter_description"><p>The array of language tags</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>language_index</p></td> +<td class="parameter_description"><p>The index of the requested language. </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-layout-script-select-language.returns"></a><h4>Returns</h4> +<p> true if the language tag is found, false otherwise</p> +</div> <p class="since">Since: <a class="link" href="api-index-2-0-0.html#api-index-2.0.0">2.0.0</a></p> </div> <hr> @@ -918,59 +1885,243 @@ hb_ot_layout_script_select_language (<em class="parameter"><code><a class="link" <a name="hb-ot-layout-table-find-feature-variations"></a><h3>hb_ot_layout_table_find_feature_variations ()</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_layout_table_find_feature_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><a class="link" href="harfbuzz-hb-face.html#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> table_tag</code></em>, <em class="parameter"><code>const <span class="type">int</span> *coords</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> num_coords</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *variations_index</code></em>);</pre> +<p>Fetches a list of feature variations in the specified face's GSUB table +or GPOS table, at the specified variation coordinates.</p> +<div class="refsect3"> +<a name="hb-ot-layout-table-find-feature-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><a class="link" href="harfbuzz-hb-face.html#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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>coords</p></td> +<td class="parameter_description"><p>The variation coordinates to query</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>num_coords</p></td> +<td class="parameter_description"><p>The number of variation coorinates</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>variations_index</p></td> +<td class="parameter_description"><p>The array of feature variations 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>]</span></td> +</tr> +</tbody> +</table></div> +</div> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-table-get-feature-tags"></a><h3>hb_ot_layout_table_get_feature_tags ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_layout_table_get_feature_tags (<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>, +hb_ot_layout_table_get_feature_tags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> table_tag</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> *feature_count</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> *feature_tags</code></em>);</pre> +<p>Fetches a list of all feature tags in the given face's GSUB or GPOS table.</p> +<div class="refsect3"> +<a name="hb-ot-layout-table-get-feature-tags.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"><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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</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 feature tag to retrieve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>feature_count</p></td> +<td class="parameter_description"><p>Input = the maximum number of feature tags to return; +Output = the actual number of feature tags 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>feature_tags</p></td> +<td class="parameter_description"><p>Array of feature tags found in the table. </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=feature_count]</span></td> +</tr> +</tbody> +</table></div> +</div> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-table-get-script-tags"></a><h3>hb_ot_layout_table_get_script_tags ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_layout_table_get_script_tags (<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>, +hb_ot_layout_table_get_script_tags (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> table_tag</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> *script_count</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> *script_tags</code></em>);</pre> +<p>Fetches a list of all scripts enumerated in the specified face's GSUB table +or GPOS table. The list returned will begin at the offset provided.</p> +<div class="refsect3"> +<a name="hb-ot-layout-table-get-script-tags.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"><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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</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 script tag to retrieve</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>script_count</p></td> +<td class="parameter_description"><p>Input = the maximum number of script tags to return; +Output = the actual number of script tags 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>script_tags</p></td> +<td class="parameter_description"><p>The array of <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> script tags 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=script_count]</span></td> +</tr> +</tbody> +</table></div> +</div> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-table-get-lookup-count"></a><h3>hb_ot_layout_table_get_lookup_count ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_layout_table_get_lookup_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>, +hb_ot_layout_table_get_lookup_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> table_tag</code></em>);</pre> +<p>Fetches the total number of lookups enumerated in the specified +face's GSUB table or GPOS table.</p> +<div class="refsect3"> +<a name="hb-ot-layout-table-get-lookup-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><a class="link" href="harfbuzz-hb-face.html#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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> <p class="since">Since: <a class="link" href="api-index-0-9-22.html#api-index-0.9.22">0.9.22</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-layout-table-select-script"></a><h3>hb_ot_layout_table_select_script ()</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_layout_table_select_script (<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>, +hb_ot_layout_table_select_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> table_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> script_count</code></em>, <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> *script_tags</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *script_index</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> *chosen_script</code></em>);</pre> +<div class="refsect3"> +<a name="hb-ot-layout-table-select-script.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"><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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>script_count</p></td> +<td class="parameter_description"><p>Number of script tags in the array</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>script_tags</p></td> +<td class="parameter_description"><p>Array of <a class="link" href="harfbuzz-hb-common.html#hb-tag-t" title="hb_tag_t"><span class="type">hb_tag_t</span></a> script tags</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>script_index</p></td> +<td class="parameter_description"><p>The index of the requested script. </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> +<tr> +<td class="parameter_name"><p>chosen_script</p></td> +<td class="parameter_description"><p><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 requested script. </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-2-0-0.html#api-index-2.0.0">2.0.0</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-shape-plan-collect-lookups"></a><h3>hb_ot_shape_plan_collect_lookups ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_ot_shape_plan_collect_lookups (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>, +hb_ot_shape_plan_collect_lookups (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</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> table_tag</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> *lookup_indexes</code></em>);</pre> + <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *lookup_indexes</code></em>);</pre> <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p> </div> <hr> @@ -978,11 +2129,54 @@ hb_ot_shape_plan_collect_lookups (<em class="parameter"><code><a class="link" hr <a name="hb-ot-layout-language-get-required-feature-index"></a><h3>hb_ot_layout_language_get_required_feature_index ()</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_layout_language_get_required_feature_index - (<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-face.html#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> table_tag</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> script_index</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> language_index</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *feature_index</code></em>);</pre> +<p>Fetches the index of a requested feature in the given face's GSUB or GPOS table, +underneath the specified script and language.</p> +<div class="refsect3"> +<a name="hb-ot-layout-language-get-required-feature-index.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"><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>table_tag</p></td> +<td class="parameter_description"><p>HB_OT_TAG_GSUB or HB_OT_TAG_GPOS</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>script_index</p></td> +<td class="parameter_description"><p>The index of the requested script tag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>language_index</p></td> +<td class="parameter_description"><p>The index of the requested language tag</p></td> +<td class="parameter_annotations"> </td> +</tr> +<tr> +<td class="parameter_name"><p>feature_index</p></td> +<td class="parameter_description"><p>The index of the requested feature. </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-layout-language-get-required-feature-index.returns"></a><h4>Returns</h4> +<p> true if the feature is found, false otherwise</p> +</div> </div> </div> <div class="refsect1"> @@ -1068,7 +2262,90 @@ hb_ot_layout_language_get_required_feature_index </div> <hr> <div class="refsect2"> +<a name="hb-ot-layout-baseline-tag-t"></a><h3>enum hb_ot_layout_baseline_tag_t</h3> +<p>Baseline tags from https://docs.microsoft.com/en-us/typography/opentype/spec/baselinetags</p> +<div class="refsect3"> +<a name="hb-ot-layout-baseline-tag-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-LAYOUT-BASELINE-TAG-ROMAN:CAPS"></a>HB_OT_LAYOUT_BASELINE_TAG_ROMAN</p></td> +<td class="enum_member_description"> +<p>The baseline used by alphabetic scripts such as Latin, Cyrillic and Greek. +In vertical writing mode, the alphabetic baseline for characters rotated 90 degrees clockwise. +(This would not apply to alphabetic characters that remain upright in vertical writing mode, since these +characters are not rotated.)</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="HB-OT-LAYOUT-BASELINE-TAG-HANGING:CAPS"></a>HB_OT_LAYOUT_BASELINE_TAG_HANGING</p></td> +<td class="enum_member_description"> +<p>The hanging baseline. In horizontal direction, this is the horizontal +line from which syllables seem, to hang in Tibetan and other similar scripts. In vertical writing mode, +for Tibetan (or some other similar script) characters rotated 90 degrees clockwise.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="HB-OT-LAYOUT-BASELINE-TAG-IDEO-FACE-BOTTOM-OR-LEFT:CAPS"></a>HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_BOTTOM_OR_LEFT</p></td> +<td class="enum_member_description"> +<p>Ideographic character face bottom or left edge, +if the direction is horizontal or vertical, respectively.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="HB-OT-LAYOUT-BASELINE-TAG-IDEO-FACE-TOP-OR-RIGHT:CAPS"></a>HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_TOP_OR_RIGHT</p></td> +<td class="enum_member_description"> +<p>Ideographic character face top or right edge, +if the direction is horizontal or vertical, respectively.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="HB-OT-LAYOUT-BASELINE-TAG-IDEO-EMBOX-BOTTOM-OR-LEFT:CAPS"></a>HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_BOTTOM_OR_LEFT</p></td> +<td class="enum_member_description"> +<p>Ideographic em-box bottom or left edge, +if the direction is horizontal or vertical, respectively.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="HB-OT-LAYOUT-BASELINE-TAG-IDEO-EMBOX-TOP-OR-RIGHT:CAPS"></a>HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_TOP_OR_RIGHT</p></td> +<td class="enum_member_description"> +<p>Ideographic em-box top or right edge baseline, +if the direction is horizontal or vertical, respectively.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="HB-OT-LAYOUT-BASELINE-TAG-MATH:CAPS"></a>HB_OT_LAYOUT_BASELINE_TAG_MATH</p></td> +<td class="enum_member_description"> +<p>The baseline about which mathematical characters are centered. +In vertical writing mode when mathematical characters rotated 90 degrees clockwise, are centered.</p> +</td> +<td class="enum_member_annotations"> </td> +</tr> +<tr> +<td class="enum_member_name"><p><a name="HB-OT-LAYOUT-BASELINE-TAG-MAX-VALUE:CAPS"></a>_HB_OT_LAYOUT_BASELINE_TAG_MAX_VALUE</p></td> +<td> </td> +<td> </td> +</tr> +</tbody> +</table></div> +</div> +<p class="since">Since: <a class="link" href="api-index-2-6-0.html#api-index-2.6.0">2.6.0</a></p> +</div> +<hr> +<div class="refsect2"> <a name="hb-ot-layout-glyph-class-t"></a><h3>enum hb_ot_layout_glyph_class_t</h3> +<p>The GDEF classes defined for glyphs.</p> <div class="refsect3"> <a name="hb-ot-layout-glyph-class-t.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -1080,28 +2357,38 @@ hb_ot_layout_language_get_required_feature_index <tbody> <tr> <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-UNCLASSIFIED:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_UNCLASSIFIED</p></td> -<td> </td> -<td> </td> +<td class="enum_member_description"> +<p>Glyphs not matching the other classifications</p> +</td> +<td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-BASE-GLYPH:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH</p></td> -<td> </td> -<td> </td> +<td class="enum_member_description"> +<p>Spacing, single characters, capable of accepting marks</p> +</td> +<td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-LIGATURE:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE</p></td> -<td> </td> -<td> </td> +<td class="enum_member_description"> +<p>Glyphs that represent ligation of multiple characters</p> +</td> +<td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-MARK:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_MARK</p></td> -<td> </td> -<td> </td> +<td class="enum_member_description"> +<p>Non-spacing, combining glyphs that represent marks</p> +</td> +<td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="HB-OT-LAYOUT-GLYPH-CLASS-COMPONENT:CAPS"></a>HB_OT_LAYOUT_GLYPH_CLASS_COMPONENT</p></td> -<td> </td> -<td> </td> +<td class="enum_member_description"> +<p>Spacing glyphs that represent part of a single character</p> +</td> +<td class="enum_member_annotations"> </td> </tr> </tbody> </table></div> diff --git a/docs/html/harfbuzz-hb-ot-math.html b/docs/html/harfbuzz-hb-ot-math.html index 679acde..45476dd 100644 --- a/docs/html/harfbuzz-hb-ot-math.html +++ b/docs/html/harfbuzz-hb-ot-math.html @@ -5,7 +5,7 @@ <title>hb-ot-math: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch10.html" title="OpenType API"> +<link rel="up" href="ch12.html" title="OpenType API"> <link rel="prev" href="harfbuzz-hb-ot-layout.html" title="hb-ot-layout"> <link rel="next" href="harfbuzz-hb-ot-name.html" title="hb-ot-name"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -15,10 +15,11 @@ <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-math.description" class="shortcut">Description</a></span> + <a href="#harfbuzz-hb-ot-math.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> + <a href="#harfbuzz-hb-ot-math.object-hierarchy" class="shortcut">Object Hierarchy</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="ch10.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch12.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-ot-layout.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-ot-name.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -112,7 +113,7 @@ </tbody> </table></div> </div> -<div class="refsect1"> +<a name="hb-ot-math-glyph-variant-t"></a><a name="hb-ot-math-glyph-part-t"></a><div class="refsect1"> <a name="harfbuzz-hb-ot-math.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> @@ -138,7 +139,7 @@ </tr> <tr> <td class="datatype_keyword"> </td> -<td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t" title="hb_ot_math_glyph_variant_t">hb_ot_math_glyph_variant_t</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t-struct" title="hb_ot_math_glyph_variant_t">hb_ot_math_glyph_variant_t</a></td> </tr> <tr> <td class="datatype_keyword">enum</td> @@ -146,12 +147,24 @@ </tr> <tr> <td class="datatype_keyword"> </td> -<td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t" title="hb_ot_math_glyph_part_t">hb_ot_math_glyph_part_t</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t-struct" title="hb_ot_math_glyph_part_t">hb_ot_math_glyph_part_t</a></td> </tr> </tbody> </table></div> </div> <div class="refsect1"> +<a name="harfbuzz-hb-ot-math.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a> + <span class="lineart">├──</span> hb_ot_math_glyph_part_t + <span class="lineart">╰──</span> hb_ot_math_glyph_variant_t + <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a> + <span class="lineart">├──</span> hb_ot_math_constant_t + <span class="lineart">╰──</span> hb_ot_math_kern_t + <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GFlags</a> + <span class="lineart">╰──</span> hb_ot_math_glyph_part_flags_t +</pre> +</div> +<div class="refsect1"> <a name="harfbuzz-hb-ot-math.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb-ot.h> </pre> @@ -159,15 +172,17 @@ <div class="refsect1"> <a name="harfbuzz-hb-ot-math.description"></a><h2>Description</h2> <p>Functions for fetching mathematics layout data from OpenType fonts.</p> +<p>HarfBuzz itself does not implement a math layout solution. The +functions and types provided can be used by client programs to access +the font data necessary for typesetting OpenType Math layout.</p> </div> <div class="refsect1"> <a name="harfbuzz-hb-ot-math.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="hb-ot-math-has-data"></a><h3>hb_ot_math_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_math_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>This function allows to verify the presence of an OpenType MATH table on the -face.</p> +hb_ot_math_has_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> +<p>Tests whether a face has a <code class="literal">MATH</code> table.</p> <div class="refsect3"> <a name="hb-ot-math-has-data.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -178,14 +193,14 @@ face.</p> </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 test</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to test</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="hb-ot-math-has-data.returns"></a><h4>Returns</h4> -<p> true if face has a MATH table, false otherwise</p> +<p> true if the table is found, false otherwise</p> </div> <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p> </div> @@ -193,13 +208,14 @@ face.</p> <div class="refsect2"> <a name="hb-ot-math-get-constant"></a><h3>hb_ot_math_get_constant ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> -hb_ot_math_get_constant (<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>, +hb_ot_math_get_constant (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-constant-t" title="enum hb_ot_math_constant_t"><span class="type">hb_ot_math_constant_t</span></a> constant</code></em>);</pre> -<p>This function returns the requested math constants as a <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a>. -If the request constant is HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN, -HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN or -HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN then the return value is -actually an integer between 0 and 100 representing that percentage.</p> +<p>Fetches the specified math constant. For most constants, the value returned +is an <a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a>.</p> +<p>However, if the requested constant is <a class="link" href="harfbuzz-hb-ot-math.html#HB-OT-MATH-CONSTANT-SCRIPT-PERCENT-SCALE-DOWN:CAPS"><span class="type">HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN</span></a>, +<a class="link" href="harfbuzz-hb-ot-math.html#HB-OT-MATH-CONSTANT-SCRIPT-SCRIPT-PERCENT-SCALE-DOWN:CAPS"><span class="type">HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN</span></a> or +<a class="link" href="harfbuzz-hb-ot-math.html#HB-OT-MATH-CONSTANT-SCRIPT-PERCENT-SCALE-DOWN:CAPS"><span class="type">HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN</span></a>, then the return value is +an integer between 0 and 100 representing that percentage.</p> <div class="refsect3"> <a name="hb-ot-math-get-constant.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -211,7 +227,7 @@ actually an integer between 0 and 100 representing that percentage.</p> <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> from which to retrieve the value</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> to work upon</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -224,7 +240,7 @@ actually an integer between 0 and 100 representing that percentage.</p> </div> <div class="refsect3"> <a name="hb-ot-math-get-constant.returns"></a><h4>Returns</h4> -<p> the requested constant or 0</p> +<p> the requested constant or zero</p> </div> <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p> </div> @@ -233,8 +249,10 @@ actually an integer between 0 and 100 representing that percentage.</p> <a name="hb-ot-math-get-glyph-italics-correction"></a><h3>hb_ot_math_get_glyph_italics_correction ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> hb_ot_math_get_glyph_italics_correction - (<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-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre> +<p>Fetches an italics-correction value (if one exists) for the specified +glyph index.</p> <div class="refsect3"> <a name="hb-ot-math-get-glyph-italics-correction.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -246,12 +264,12 @@ hb_ot_math_get_glyph_italics_correction <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> from which to retrieve the value</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#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>glyph</p></td> -<td class="parameter_description"><p>glyph index from which to retrieve the value</p></td> +<td class="parameter_description"><p>The glyph index from which to retrieve the value</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -259,7 +277,7 @@ hb_ot_math_get_glyph_italics_correction </div> <div class="refsect3"> <a name="hb-ot-math-get-glyph-italics-correction.returns"></a><h4>Returns</h4> -<p> the italics correction of the glyph or 0</p> +<p> the italics correction of the glyph or zero</p> </div> <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p> </div> @@ -268,8 +286,16 @@ hb_ot_math_get_glyph_italics_correction <a name="hb-ot-math-get-glyph-top-accent-attachment"></a><h3>hb_ot_math_get_glyph_top_accent_attachment ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> hb_ot_math_get_glyph_top_accent_attachment - (<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-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre> +<p>Fetches a top-accent-attachment value (if one exists) for the specified +glyph index.</p> +<p>For any glyph that does not have a top-accent-attachment value - that is, +a glyph not covered by the <code class="literal">MathTopAccentAttachment</code> table (or, when +<em class="parameter"><code>font</code></em> + has no <code class="literal">MathTopAccentAttachment</code> table or no <code class="literal">MATH</code> table, any +glyph) - the function synthesizes a value, returning the position at +one-half the glyph's advance width.</p> <div class="refsect3"> <a name="hb-ot-math-get-glyph-top-accent-attachment.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -281,12 +307,12 @@ hb_ot_math_get_glyph_top_accent_attachment <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> from which to retrieve the value</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#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>glyph</p></td> -<td class="parameter_description"><p>glyph index from which to retrieve the value</p></td> +<td class="parameter_description"><p>The glyph index from which to retrieve the value</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -294,7 +320,9 @@ hb_ot_math_get_glyph_top_accent_attachment </div> <div class="refsect3"> <a name="hb-ot-math-get-glyph-top-accent-attachment.returns"></a><h4>Returns</h4> -<p> the top accent attachment of the glyph or 0</p> +<p> the top accent attachment of the glyph or 0.5 * the advance +width of <em class="parameter"><code>glyph</code></em> +</p> </div> <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p> </div> @@ -302,15 +330,18 @@ hb_ot_math_get_glyph_top_accent_attachment <div class="refsect2"> <a name="hb-ot-math-get-glyph-kerning"></a><h3>hb_ot_math_get_glyph_kerning ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> -hb_ot_math_get_glyph_kerning (<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>, +hb_ot_math_get_glyph_kerning (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-kern-t" title="enum hb_ot_math_kern_t"><span class="type">hb_ot_math_kern_t</span></a> kern</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> correction_height</code></em>);</pre> -<p>This function tries to retrieve the MathKern table for the specified font, -glyph and <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-kern-t" title="enum hb_ot_math_kern_t"><span class="type">hb_ot_math_kern_t</span></a>. Then it browses the list of heights from the -MathKern table to find one value that is greater or equal to specified -correction_height. If one is found the corresponding value from the list of -kerns is returned and otherwise the last kern value is returned.</p> +<p>Fetches the math kerning (cut-ins) value for the specified font, glyph index, and +<em class="parameter"><code>kern</code></em> +. </p> +<p>If the MathKern table is found, the function examines it to find a height +value that is greater or equal to <em class="parameter"><code>correction_height</code></em> +. If such a height +value is found, corresponding kerning value from the table is returned. If +no such height value is found, the last kerning value is returned.</p> <div class="refsect3"> <a name="hb-ot-math-get-glyph-kerning.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -322,17 +353,17 @@ kerns is returned and otherwise the last kern value is returned.</p> <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> from which to retrieve the value</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#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>glyph</p></td> -<td class="parameter_description"><p>glyph index from which to retrieve the value</p></td> +<td class="parameter_description"><p>The glyph index from which to retrieve the value</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>kern</p></td> -<td class="parameter_description"><p>the <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-kern-t" title="enum hb_ot_math_kern_t"><span class="type">hb_ot_math_kern_t</span></a> from which to retrieve the value</p></td> +<td class="parameter_description"><p>The <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-kern-t" title="enum hb_ot_math_kern_t"><span class="type">hb_ot_math_kern_t</span></a> from which to retrieve the value</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -345,7 +376,7 @@ kerns is returned and otherwise the last kern value is returned.</p> </div> <div class="refsect3"> <a name="hb-ot-math-get-glyph-kerning.returns"></a><h4>Returns</h4> -<p> requested kerning or 0</p> +<p> requested kerning value or zero</p> </div> <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p> </div> @@ -353,8 +384,9 @@ kerns is returned and otherwise the last kern value is returned.</p> <div class="refsect2"> <a name="hb-ot-math-is-glyph-extended-shape"></a><h3>hb_ot_math_is_glyph_extended_shape ()</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_math_is_glyph_extended_shape (<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>, +hb_ot_math_is_glyph_extended_shape (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>);</pre> +<p>Tests whether the given glyph index is an extended shape in the face.</p> <div class="refsect3"> <a name="hb-ot-math-is-glyph-extended-shape.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -366,12 +398,12 @@ hb_ot_math_is_glyph_extended_shape (<em class="parameter"><code><a class="link" <tbody> <tr> <td class="parameter_name"><p>face</p></td> -<td class="parameter_description"><p>a <a class="link" href="harfbuzz-hb-face.html#hb-face-t" title="hb_face_t"><span class="type">hb_face_t</span></a> to test</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#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>glyph</p></td> -<td class="parameter_description"><p>a glyph index to test</p></td> +<td class="parameter_description"><p>The glyph index to test</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -387,16 +419,19 @@ hb_ot_math_is_glyph_extended_shape (<em class="parameter"><code><a class="link" <div class="refsect2"> <a name="hb-ot-math-get-glyph-variants"></a><h3>hb_ot_math_get_glyph_variants ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_math_get_glyph_variants (<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>, +hb_ot_math_get_glyph_variants (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</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> *variants_count</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t" title="hb_ot_math_glyph_variant_t"><span class="type">hb_ot_math_glyph_variant_t</span></a> *variants</code></em>);</pre> -<p>This function tries to retrieve the MathGlyphConstruction for the specified -font, glyph and direction. Note that only the value of -<a class="link" href="harfbuzz-hb-common.html#HB-DIRECTION-IS-HORIZONTAL:CAPS" title="HB_DIRECTION_IS_HORIZONTAL()"><span class="type">HB_DIRECTION_IS_HORIZONTAL</span></a> is considered. It provides the corresponding list -of size variants as an array of hb_ot_math_glyph_variant_t structs.</p> + <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t"><span class="type">hb_ot_math_glyph_variant_t</span></a> *variants</code></em>);</pre> +<p>Fetches the MathGlyphConstruction for the specified font, glyph index, and +direction. The corresponding list of size variants is returned as a list of +<a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t"><span class="type">hb_ot_math_glyph_variant_t</span></a> structs.</p> +<div class="note">The <em class="parameter"><code>direction</code></em> parameter is only used to select between horizontal +or vertical directions for the construction. Even though all <a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> +values are accepted, only the result of <a class="link" href="harfbuzz-hb-common.html#HB-DIRECTION-IS-HORIZONTAL:CAPS" title="HB_DIRECTION_IS_HORIZONTAL()"><span class="type">HB_DIRECTION_IS_HORIZONTAL</span></a> is +considered.</div> <div class="refsect3"> <a name="hb-ot-math-get-glyph-variants.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -408,17 +443,17 @@ of size variants as an array of hb_ot_math_glyph_variant_t structs.</p> <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> from which to retrieve the values</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#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>glyph</p></td> -<td class="parameter_description"><p>index of the glyph to stretch</p></td> +<td class="parameter_description"><p>The index of the glyph to stretch</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>direction</p></td> -<td class="parameter_description"><p>direction of the stretching</p></td> +<td class="parameter_description"><p>The direction of the stretching (horizontal or vertical)</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -428,22 +463,21 @@ of size variants as an array of hb_ot_math_glyph_variant_t structs.</p> </tr> <tr> <td class="parameter_name"><p>variants_count</p></td> -<td class="parameter_description"><p>maximum number of variants to retrieve after start_offset -(IN) and actual number of variants retrieved (OUT)</p></td> -<td class="parameter_annotations"> </td> +<td class="parameter_description"><p>Input = the maximum number of variants to return; +Output = the actual number of variants returned. </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>]</span></td> </tr> <tr> <td class="parameter_name"><p>variants</p></td> -<td class="parameter_description"><p>array of size at least <em class="parameter"><code>variants_count</code></em> -to store the result</p></td> -<td class="parameter_annotations"> </td> +<td class="parameter_description"><p>array of variants returned. </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=variants_count]</span></td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="hb-ot-math-get-glyph-variants.returns"></a><h4>Returns</h4> -<p> the total number of size variants available or 0</p> +<p> the total number of size variants available or zero</p> </div> <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p> </div> @@ -451,12 +485,15 @@ to store the result</p></td> <div class="refsect2"> <a name="hb-ot-math-get-min-connector-overlap"></a><h3>hb_ot_math_get_min_connector_overlap ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="returnvalue">hb_position_t</span></a> -hb_ot_math_get_min_connector_overlap (<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>, +hb_ot_math_get_min_connector_overlap (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</code></em>);</pre> -<p>This function tries to retrieve the MathVariants table for the specified -font and returns the minimum overlap of connecting glyphs to draw a glyph -assembly in the specified direction. Note that only the value of -<a class="link" href="harfbuzz-hb-common.html#HB-DIRECTION-IS-HORIZONTAL:CAPS" title="HB_DIRECTION_IS_HORIZONTAL()"><span class="type">HB_DIRECTION_IS_HORIZONTAL</span></a> is considered.</p> +<p>Fetches the MathVariants table for the specified font and returns the +minimum overlap of connecting glyphs that are required to draw a glyph +assembly in the specified direction.</p> +<div class="note">The <em class="parameter"><code>direction</code></em> parameter is only used to select between horizontal +or vertical directions for the construction. Even though all <a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> +values are accepted, only the result of <a class="link" href="harfbuzz-hb-common.html#HB-DIRECTION-IS-HORIZONTAL:CAPS" title="HB_DIRECTION_IS_HORIZONTAL()"><span class="type">HB_DIRECTION_IS_HORIZONTAL</span></a> is +considered.</div> <div class="refsect3"> <a name="hb-ot-math-get-min-connector-overlap.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -468,12 +505,12 @@ assembly in the specified direction. Note that only the value of <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> from which to retrieve the value</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#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>direction</p></td> -<td class="parameter_description"><p>direction of the stretching</p></td> +<td class="parameter_description"><p>direction of the stretching (horizontal or vertical)</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> @@ -481,7 +518,7 @@ assembly in the specified direction. Note that only the value of </div> <div class="refsect3"> <a name="hb-ot-math-get-min-connector-overlap.returns"></a><h4>Returns</h4> -<p> requested min connector overlap or 0</p> +<p> requested minimum connector overlap or zero</p> </div> <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p> </div> @@ -489,17 +526,21 @@ assembly in the specified direction. Note that only the value of <div class="refsect2"> <a name="hb-ot-math-get-glyph-assembly"></a><h3>hb_ot_math_get_glyph_assembly ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_math_get_glyph_assembly (<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>, +hb_ot_math_get_glyph_assembly (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> glyph</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> direction</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> *parts_count</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t" title="hb_ot_math_glyph_part_t"><span class="type">hb_ot_math_glyph_part_t</span></a> *parts</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t"><span class="type">hb_ot_math_glyph_part_t</span></a> *parts</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> *italics_correction</code></em>);</pre> -<p>This function tries to retrieve the GlyphAssembly for the specified font, -glyph and direction. Note that only the value of <a class="link" href="harfbuzz-hb-common.html#HB-DIRECTION-IS-HORIZONTAL:CAPS" title="HB_DIRECTION_IS_HORIZONTAL()"><span class="type">HB_DIRECTION_IS_HORIZONTAL</span></a> -is considered. It provides the information necessary to draw the glyph -assembly as an array of <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t" title="hb_ot_math_glyph_part_t"><span class="type">hb_ot_math_glyph_part_t</span></a>.</p> +<p>Fetches the GlyphAssembly for the specified font, glyph index, and direction. +Returned are a list of <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t"><span class="type">hb_ot_math_glyph_part_t</span></a> glyph parts that can be +used to draw the glyph and an italics-correction value (if one is defined +in the font).</p> +<div class="note">The <em class="parameter"><code>direction</code></em> parameter is only used to select between horizontal +or vertical directions for the construction. Even though all <a class="link" href="harfbuzz-hb-common.html#hb-direction-t" title="enum hb_direction_t"><span class="type">hb_direction_t</span></a> +values are accepted, only the result of <a class="link" href="harfbuzz-hb-common.html#HB-DIRECTION-IS-HORIZONTAL:CAPS" title="HB_DIRECTION_IS_HORIZONTAL()"><span class="type">HB_DIRECTION_IS_HORIZONTAL</span></a> is +considered.</div> <div class="refsect3"> <a name="hb-ot-math-get-glyph-assembly.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -511,17 +552,17 @@ assembly as an array of <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-mat <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> from which to retrieve the values</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-font.html#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>glyph</p></td> -<td class="parameter_description"><p>index of the glyph to stretch</p></td> +<td class="parameter_description"><p>The index of the glyph to stretch</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>direction</p></td> -<td class="parameter_description"><p>direction of the stretching</p></td> +<td class="parameter_description"><p>direction of the stretching (horizontal or vertical)</p></td> <td class="parameter_annotations"> </td> </tr> <tr> @@ -531,20 +572,19 @@ assembly as an array of <a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-mat </tr> <tr> <td class="parameter_name"><p>parts_count</p></td> -<td class="parameter_description"><p>maximum number of glyph parts to retrieve after start_offset -(IN) and actual number of parts retrieved (OUT)</p></td> -<td class="parameter_annotations"> </td> +<td class="parameter_description"><p>Input = maximum number of glyph parts to return; +Output = actual number of parts returned. </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>]</span></td> </tr> <tr> <td class="parameter_name"><p>parts</p></td> -<td class="parameter_description"><p>array of size at least <em class="parameter"><code>parts_count</code></em> -to store the result</p></td> -<td class="parameter_annotations"> </td> +<td class="parameter_description"><p>the glyph parts returned. </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=parts_count]</span></td> </tr> <tr> <td class="parameter_name"><p>italics_correction</p></td> -<td class="parameter_description"><p>italic correction of the glyph assembly</p></td> -<td class="parameter_annotations"> </td> +<td class="parameter_description"><p>italics correction of the glyph assembly. </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> @@ -572,6 +612,8 @@ to store the result</p></td> <hr> <div class="refsect2"> <a name="hb-ot-math-constant-t"></a><h3>enum hb_ot_math_constant_t</h3> +<p>The 'MATH' table constants specified at +https://docs.microsoft.com/en-us/typography/opentype/spec/math</p> <div class="refsect3"> <a name="hb-ot-math-constant-t.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -869,6 +911,8 @@ to store the result</p></td> <hr> <div class="refsect2"> <a name="hb-ot-math-kern-t"></a><h3>enum hb_ot_math_kern_t</h3> +<p>The math kerning-table types defined for the four corners +of a glyph.</p> <div class="refsect3"> <a name="hb-ot-math-kern-t.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -905,17 +949,41 @@ to store the result</p></td> </div> <hr> <div class="refsect2"> -<a name="hb-ot-math-glyph-variant-t"></a><h3>hb_ot_math_glyph_variant_t</h3> +<a name="hb-ot-math-glyph-variant-t-struct"></a><h3>hb_ot_math_glyph_variant_t</h3> <pre class="programlisting">typedef struct { hb_codepoint_t glyph; hb_position_t advance; } hb_ot_math_glyph_variant_t; </pre> +<p>Data type to hold math-variant information for a glyph.</p> +<div class="refsect3"> +<a name="hb-ot-math-glyph-variant-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><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> <em class="structfield"><code><a name="hb-ot-math-glyph-variant-t-struct.glyph"></a>glyph</code></em>;</p></td> +<td class="struct_member_description"><p>The glyph index of the variant</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-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-ot-math-glyph-variant-t-struct.advance"></a>advance</code></em>;</p></td> +<td class="struct_member_description"><p>The advance width of the variant</p></td> +<td class="struct_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p> </div> <hr> <div class="refsect2"> <a name="hb-ot-math-glyph-part-flags-t"></a><h3>enum hb_ot_math_glyph_part_flags_t</h3> +<p>Flags for math glyph parts.</p> <div class="refsect3"> <a name="hb-ot-math-glyph-part-flags-t.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -925,7 +993,7 @@ to store the result</p></td> <col width="200px" class="enum_members_annotations"> </colgroup> <tbody><tr> -<td class="enum_member_name"><p><a name="HB-MATH-GLYPH-PART-FLAG-EXTENDER:CAPS"></a>HB_MATH_GLYPH_PART_FLAG_EXTENDER</p></td> +<td class="enum_member_name"><p><a name="HB-OT-MATH-GLYPH-PART-FLAG-EXTENDER:CAPS"></a>HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER</p></td> <td> </td> <td> </td> </tr></tbody> @@ -935,7 +1003,7 @@ to store the result</p></td> </div> <hr> <div class="refsect2"> -<a name="hb-ot-math-glyph-part-t"></a><h3>hb_ot_math_glyph_part_t</h3> +<a name="hb-ot-math-glyph-part-t-struct"></a><h3>hb_ot_math_glyph_part_t</h3> <pre class="programlisting">typedef struct { hb_codepoint_t glyph; hb_position_t start_connector_length; @@ -944,6 +1012,46 @@ to store the result</p></td> hb_ot_math_glyph_part_flags_t flags; } hb_ot_math_glyph_part_t; </pre> +<p>Data type to hold information for a "part" component of a math-variant glyph. +Large variants for stretchable math glyphs (such as parentheses) can be constructed +on the fly from parts.</p> +<div class="refsect3"> +<a name="hb-ot-math-glyph-part-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><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> <em class="structfield"><code><a name="hb-ot-math-glyph-part-t-struct.glyph"></a>glyph</code></em>;</p></td> +<td class="struct_member_description"><p>The glyph index of the variant part</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-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-ot-math-glyph-part-t-struct.start-connector-length"></a>start_connector_length</code></em>;</p></td> +<td class="struct_member_description"><p>The length of the connector on the starting side of the variant part</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-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-ot-math-glyph-part-t-struct.end-connector-length"></a>end_connector_length</code></em>;</p></td> +<td class="struct_member_description"><p>The length of the connector on the ending side of the variant part</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-position-t" title="hb_position_t"><span class="type">hb_position_t</span></a> <em class="structfield"><code><a name="hb-ot-math-glyph-part-t-struct.full-advance"></a>full_advance</code></em>;</p></td> +<td class="struct_member_description"><p>The total advance of the part</p></td> +<td class="struct_member_annotations"> </td> +</tr> +<tr> +<td class="struct_member_name"><p><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-flags-t" title="enum hb_ot_math_glyph_part_flags_t"><span class="type">hb_ot_math_glyph_part_flags_t</span></a> <em class="structfield"><code><a name="hb-ot-math-glyph-part-t-struct.flags"></a>flags</code></em>;</p></td> +<td class="struct_member_description"><p><a class="link" href="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-flags-t" title="enum hb_ot_math_glyph_part_flags_t"><span class="type">hb_ot_math_glyph_part_flags_t</span></a> flags for the part</p></td> +<td class="struct_member_annotations"> </td> +</tr> +</tbody> +</table></div> +</div> <p class="since">Since: <a class="link" href="api-index-1-3-3.html#api-index-1.3.3">1.3.3</a></p> </div> </div> diff --git a/docs/html/harfbuzz-hb-ot-name.html b/docs/html/harfbuzz-hb-ot-name.html index 1087a86..3fbf48d 100644 --- a/docs/html/harfbuzz-hb-ot-name.html +++ b/docs/html/harfbuzz-hb-ot-name.html @@ -5,7 +5,7 @@ <title>hb-ot-name: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch10.html" title="OpenType API"> +<link rel="up" href="ch12.html" title="OpenType API"> <link rel="prev" href="harfbuzz-hb-ot-math.html" title="hb-ot-math"> <link rel="next" href="harfbuzz-hb-ot-shape.html" title="hb-ot-shape"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -18,7 +18,7 @@ <a href="#harfbuzz-hb-ot-name.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="ch10.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch12.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-ot-math.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-ot-shape.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -97,7 +97,7 @@ <div class="refsect2"> <a name="hb-ot-name-list-names"></a><h3>hb_ot_name_list_names ()</h3> <pre class="programlisting">const <span class="returnvalue">hb_ot_name_entry_t</span> * -hb_ot_name_list_names (<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>, +hb_ot_name_list_names (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *num_entries</code></em>);</pre> <p>Enumerates all available name IDs and language combinations. Returned array is owned by the <em class="parameter"><code>face</code></em> @@ -137,7 +137,7 @@ used as long as <em class="parameter"><code>face</code></em> <div class="refsect2"> <a name="hb-ot-name-get-utf16"></a><h3>hb_ot_name_get_utf16 ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_name_get_utf16 (<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>, +hb_ot_name_get_utf16 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code><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> name_id</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> language</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *text_size</code></em>, @@ -195,7 +195,7 @@ text written to buffer. </p></td> <div class="refsect2"> <a name="hb-ot-name-get-utf32"></a><h3>hb_ot_name_get_utf32 ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_name_get_utf32 (<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>, +hb_ot_name_get_utf32 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code><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> name_id</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> language</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *text_size</code></em>, @@ -253,7 +253,7 @@ text written to buffer. </p></td> <div class="refsect2"> <a name="hb-ot-name-get-utf8"></a><h3>hb_ot_name_get_utf8 ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_ot_name_get_utf8 (<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>, +hb_ot_name_get_utf8 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>, <em class="parameter"><code><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> name_id</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-language-t" title="hb_language_t"><span class="type">hb_language_t</span></a> language</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> *text_size</code></em>, diff --git a/docs/html/harfbuzz-hb-ot-shape.html b/docs/html/harfbuzz-hb-ot-shape.html index 5814dfe..56d06c9 100644 --- a/docs/html/harfbuzz-hb-ot-shape.html +++ b/docs/html/harfbuzz-hb-ot-shape.html @@ -5,7 +5,7 @@ <title>hb-ot-shape: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch10.html" title="OpenType API"> +<link rel="up" href="ch12.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.29 (XML mode)"> @@ -18,7 +18,7 @@ <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="ch10.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch12.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> @@ -62,11 +62,11 @@ <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>, +hb_ot_shape_glyphs_closure (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#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"><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"><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> + <em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *glyphs</code></em>);</pre> <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> diff --git a/docs/html/harfbuzz-hb-ot-var.html b/docs/html/harfbuzz-hb-ot-var.html index f65fd8d..11fee9b 100644 --- a/docs/html/harfbuzz-hb-ot-var.html +++ b/docs/html/harfbuzz-hb-ot-var.html @@ -5,9 +5,9 @@ <title>hb-ot-var: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch10.html" title="OpenType API"> +<link rel="up" href="ch12.html" title="OpenType API"> <link rel="prev" href="harfbuzz-hb-ot-shape.html" title="hb-ot-shape"> -<link rel="next" href="ch11.html" title="Apple Advanced Typography API"> +<link rel="next" href="ch13.html" title="Apple Advanced Typography API"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> @@ -15,12 +15,13 @@ <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> + <a href="#harfbuzz-hb-ot-var.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> + <a href="#harfbuzz-hb-ot-var.object-hierarchy" class="shortcut">Object Hierarchy</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="ch10.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch12.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="ch11.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +<td><a accesskey="n" href="ch13.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> @@ -154,6 +155,12 @@ </table></div> </div> <div class="refsect1"> +<a name="harfbuzz-hb-ot-var.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GFlags</a> + <span class="lineart">╰──</span> hb_ot_var_axis_flags_t +</pre> +</div> +<div class="refsect1"> <a name="harfbuzz-hb-ot-var.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb-ot.h> </pre> @@ -167,7 +174,7 @@ <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> +hb_ot_var_has_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> <p>This function allows to verify the presence of OpenType variation data on the face.</p> <div class="refsect3"> <a name="hb-ot-var-has-data.parameters"></a><h4>Parameters</h4> @@ -179,7 +186,7 @@ hb_ot_var_has_data (<em class="parameter"><code><a class="link" href="harfbuzz-h </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 test</p></td> +<td class="parameter_description"><p><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> to test</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> @@ -194,7 +201,7 @@ hb_ot_var_has_data (<em class="parameter"><code><a class="link" href="harfbuzz-h <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>, +hb_ot_var_find_axis_info (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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><span class="type">hb_ot_var_axis_info_t</span> *axis_info</code></em>);</pre> <p class="since">Since: <a class="link" href="api-index-2-2-0.html#api-index-2.2.0">2.2.0</a></p> @@ -203,14 +210,14 @@ hb_ot_var_find_axis_info (<em class="parameter"><code><a class="link" href="harf <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> +hb_ot_var_get_axis_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> <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>, +hb_ot_var_get_axis_infos (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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><span class="type">hb_ot_var_axis_info_t</span> *axes_array</code></em>);</pre> @@ -220,14 +227,14 @@ hb_ot_var_get_axis_infos (<em class="parameter"><code><a class="link" href="harf <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> +hb_ot_var_get_named_instance_count (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#hb-face-t"><span class="type">hb_face_t</span></a> *face</code></em>);</pre> </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><a class="link" href="harfbuzz-hb-face.html#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> </div> <hr> @@ -235,7 +242,7 @@ hb_ot_var_named_instance_get_subfamily_name_id <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><a class="link" href="harfbuzz-hb-face.html#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> </div> <hr> @@ -243,7 +250,7 @@ hb_ot_var_named_instance_get_postscript_name_id <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><a class="link" href="harfbuzz-hb-face.html#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> @@ -252,7 +259,7 @@ hb_ot_var_named_instance_get_design_coords <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>, +hb_ot_var_normalize_variations (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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>, @@ -263,7 +270,7 @@ hb_ot_var_normalize_variations (<em class="parameter"><code><a class="link" href <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>, +hb_ot_var_normalize_coords (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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> diff --git a/docs/html/harfbuzz-hb-set.html b/docs/html/harfbuzz-hb-set.html index 7607ab2..8c2c408 100644 --- a/docs/html/harfbuzz-hb-set.html +++ b/docs/html/harfbuzz-hb-set.html @@ -5,7 +5,7 @@ <title>hb-set: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch09.html" title="Core API"> +<link rel="up" href="ch11.html" title="Core API"> <link rel="prev" href="harfbuzz-hb-map.html" title="hb-map"> <link rel="next" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -15,10 +15,11 @@ <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-set.description" class="shortcut">Description</a></span> + <a href="#harfbuzz-hb-set.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> + <a href="#harfbuzz-hb-set.object-hierarchy" class="shortcut">Object Hierarchy</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="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch11.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-map.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-shape-plan.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -73,7 +74,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="returnvalue">hb_set_t</span></a> * +<a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="returnvalue">hb_set_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-set.html#hb-set-create" title="hb_set_create ()">hb_set_create</a> <span class="c_punctuation">()</span> @@ -105,7 +106,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="returnvalue">hb_set_t</span></a> * +<a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="returnvalue">hb_set_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-set.html#hb-set-get-empty" title="hb_set_get_empty ()">hb_set_get_empty</a> <span class="c_punctuation">()</span> @@ -216,7 +217,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="returnvalue">hb_set_t</span></a> * +<a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="returnvalue">hb_set_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-set.html#hb-set-reference" title="hb_set_reference ()">hb_set_reference</a> <span class="c_punctuation">()</span> @@ -265,7 +266,7 @@ </tbody> </table></div> </div> -<div class="refsect1"> +<a name="hb-set-t"></a><div class="refsect1"> <a name="harfbuzz-hb-set.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> @@ -279,12 +280,18 @@ </tr> <tr> <td class="typedef_keyword">typedef</td> -<td class="function_name"><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t">hb_set_t</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-set.html#hb-set-t">hb_set_t</a></td> </tr> </tbody> </table></div> </div> <div class="refsect1"> +<a name="harfbuzz-hb-set.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a> + <span class="lineart">╰──</span> hb_set_t +</pre> +</div> +<div class="refsect1"> <a name="harfbuzz-hb-set.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb.h> </pre> @@ -300,7 +307,7 @@ or other integer values.</p> <div class="refsect2"> <a name="hb-set-add"></a><h3>hb_set_add ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_set_add (<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> *set</code></em>, +hb_set_add (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> codepoint</code></em>);</pre> <div class="refsect3"> <a name="hb-set-add.parameters"></a><h4>Parameters</h4> @@ -323,7 +330,7 @@ hb_set_add (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.ht <div class="refsect2"> <a name="hb-set-add-range"></a><h3>hb_set_add_range ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_set_add_range (<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> *set</code></em>, +hb_set_add_range (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> first</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> last</code></em>);</pre> <div class="refsect3"> @@ -347,7 +354,7 @@ hb_set_add_range (<em class="parameter"><code><a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-set-allocation-successful"></a><h3>hb_set_allocation_successful ()</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_set_allocation_successful (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre> +hb_set_allocation_successful (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre> <div class="refsect3"> <a name="hb-set-allocation-successful.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -369,7 +376,7 @@ hb_set_allocation_successful (<em class="parameter"><code>const <a class="link" <div class="refsect2"> <a name="hb-set-clear"></a><h3>hb_set_clear ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_set_clear (<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> *set</code></em>);</pre> +hb_set_clear (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre> <div class="refsect3"> <a name="hb-set-clear.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -390,7 +397,7 @@ hb_set_clear (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set. <hr> <div class="refsect2"> <a name="hb-set-create"></a><h3>hb_set_create ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="returnvalue">hb_set_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="returnvalue">hb_set_t</span></a> * hb_set_create (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <p><span class="annotation">[Xconstructor]</span></p> <div class="refsect3"> @@ -404,7 +411,7 @@ hb_set_create (<em class="parameter"><code><span class="type">void</span></code> <div class="refsect2"> <a name="hb-set-del"></a><h3>hb_set_del ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_set_del (<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> *set</code></em>, +hb_set_del (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> codepoint</code></em>);</pre> <div class="refsect3"> <a name="hb-set-del.parameters"></a><h4>Parameters</h4> @@ -427,7 +434,7 @@ hb_set_del (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.ht <div class="refsect2"> <a name="hb-set-del-range"></a><h3>hb_set_del_range ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_set_del_range (<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> *set</code></em>, +hb_set_del_range (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> first</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> last</code></em>);</pre> <div class="refsect3"> @@ -451,7 +458,7 @@ hb_set_del_range (<em class="parameter"><code><a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-set-destroy"></a><h3>hb_set_destroy ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_set_destroy (<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> *set</code></em>);</pre> +hb_set_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-set-destroy.parameters"></a><h4>Parameters</h4> @@ -473,7 +480,7 @@ hb_set_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-se <hr> <div class="refsect2"> <a name="hb-set-get-empty"></a><h3>hb_set_get_empty ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="returnvalue">hb_set_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="returnvalue">hb_set_t</span></a> * hb_set_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <div class="refsect3"> <a name="hb-set-get-empty.returns"></a><h4>Returns</h4> @@ -486,7 +493,7 @@ hb_set_get_empty (<em class="parameter"><code><span class="type">void</span></co <div class="refsect2"> <a name="hb-set-get-max"></a><h3>hb_set_get_max ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a> -hb_set_get_max (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre> +hb_set_get_max (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre> <p>Finds the maximum number in the set.</p> <div class="refsect3"> <a name="hb-set-get-max.parameters"></a><h4>Parameters</h4> @@ -513,7 +520,7 @@ hb_set_get_max (<em class="parameter"><code>const <a class="link" href="harfbuzz <div class="refsect2"> <a name="hb-set-get-min"></a><h3>hb_set_get_min ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a> -hb_set_get_min (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre> +hb_set_get_min (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre> <p>Finds the minimum number in the set.</p> <div class="refsect3"> <a name="hb-set-get-min.parameters"></a><h4>Parameters</h4> @@ -540,7 +547,7 @@ hb_set_get_min (<em class="parameter"><code>const <a class="link" href="harfbuzz <div class="refsect2"> <a name="hb-set-get-population"></a><h3>hb_set_get_population ()</h3> <pre class="programlisting">unsigned <span class="returnvalue">int</span> -hb_set_get_population (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre> +hb_set_get_population (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre> <p>Returns the number of numbers in the set.</p> <div class="refsect3"> <a name="hb-set-get-population.parameters"></a><h4>Parameters</h4> @@ -567,8 +574,8 @@ hb_set_get_population (<em class="parameter"><code>const <a class="link" href="h <div class="refsect2"> <a name="hb-set-get-user-data"></a><h3>hb_set_get_user_data ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> * -hb_set_get_user_data (<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> *set</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> +hb_set_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-set-get-user-data.parameters"></a><h4>Parameters</h4> @@ -596,7 +603,7 @@ hb_set_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz <div class="refsect2"> <a name="hb-set-has"></a><h3>hb_set_has ()</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_set_has (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>, +hb_set_has (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> codepoint</code></em>);</pre> <div class="refsect3"> <a name="hb-set-has.parameters"></a><h4>Parameters</h4> @@ -619,8 +626,8 @@ hb_set_has (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-set-intersect"></a><h3>hb_set_intersect ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_set_intersect (<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> *set</code></em>, - <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre> +hb_set_intersect (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, + <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre> <div class="refsect3"> <a name="hb-set-intersect.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -642,7 +649,7 @@ hb_set_intersect (<em class="parameter"><code><a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-set-is-empty"></a><h3>hb_set_is_empty ()</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_set_is_empty (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre> +hb_set_is_empty (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre> <div class="refsect3"> <a name="hb-set-is-empty.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -664,8 +671,8 @@ hb_set_is_empty (<em class="parameter"><code>const <a class="link" href="harfbuz <div class="refsect2"> <a name="hb-set-is-equal"></a><h3>hb_set_is_equal ()</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_set_is_equal (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>, - <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre> +hb_set_is_equal (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, + <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre> <div class="refsect3"> <a name="hb-set-is-equal.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -690,7 +697,7 @@ hb_set_is_equal (<em class="parameter"><code>const <a class="link" href="harfbuz </div> <div class="refsect3"> <a name="hb-set-is-equal.returns"></a><h4>Returns</h4> -<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the two sets are equal, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p> +<p> <code class="literal">TRUE</code> if the two sets are equal, <code class="literal">FALSE</code> otherwise.</p> </div> <p class="since">Since: <a class="link" href="api-index-0-9-7.html#api-index-0.9.7">0.9.7</a></p> </div> @@ -698,8 +705,8 @@ hb_set_is_equal (<em class="parameter"><code>const <a class="link" href="harfbuz <div class="refsect2"> <a name="hb-set-is-subset"></a><h3>hb_set_is_subset ()</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_set_is_subset (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>, - <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *larger_set</code></em>);</pre> +hb_set_is_subset (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, + <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *larger_set</code></em>);</pre> <div class="refsect3"> <a name="hb-set-is-subset.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -724,9 +731,9 @@ hb_set_is_subset (<em class="parameter"><code>const <a class="link" href="harfbu </div> <div class="refsect3"> <a name="hb-set-is-subset.returns"></a><h4>Returns</h4> -<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>set</code></em> +<p> <code class="literal">TRUE</code> if the <em class="parameter"><code>set</code></em> is a subset of (or equal to) <em class="parameter"><code>larger_set</code></em> -, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p> +, <code class="literal">FALSE</code> otherwise.</p> </div> <p class="since">Since: <a class="link" href="api-index-1-8-1.html#api-index-1.8.1">1.8.1</a></p> </div> @@ -734,7 +741,7 @@ is a subset of (or equal to) <em class="parameter"><code>larger_set</code></em> <div class="refsect2"> <a name="hb-set-next"></a><h3>hb_set_next ()</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_set_next (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>, +hb_set_next (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *codepoint</code></em>);</pre> <p>Gets the next number in <em class="parameter"><code>set</code></em> that is greater than current value of <em class="parameter"><code>codepoint</code></em> @@ -773,7 +780,7 @@ hb_set_next (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb <div class="refsect2"> <a name="hb-set-next-range"></a><h3>hb_set_next_range ()</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_set_next_range (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>, +hb_set_next_range (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *last</code></em>);</pre> <p>Gets the next consecutive range of numbers in <em class="parameter"><code>set</code></em> @@ -819,10 +826,10 @@ are greater than current value of <em class="parameter"><code>last</code></em> <div class="refsect2"> <a name="hb-set-previous"></a><h3>hb_set_previous ()</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_set_previous (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>, +hb_set_previous (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *codepoint</code></em>);</pre> <p>Gets the previous number in <em class="parameter"><code>set</code></em> - that is slower than current value of <em class="parameter"><code>codepoint</code></em> + that is lower than current value of <em class="parameter"><code>codepoint</code></em> .</p> <p>Set <em class="parameter"><code>codepoint</code></em> to <a class="link" href="harfbuzz-hb-set.html#HB-SET-VALUE-INVALID:CAPS" title="HB_SET_VALUE_INVALID"><code class="literal">HB_SET_VALUE_INVALID</code></a> to get started.</p> @@ -858,12 +865,12 @@ hb_set_previous (<em class="parameter"><code>const <a class="link" href="harfbuz <div class="refsect2"> <a name="hb-set-previous-range"></a><h3>hb_set_previous_range ()</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_set_previous_range (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *set</code></em>, +hb_set_previous_range (<em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *first</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *last</code></em>);</pre> <p>Gets the previous consecutive range of numbers in <em class="parameter"><code>set</code></em> that -are greater than current value of <em class="parameter"><code>last</code></em> +are less than current value of <em class="parameter"><code>first</code></em> .</p> <p>Set <em class="parameter"><code>first</code></em> to <a class="link" href="harfbuzz-hb-set.html#HB-SET-VALUE-INVALID:CAPS" title="HB_SET_VALUE_INVALID"><code class="literal">HB_SET_VALUE_INVALID</code></a> to get started.</p> @@ -903,8 +910,8 @@ are greater than current value of <em class="parameter"><code>last</code></em> <hr> <div class="refsect2"> <a name="hb-set-reference"></a><h3>hb_set_reference ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="returnvalue">hb_set_t</span></a> * -hb_set_reference (<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> *set</code></em>);</pre> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="returnvalue">hb_set_t</span></a> * +hb_set_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-set-reference.parameters"></a><h4>Parameters</h4> @@ -932,8 +939,8 @@ hb_set_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb- <div class="refsect2"> <a name="hb-set-set"></a><h3>hb_set_set ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_set_set (<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> *set</code></em>, - <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre> +hb_set_set (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, + <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre> <div class="refsect3"> <a name="hb-set-set.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -955,8 +962,8 @@ hb_set_set (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.ht <div class="refsect2"> <a name="hb-set-set-user-data"></a><h3>hb_set_set_user_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_set_set_user_data (<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> *set</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, +hb_set_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, <em class="parameter"><code><span class="type">void</span> *data</code></em>, <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>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre> @@ -982,8 +989,8 @@ hb_set_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz <div class="refsect2"> <a name="hb-set-subtract"></a><h3>hb_set_subtract ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_set_subtract (<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> *set</code></em>, - <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre> +hb_set_subtract (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, + <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre> <div class="refsect3"> <a name="hb-set-subtract.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -1005,8 +1012,8 @@ hb_set_subtract (<em class="parameter"><code><a class="link" href="harfbuzz-hb-s <div class="refsect2"> <a name="hb-set-symmetric-difference"></a><h3>hb_set_symmetric_difference ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_set_symmetric_difference (<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> *set</code></em>, - <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre> +hb_set_symmetric_difference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, + <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre> <div class="refsect3"> <a name="hb-set-symmetric-difference.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -1028,8 +1035,8 @@ hb_set_symmetric_difference (<em class="parameter"><code><a class="link" href="h <div class="refsect2"> <a name="hb-set-union"></a><h3>hb_set_union ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_set_union (<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> *set</code></em>, - <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t" title="hb_set_t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre> +hb_set_union (<em class="parameter"><code><a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *set</code></em>, + <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-set.html#hb-set-t"><span class="type">hb_set_t</span></a> *other</code></em>);</pre> <div class="refsect3"> <a name="hb-set-union.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> diff --git a/docs/html/harfbuzz-hb-shape-plan.html b/docs/html/harfbuzz-hb-shape-plan.html index e9c3501..577c556 100644 --- a/docs/html/harfbuzz-hb-shape-plan.html +++ b/docs/html/harfbuzz-hb-shape-plan.html @@ -5,7 +5,7 @@ <title>hb-shape-plan: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch09.html" title="Core API"> +<link rel="up" href="ch11.html" title="Core API"> <link rel="prev" href="harfbuzz-hb-set.html" title="hb-set"> <link rel="next" href="harfbuzz-hb-shape.html" title="hb-shape"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -15,10 +15,11 @@ <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-shape-plan.description" class="shortcut">Description</a></span> + <a href="#harfbuzz-hb-shape-plan.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> + <a href="#harfbuzz-hb-shape-plan.object-hierarchy" class="shortcut">Object Hierarchy</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="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch11.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-set.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-shape.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -41,7 +42,7 @@ <tbody> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> * +<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-create" title="hb_shape_plan_create ()">hb_shape_plan_create</a> <span class="c_punctuation">()</span> @@ -49,7 +50,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> * +<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-create-cached" title="hb_shape_plan_create_cached ()">hb_shape_plan_create_cached</a> <span class="c_punctuation">()</span> @@ -57,7 +58,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> * +<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-create2" title="hb_shape_plan_create2 ()">hb_shape_plan_create2</a> <span class="c_punctuation">()</span> @@ -65,7 +66,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> * +<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-create-cached2" title="hb_shape_plan_create_cached2 ()">hb_shape_plan_create_cached2</a> <span class="c_punctuation">()</span> @@ -89,7 +90,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> * +<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-get-empty" title="hb_shape_plan_get_empty ()">hb_shape_plan_get_empty</a> <span class="c_punctuation">()</span> @@ -112,7 +113,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> * +<a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-reference" title="hb_shape_plan_reference ()">hb_shape_plan_reference</a> <span class="c_punctuation">()</span> @@ -129,7 +130,7 @@ </tbody> </table></div> </div> -<div class="refsect1"> +<a name="hb-shape-plan-t"></a><div class="refsect1"> <a name="harfbuzz-hb-shape-plan.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> @@ -138,11 +139,17 @@ </colgroup> <tbody><tr> <td class="typedef_keyword">typedef</td> -<td class="function_name"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t">hb_shape_plan_t</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t">hb_shape_plan_t</a></td> </tr></tbody> </table></div> </div> <div class="refsect1"> +<a name="harfbuzz-hb-shape-plan.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a> + <span class="lineart">╰──</span> hb_shape_plan_t +</pre> +</div> +<div class="refsect1"> <a name="harfbuzz-hb-shape-plan.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb.h> </pre> @@ -158,10 +165,10 @@ Most client would not need to deal with shape plans directly.</p> <a name="harfbuzz-hb-shape-plan.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="hb-shape-plan-create"></a><h3>hb_shape_plan_create ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> * -hb_shape_plan_create (<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-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *props</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> *user_features</code></em>, +<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> * +hb_shape_plan_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>, + <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *user_features</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> num_user_features</code></em>, <em class="parameter"><code>const <span class="type">char</span> * const *shaper_list</code></em>);</pre> <p><span class="annotation">[Xconstructor]</span></p> @@ -197,10 +204,10 @@ hb_shape_plan_create (<em class="parameter"><code><a class="link" href="harfbuzz <hr> <div class="refsect2"> <a name="hb-shape-plan-create-cached"></a><h3>hb_shape_plan_create_cached ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> * -hb_shape_plan_create_cached (<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-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *props</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> *user_features</code></em>, +<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> * +hb_shape_plan_create_cached (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>, + <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *user_features</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> num_user_features</code></em>, <em class="parameter"><code>const <span class="type">char</span> * const *shaper_list</code></em>);</pre> <div class="refsect3"> @@ -235,10 +242,10 @@ hb_shape_plan_create_cached (<em class="parameter"><code><a class="link" href="h <hr> <div class="refsect2"> <a name="hb-shape-plan-create2"></a><h3>hb_shape_plan_create2 ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> * -hb_shape_plan_create2 (<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-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *props</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> *user_features</code></em>, +<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> * +hb_shape_plan_create2 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>, + <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *user_features</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> num_user_features</code></em>, <em class="parameter"><code>const <span class="type">int</span> *coords</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> num_coords</code></em>, @@ -247,10 +254,10 @@ hb_shape_plan_create2 (<em class="parameter"><code><a class="link" href="harfbuz <hr> <div class="refsect2"> <a name="hb-shape-plan-create-cached2"></a><h3>hb_shape_plan_create_cached2 ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> * -hb_shape_plan_create_cached2 (<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-buffer.html#hb-segment-properties-t" title="hb_segment_properties_t"><span class="type">hb_segment_properties_t</span></a> *props</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> *user_features</code></em>, +<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> * +hb_shape_plan_create_cached2 (<em class="parameter"><code><a class="link" href="harfbuzz-hb-face.html#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-buffer.html#hb-segment-properties-t"><span class="type">hb_segment_properties_t</span></a> *props</code></em>, + <em class="parameter"><code>const <a class="link" href="harfbuzz-hb-common.html#hb-feature-t"><span class="type">hb_feature_t</span></a> *user_features</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> num_user_features</code></em>, <em class="parameter"><code>const <span class="type">int</span> *coords</code></em>, <em class="parameter"><code>unsigned <span class="type">int</span> num_coords</code></em>, @@ -260,7 +267,7 @@ hb_shape_plan_create_cached2 (<em class="parameter"><code><a class="link" href=" <div class="refsect2"> <a name="hb-shape-plan-destroy"></a><h3>hb_shape_plan_destroy ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_shape_plan_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>);</pre> +hb_shape_plan_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-shape-plan-destroy.parameters"></a><h4>Parameters</h4> @@ -283,10 +290,10 @@ hb_shape_plan_destroy (<em class="parameter"><code><a class="link" href="harfbuz <div class="refsect2"> <a name="hb-shape-plan-execute"></a><h3>hb_shape_plan_execute ()</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_shape_plan_execute (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>, - <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>, +hb_shape_plan_execute (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#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"><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"><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>);</pre> <div class="refsect3"> <a name="hb-shape-plan-execute.parameters"></a><h4>Parameters</h4> @@ -325,7 +332,7 @@ hb_shape_plan_execute (<em class="parameter"><code><a class="link" href="harfbuz <hr> <div class="refsect2"> <a name="hb-shape-plan-get-empty"></a><h3>hb_shape_plan_get_empty ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> * hb_shape_plan_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <div class="refsect3"> <a name="hb-shape-plan-get-empty.returns"></a><h4>Returns</h4> @@ -338,7 +345,7 @@ hb_shape_plan_get_empty (<em class="parameter"><code><span class="type">void</sp <div class="refsect2"> <a name="hb-shape-plan-get-shaper"></a><h3>hb_shape_plan_get_shaper ()</h3> <pre class="programlisting">const <span class="returnvalue">char</span> * -hb_shape_plan_get_shaper (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>);</pre> +hb_shape_plan_get_shaper (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>);</pre> <div class="refsect3"> <a name="hb-shape-plan-get-shaper.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -365,8 +372,8 @@ hb_shape_plan_get_shaper (<em class="parameter"><code><a class="link" href="harf <div class="refsect2"> <a name="hb-shape-plan-get-user-data"></a><h3>hb_shape_plan_get_user_data ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> * -hb_shape_plan_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> +hb_shape_plan_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-shape-plan-get-user-data.parameters"></a><h4>Parameters</h4> @@ -393,8 +400,8 @@ hb_shape_plan_get_user_data (<em class="parameter"><code><a class="link" href="h <hr> <div class="refsect2"> <a name="hb-shape-plan-reference"></a><h3>hb_shape_plan_reference ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="returnvalue">hb_shape_plan_t</span></a> * -hb_shape_plan_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>);</pre> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="returnvalue">hb_shape_plan_t</span></a> * +hb_shape_plan_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-shape-plan-reference.parameters"></a><h4>Parameters</h4> @@ -422,8 +429,8 @@ hb_shape_plan_reference (<em class="parameter"><code><a class="link" href="harfb <div class="refsect2"> <a name="hb-shape-plan-set-user-data"></a><h3>hb_shape_plan_set_user_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_shape_plan_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t" title="hb_shape_plan_t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, +hb_shape_plan_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-shape-plan.html#hb-shape-plan-t"><span class="type">hb_shape_plan_t</span></a> *shape_plan</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, <em class="parameter"><code><span class="type">void</span> *data</code></em>, <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>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre> diff --git a/docs/html/harfbuzz-hb-shape.html b/docs/html/harfbuzz-hb-shape.html index 0785017..d61f3ea 100644 --- a/docs/html/harfbuzz-hb-shape.html +++ b/docs/html/harfbuzz-hb-shape.html @@ -5,7 +5,7 @@ <title>hb-shape: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch09.html" title="Core API"> +<link rel="up" href="ch11.html" title="Core API"> <link rel="prev" href="harfbuzz-hb-shape-plan.html" title="hb-shape-plan"> <link rel="next" href="harfbuzz-hb-unicode.html" title="hb-unicode"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -18,7 +18,7 @@ <a href="#harfbuzz-hb-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="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch11.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-shape-plan.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-unicode.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -82,16 +82,19 @@ contains the output glyphs and their positions.</p> <div class="refsect2"> <a name="hb-shape"></a><h3>hb_shape ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_shape (<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>, +hb_shape (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#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"><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"><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>);</pre> <p>Shapes <em class="parameter"><code>buffer</code></em> using <em class="parameter"><code>font</code></em> turning its Unicode characters content to positioned glyphs. If <em class="parameter"><code>features</code></em> - is not <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, it will be used to control the -features applied during shaping.</p> + is not <code class="literal">NULL</code>, it will be used to control the +features applied during shaping. If two <em class="parameter"><code>features</code></em> + have the same tag but +overlapping ranges the value of the feature with the higher index takes +precedence.</p> <div class="refsect3"> <a name="hb-shape.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -103,18 +106,18 @@ features applied during shaping.</p> <tbody> <tr> <td class="parameter_name"><p>font</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> to use for shaping</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> to use for shaping</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> to shape</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> to shape</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>features</p></td> <td class="parameter_description"><p>an array of user -specified <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> +specified <a class="link" href="harfbuzz-hb-common.html#hb-feature-t"><span class="type">hb_feature_t</span></a> or <code class="literal">NULL</code>. </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][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> @@ -132,13 +135,13 @@ array</p></td> <div class="refsect2"> <a name="hb-shape-full"></a><h3>hb_shape_full ()</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_shape_full (<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>, +hb_shape_full (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#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"><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"><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>const <span class="type">char</span> * const *shaper_list</code></em>);</pre> <p>See <a class="link" href="harfbuzz-hb-shape.html#hb-shape" title="hb_shape ()"><code class="function">hb_shape()</code></a> for details. If <em class="parameter"><code>shaper_list</code></em> - is not <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the specified + is not <code class="literal">NULL</code>, the specified shapers will be used in the given order, otherwise the default shapers list will be used.</p> <div class="refsect3"> @@ -152,18 +155,18 @@ will be used.</p> <tbody> <tr> <td class="parameter_name"><p>font</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-font.html#hb-font-t" title="hb_font_t"><span class="type">hb_font_t</span></a> to use for shaping</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> to use for shaping</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>buffer</p></td> -<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t" title="hb_buffer_t"><span class="type">hb_buffer_t</span></a> to shape</p></td> +<td class="parameter_description"><p>an <a class="link" href="harfbuzz-hb-buffer.html#hb-buffer-t"><span class="type">hb_buffer_t</span></a> to shape</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>features</p></td> <td class="parameter_description"><p>an array of user -specified <a class="link" href="harfbuzz-hb-common.html#hb-feature-t" title="hb_feature_t"><span class="type">hb_feature_t</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> +specified <a class="link" href="harfbuzz-hb-common.html#hb-feature-t"><span class="type">hb_feature_t</span></a> or <code class="literal">NULL</code>. </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][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> @@ -174,8 +177,8 @@ array</p></td> </tr> <tr> <td class="parameter_name"><p>shaper_list</p></td> -<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated -array of shapers to use or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> +<td class="parameter_description"><p>a <code class="literal">NULL</code>-terminated +array of shapers to use or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> diff --git a/docs/html/harfbuzz-hb-unicode.html b/docs/html/harfbuzz-hb-unicode.html index 51a72c6..2762f3c 100644 --- a/docs/html/harfbuzz-hb-unicode.html +++ b/docs/html/harfbuzz-hb-unicode.html @@ -5,7 +5,7 @@ <title>hb-unicode: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch09.html" title="Core API"> +<link rel="up" href="ch11.html" title="Core API"> <link rel="prev" href="harfbuzz-hb-shape.html" title="hb-shape"> <link rel="next" href="harfbuzz-hb-version.html" title="hb-version"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -15,10 +15,11 @@ <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-unicode.description" class="shortcut">Description</a></span> + <a href="#harfbuzz-hb-unicode.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> + <a href="#harfbuzz-hb-unicode.object-hierarchy" class="shortcut">Object Hierarchy</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="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch11.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-shape.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="harfbuzz-hb-version.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -89,7 +90,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-create" title="hb_unicode_funcs_create ()">hb_unicode_funcs_create</a> <span class="c_punctuation">()</span> @@ -105,7 +106,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-get-default" title="hb_unicode_funcs_get_default ()">hb_unicode_funcs_get_default</a> <span class="c_punctuation">()</span> @@ -113,7 +114,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-get-empty" title="hb_unicode_funcs_get_empty ()">hb_unicode_funcs_get_empty</a> <span class="c_punctuation">()</span> @@ -121,7 +122,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-get-parent" title="hb_unicode_funcs_get_parent ()">hb_unicode_funcs_get_parent</a> <span class="c_punctuation">()</span> @@ -153,7 +154,7 @@ </tr> <tr> <td class="function_type"> -<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +<a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * </td> <td class="function_name"> <a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-reference" title="hb_unicode_funcs_reference ()">hb_unicode_funcs_reference</a> <span class="c_punctuation">()</span> @@ -266,7 +267,7 @@ </tbody> </table></div> </div> -<div class="refsect1"> +<a name="hb-unicode-funcs-t"></a><div class="refsect1"> <a name="harfbuzz-hb-unicode.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> @@ -284,7 +285,7 @@ </tr> <tr> <td class="typedef_keyword">typedef</td> -<td class="function_name"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t">hb_unicode_funcs_t</a></td> +<td class="function_name"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t">hb_unicode_funcs_t</a></td> </tr> <tr> <td class="datatype_keyword">enum</td> @@ -294,6 +295,15 @@ </table></div> </div> <div class="refsect1"> +<a name="harfbuzz-hb-unicode.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a> + <span class="lineart">╰──</span> hb_unicode_funcs_t + <a href="/usr/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GEnum</a> + <span class="lineart">├──</span> hb_unicode_combining_class_t + <span class="lineart">╰──</span> hb_unicode_general_category_t +</pre> +</div> +<div class="refsect1"> <a name="harfbuzz-hb-unicode.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <hb.h> </pre> @@ -311,7 +321,7 @@ properties, such as General Category, Script, Combining Class, etc.</p> <div class="refsect2"> <a name="hb-unicode-combining-class"></a><h3>hb_unicode_combining_class ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-combining-class-t" title="enum hb_unicode_combining_class_t"><span class="returnvalue">hb_unicode_combining_class_t</span></a> -hb_unicode_combining_class (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +hb_unicode_combining_class (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>);</pre> <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> @@ -319,7 +329,7 @@ hb_unicode_combining_class (<em class="parameter"><code><a class="link" href="ha <div class="refsect2"> <a name="hb-unicode-combining-class-func-t"></a><h3>hb_unicode_combining_class_func_t ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-combining-class-t" title="enum hb_unicode_combining_class_t"><span class="returnvalue">hb_unicode_combining_class_t</span></a> -<span class="c_punctuation">(</span>*hb_unicode_combining_class_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +<span class="c_punctuation">(</span>*hb_unicode_combining_class_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre> </div> @@ -327,7 +337,7 @@ hb_unicode_combining_class (<em class="parameter"><code><a class="link" href="ha <div class="refsect2"> <a name="hb-unicode-compose"></a><h3>hb_unicode_compose ()</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_unicode_compose (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +hb_unicode_compose (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> a</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> b</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *ab</code></em>);</pre> @@ -359,7 +369,7 @@ hb_unicode_compose (<em class="parameter"><code><a class="link" href="harfbuzz-h <div class="refsect2"> <a name="hb-unicode-compose-func-t"></a><h3>hb_unicode_compose_func_t ()</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> -<span class="c_punctuation">(</span>*hb_unicode_compose_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +<span class="c_punctuation">(</span>*hb_unicode_compose_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> a</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> b</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *ab</code></em>, @@ -369,7 +379,7 @@ hb_unicode_compose (<em class="parameter"><code><a class="link" href="harfbuzz-h <div class="refsect2"> <a name="hb-unicode-decompose"></a><h3>hb_unicode_decompose ()</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_unicode_decompose (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +hb_unicode_decompose (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> ab</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *a</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *b</code></em>);</pre> @@ -406,7 +416,7 @@ hb_unicode_decompose (<em class="parameter"><code><a class="link" href="harfbuzz <div class="refsect2"> <a name="hb-unicode-decompose-func-t"></a><h3>hb_unicode_decompose_func_t ()</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> -<span class="c_punctuation">(</span>*hb_unicode_decompose_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +<span class="c_punctuation">(</span>*hb_unicode_decompose_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> ab</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *a</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> *b</code></em>, @@ -415,8 +425,8 @@ hb_unicode_decompose (<em class="parameter"><code><a class="link" href="harfbuzz <hr> <div class="refsect2"> <a name="hb-unicode-funcs-create"></a><h3>hb_unicode_funcs_create ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * -hb_unicode_funcs_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *parent</code></em>);</pre> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +hb_unicode_funcs_create (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *parent</code></em>);</pre> <p><span class="annotation">[Xconstructor]</span></p> <div class="refsect3"> <a name="hb-unicode-funcs-create.parameters"></a><h4>Parameters</h4> @@ -444,7 +454,7 @@ hb_unicode_funcs_create (<em class="parameter"><code><a class="link" href="harfb <div class="refsect2"> <a name="hb-unicode-funcs-destroy"></a><h3>hb_unicode_funcs_destroy ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_unicode_funcs_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre> +hb_unicode_funcs_destroy (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-unicode-funcs-destroy.parameters"></a><h4>Parameters</h4> @@ -466,13 +476,13 @@ hb_unicode_funcs_destroy (<em class="parameter"><code><a class="link" href="harf <hr> <div class="refsect2"> <a name="hb-unicode-funcs-get-default"></a><h3>hb_unicode_funcs_get_default ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * hb_unicode_funcs_get_default (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> </div> <hr> <div class="refsect2"> <a name="hb-unicode-funcs-get-empty"></a><h3>hb_unicode_funcs_get_empty ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * hb_unicode_funcs_get_empty (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <div class="refsect3"> <a name="hb-unicode-funcs-get-empty.returns"></a><h4>Returns</h4> @@ -484,8 +494,8 @@ hb_unicode_funcs_get_empty (<em class="parameter"><code><span class="type">void< <hr> <div class="refsect2"> <a name="hb-unicode-funcs-get-parent"></a><h3>hb_unicode_funcs_get_parent ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * -hb_unicode_funcs_get_parent (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +hb_unicode_funcs_get_parent (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre> <div class="refsect3"> <a name="hb-unicode-funcs-get-parent.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -507,8 +517,8 @@ hb_unicode_funcs_get_parent (<em class="parameter"><code><a class="link" href="h <div class="refsect2"> <a name="hb-unicode-funcs-get-user-data"></a><h3>hb_unicode_funcs_get_user_data ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> * -hb_unicode_funcs_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> +hb_unicode_funcs_get_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-unicode-funcs-get-user-data.parameters"></a><h4>Parameters</h4> @@ -536,7 +546,7 @@ hb_unicode_funcs_get_user_data (<em class="parameter"><code><a class="link" href <div class="refsect2"> <a name="hb-unicode-funcs-is-immutable"></a><h3>hb_unicode_funcs_is_immutable ()</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_unicode_funcs_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre> +hb_unicode_funcs_is_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre> <div class="refsect3"> <a name="hb-unicode-funcs-is-immutable.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -558,7 +568,7 @@ hb_unicode_funcs_is_immutable (<em class="parameter"><code><a class="link" href= <div class="refsect2"> <a name="hb-unicode-funcs-make-immutable"></a><h3>hb_unicode_funcs_make_immutable ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_unicode_funcs_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre> +hb_unicode_funcs_make_immutable (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre> <div class="refsect3"> <a name="hb-unicode-funcs-make-immutable.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> @@ -579,8 +589,8 @@ hb_unicode_funcs_make_immutable (<em class="parameter"><code><a class="link" hre <hr> <div class="refsect2"> <a name="hb-unicode-funcs-reference"></a><h3>hb_unicode_funcs_reference ()</h3> -<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * -hb_unicode_funcs_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre> +<pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="returnvalue">hb_unicode_funcs_t</span></a> * +hb_unicode_funcs_reference (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>);</pre> <p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> <div class="refsect3"> <a name="hb-unicode-funcs-reference.parameters"></a><h4>Parameters</h4> @@ -609,7 +619,7 @@ hb_unicode_funcs_reference (<em class="parameter"><code><a class="link" href="ha <a name="hb-unicode-funcs-set-combining-class-func"></a><h3>hb_unicode_funcs_set_combining_class_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_unicode_funcs_set_combining_class_func - (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, + (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-combining-class-func-t" title="hb_unicode_combining_class_func_t ()"><span class="type">hb_unicode_combining_class_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -641,7 +651,7 @@ hb_unicode_funcs_set_combining_class_func <div class="refsect2"> <a name="hb-unicode-funcs-set-compose-func"></a><h3>hb_unicode_funcs_set_compose_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_unicode_funcs_set_compose_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +hb_unicode_funcs_set_compose_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-compose-func-t" title="hb_unicode_compose_func_t ()"><span class="type">hb_unicode_compose_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -673,7 +683,7 @@ hb_unicode_funcs_set_compose_func (<em class="parameter"><code><a class="link" h <div class="refsect2"> <a name="hb-unicode-funcs-set-decompose-func"></a><h3>hb_unicode_funcs_set_decompose_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_unicode_funcs_set_decompose_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +hb_unicode_funcs_set_decompose_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-decompose-func-t" title="hb_unicode_decompose_func_t ()"><span class="type">hb_unicode_decompose_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -706,7 +716,7 @@ hb_unicode_funcs_set_decompose_func (<em class="parameter"><code><a class="link" <a name="hb-unicode-funcs-set-general-category-func"></a><h3>hb_unicode_funcs_set_general_category_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> hb_unicode_funcs_set_general_category_func - (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, + (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-general-category-func-t" title="hb_unicode_general_category_func_t ()"><span class="type">hb_unicode_general_category_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -738,7 +748,7 @@ hb_unicode_funcs_set_general_category_func <div class="refsect2"> <a name="hb-unicode-funcs-set-mirroring-func"></a><h3>hb_unicode_funcs_set_mirroring_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_unicode_funcs_set_mirroring_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +hb_unicode_funcs_set_mirroring_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-mirroring-func-t" title="hb_unicode_mirroring_func_t ()"><span class="type">hb_unicode_mirroring_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -770,7 +780,7 @@ hb_unicode_funcs_set_mirroring_func (<em class="parameter"><code><a class="link" <div class="refsect2"> <a name="hb-unicode-funcs-set-script-func"></a><h3>hb_unicode_funcs_set_script_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> -hb_unicode_funcs_set_script_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +hb_unicode_funcs_set_script_func (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-script-func-t" title="hb_unicode_script_func_t ()"><span class="type">hb_unicode_script_func_t</span></a> func</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>, <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> @@ -802,8 +812,8 @@ hb_unicode_funcs_set_script_func (<em class="parameter"><code><a class="link" hr <div class="refsect2"> <a name="hb-unicode-funcs-set-user-data"></a><h3>hb_unicode_funcs_set_user_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_unicode_funcs_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, - <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t" title="hb_user_data_key_t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, +hb_unicode_funcs_set_user_data (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, + <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-user-data-key-t"><span class="type">hb_user_data_key_t</span></a> *key</code></em>, <em class="parameter"><code><span class="type">void</span> *data</code></em>, <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>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-bool-t" title="hb_bool_t"><span class="type">hb_bool_t</span></a> replace</code></em>);</pre> @@ -829,7 +839,7 @@ hb_unicode_funcs_set_user_data (<em class="parameter"><code><a class="link" href <div class="refsect2"> <a name="hb-unicode-general-category"></a><h3>hb_unicode_general_category ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-general-category-t" title="enum hb_unicode_general_category_t"><span class="returnvalue">hb_unicode_general_category_t</span></a> -hb_unicode_general_category (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +hb_unicode_general_category (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>);</pre> <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> @@ -837,7 +847,7 @@ hb_unicode_general_category (<em class="parameter"><code><a class="link" href="h <div class="refsect2"> <a name="hb-unicode-general-category-func-t"></a><h3>hb_unicode_general_category_func_t ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-general-category-t" title="enum hb_unicode_general_category_t"><span class="returnvalue">hb_unicode_general_category_t</span></a> -<span class="c_punctuation">(</span>*hb_unicode_general_category_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +<span class="c_punctuation">(</span>*hb_unicode_general_category_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre> </div> @@ -845,7 +855,7 @@ hb_unicode_general_category (<em class="parameter"><code><a class="link" href="h <div class="refsect2"> <a name="hb-unicode-mirroring"></a><h3>hb_unicode_mirroring ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a> -hb_unicode_mirroring (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +hb_unicode_mirroring (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>);</pre> <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> @@ -853,7 +863,7 @@ hb_unicode_mirroring (<em class="parameter"><code><a class="link" href="harfbuzz <div class="refsect2"> <a name="hb-unicode-mirroring-func-t"></a><h3>hb_unicode_mirroring_func_t ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="returnvalue">hb_codepoint_t</span></a> -<span class="c_punctuation">(</span>*hb_unicode_mirroring_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +<span class="c_punctuation">(</span>*hb_unicode_mirroring_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre> </div> @@ -861,7 +871,7 @@ hb_unicode_mirroring (<em class="parameter"><code><a class="link" href="harfbuzz <div class="refsect2"> <a name="hb-unicode-script"></a><h3>hb_unicode_script ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="returnvalue">hb_script_t</span></a> -hb_unicode_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +hb_unicode_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>);</pre> <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> @@ -869,7 +879,7 @@ hb_unicode_script (<em class="parameter"><code><a class="link" href="harfbuzz-hb <div class="refsect2"> <a name="hb-unicode-script-func-t"></a><h3>hb_unicode_script_func_t ()</h3> <pre class="programlisting"><a class="link" href="harfbuzz-hb-common.html#hb-script-t" title="enum hb_script_t"><span class="returnvalue">hb_script_t</span></a> -<span class="c_punctuation">(</span>*hb_unicode_script_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t" title="hb_unicode_funcs_t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, +<span class="c_punctuation">(</span>*hb_unicode_script_func_t<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="harfbuzz-hb-unicode.html#hb-unicode-funcs-t"><span class="type">hb_unicode_funcs_t</span></a> *ufuncs</code></em>, <em class="parameter"><code><a class="link" href="harfbuzz-hb-common.html#hb-codepoint-t" title="hb_codepoint_t"><span class="type">hb_codepoint_t</span></a> unicode</code></em>, <em class="parameter"><code><span class="type">void</span> *user_data</code></em>);</pre> </div> diff --git a/docs/html/harfbuzz-hb-uniscribe.html b/docs/html/harfbuzz-hb-uniscribe.html index 2b60884..7ad9a1e 100644 --- a/docs/html/harfbuzz-hb-uniscribe.html +++ b/docs/html/harfbuzz-hb-uniscribe.html @@ -5,7 +5,7 @@ <title>hb-uniscribe: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch12.html" title="Integration API"> +<link rel="up" href="ch14.html" title="Integration API"> <link rel="prev" href="harfbuzz-hb-icu.html" title="hb-icu"> <link rel="next" href="api-index-full.html" title="API Index"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -18,7 +18,7 @@ <a href="#harfbuzz-hb-uniscribe.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="ch12.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch14.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-icu.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> @@ -72,13 +72,13 @@ <div class="refsect2"> <a name="hb-uniscribe-font-get-hfont"></a><h3>hb_uniscribe_font_get_hfont ()</h3> <pre class="programlisting"><span class="returnvalue">HFONT</span> -hb_uniscribe_font_get_hfont (<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> +hb_uniscribe_font_get_hfont (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre> </div> <hr> <div class="refsect2"> <a name="hb-uniscribe-font-get-logfontw"></a><h3>hb_uniscribe_font_get_logfontw ()</h3> <pre class="programlisting"><span class="returnvalue">LOGFONTW</span> * -hb_uniscribe_font_get_logfontw (<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> +hb_uniscribe_font_get_logfontw (<em class="parameter"><code><a class="link" href="harfbuzz-hb-font.html#hb-font-t"><span class="type">hb_font_t</span></a> *font</code></em>);</pre> </div> </div> <div class="refsect1"> diff --git a/docs/html/harfbuzz-hb-version.html b/docs/html/harfbuzz-hb-version.html index 54c66aa..2039c3b 100644 --- a/docs/html/harfbuzz-hb-version.html +++ b/docs/html/harfbuzz-hb-version.html @@ -5,9 +5,9 @@ <title>hb-version: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="ch09.html" title="Core API"> +<link rel="up" href="ch11.html" title="Core API"> <link rel="prev" href="harfbuzz-hb-unicode.html" title="hb-unicode"> -<link rel="next" href="ch10.html" title="OpenType API"> +<link rel="next" href="ch12.html" title="OpenType API"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> @@ -18,9 +18,9 @@ <a href="#harfbuzz-hb-version.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="ch09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="u" href="ch11.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="harfbuzz-hb-unicode.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="ch10.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +<td><a accesskey="n" href="ch12.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> <a name="harfbuzz-hb-version"></a><div class="titlepage"></div> @@ -184,19 +184,19 @@ hb_version_string (<em class="parameter"><code><span class="type">void</span></c <hr> <div class="refsect2"> <a name="HB-VERSION-MICRO:CAPS"></a><h3>HB_VERSION_MICRO</h3> -<pre class="programlisting">#define HB_VERSION_MICRO 0 +<pre class="programlisting">#define HB_VERSION_MICRO 4 </pre> </div> <hr> <div class="refsect2"> <a name="HB-VERSION-MINOR:CAPS"></a><h3>HB_VERSION_MINOR</h3> -<pre class="programlisting">#define HB_VERSION_MINOR 4 +<pre class="programlisting">#define HB_VERSION_MINOR 6 </pre> </div> <hr> <div class="refsect2"> <a name="HB-VERSION-STRING:CAPS"></a><h3>HB_VERSION_STRING</h3> -<pre class="programlisting">#define HB_VERSION_STRING "2.4.0" +<pre class="programlisting">#define HB_VERSION_STRING "2.6.4" </pre> </div> </div> diff --git a/docs/html/harfbuzz.devhelp2 b/docs/html/harfbuzz.devhelp2 index 3b9d482..a577faf 100644 --- a/docs/html/harfbuzz.devhelp2 +++ b/docs/html/harfbuzz.devhelp2 @@ -33,17 +33,30 @@ <sub name="Graphite shaping" link="graphite-shaping.html"/> <sub name="AAT shaping" link="aat-shaping.html"/> </sub> + <sub name="The HarfBuzz object model" link="object-model.html"> + <sub name="An overview of data types in HarfBuzz" link="object-model.html#object-model-intro"/> + <sub name="Objects in HarfBuzz" link="object-model-object-types.html"/> + <sub name="Object lifecycle management" link="object-model-lifecycle.html"/> + <sub name="User data" link="object-model-user-data.html"/> + <sub name="Blobs" link="object-model-blobs.html"/> + </sub> <sub name="Buffers, language, script and direction" link="buffers-language-script-and-direction.html"> <sub name="Creating and destroying buffers" link="buffers-language-script-and-direction.html#creating-and-destroying-buffers"/> <sub name="Adding text to the buffer" link="adding-text-to-the-buffer.html"/> <sub name="Setting buffer properties" link="setting-buffer-properties.html"/> - <sub name="What about the other scripts?" link="what-about-the-other-scripts.html"/> <sub name="Customizing Unicode functions" link="customizing-unicode-functions.html"/> </sub> - <sub name="Fonts and faces" link="fonts-and-faces.html"> - <sub name="Using FreeType" link="fonts-and-faces.html#using-freetype"/> - <sub name="Using HarfBuzz's native OpenType implementation" link="using-harfbuzzs-native-opentype-implementation.html"/> - <sub name="Using your own font functions" link="using-your-own-font-functions.html"/> + <sub name="Fonts, faces, and output" link="fonts-and-faces.html"> + <sub name="Font and face objects" link="fonts-and-faces.html#fonts-and-faces-objects"/> + <sub name="Customizing font functions" link="fonts-and-faces-custom-functions.html"/> + <sub name="Font objects and HarfBuzz's native OpenType implementation" link="fonts-and-faces-native-opentype.html"/> + <sub name="Working with OpenType Variable Fonts" link="fonts-and-faces-variable.html"/> + </sub> + <sub name="Shaping and shape plans" link="shaping-and-shape-plans.html"> + <sub name="Shaping and buffer output" link="shaping-and-shape-plans.html#shaping-buffer-output"/> + <sub name="OpenType features" link="shaping-opentype-features.html"/> + <sub name="Shaper selection" link="shaping-shaper-selection.html"/> + <sub name="Plans and caching" link="shaping-plans-and-caching.html"/> </sub> <sub name="Clusters" link="clusters.html"> <sub name="Clusters and shaping" link="clusters.html#clusters-and-shaping"/> @@ -57,14 +70,18 @@ <sub name="Other considerations in level 2" link="level-2.html#other-considerations-in-level-2"/> </sub> </sub> - <sub name="Shaping and shape plans" link="shaping-and-shape-plans.html"> - <sub name="OpenType features" link="shaping-and-shape-plans.html#opentype-features"/> - <sub name="Plans and caching" link="plans-and-caching.html"/> + <sub name="Utilities" link="utilities.html"> + <sub name="Command-line tools" link="utilities.html#utilities-command-line-tools"> + <sub name="hb-shape" link="utilities.html#utilities-command-line-hbshape"/> + <sub name="hb-view" link="utilities.html#utilities-command-line-hbview"/> + <sub name="hb-subset" link="utilities.html#utilities-command-line-hbsubset"/> + </sub> + <sub name="Common data types and APIs" link="utilities-common-types-apis.html"/> + <sub name="UCDN" link="utilities-ucdn.html"/> </sub> - <sub name="Glyph information" link="pt01.html#glyph-information"/> </sub> <sub name="Reference manual" link="pt02.html"> - <sub name="Core API" link="ch09.html"> + <sub name="Core API" link="ch11.html"> <sub name="hb-blob" link="harfbuzz-hb-blob.html"/> <sub name="hb-buffer" link="harfbuzz-hb-buffer.html"/> <sub name="hb-common" link="harfbuzz-hb-common.html"/> @@ -78,7 +95,7 @@ <sub name="hb-unicode" link="harfbuzz-hb-unicode.html"/> <sub name="hb-version" link="harfbuzz-hb-version.html"/> </sub> - <sub name="OpenType API" link="ch10.html"> + <sub name="OpenType API" link="ch12.html"> <sub name="hb-ot-color" link="harfbuzz-hb-ot-color.html"/> <sub name="hb-ot-font" link="harfbuzz-hb-ot-font.html"/> <sub name="hb-ot-layout" link="harfbuzz-hb-ot-layout.html"/> @@ -87,10 +104,10 @@ <sub name="hb-ot-shape" link="harfbuzz-hb-ot-shape.html"/> <sub name="hb-ot-var" link="harfbuzz-hb-ot-var.html"/> </sub> - <sub name="Apple Advanced Typography API" link="ch11.html"> + <sub name="Apple Advanced Typography API" link="ch13.html"> <sub name="hb-aat-layout" link="harfbuzz-hb-aat-layout.html"/> </sub> - <sub name="Integration API" link="ch12.html"> + <sub name="Integration API" link="ch14.html"> <sub name="hb-coretext" link="harfbuzz-hb-coretext.html"/> <sub name="hb-ft" link="harfbuzz-hb-ft.html"/> <sub name="hb-glib" link="harfbuzz-hb-glib.html"/> @@ -101,6 +118,10 @@ </sub> <sub name="API Index" link="api-index-full.html"/> <sub name="Index of deprecated API" link="deprecated-api-index.html"/> + <sub name="Index of new symbols in 2.6.0" link="api-index-2-6-0.html"/> + <sub name="Index of new symbols in 2.5.0" link="api-index-2-5-0.html"/> + <sub name="Index of new symbols in 2.4.0" link="api-index-2-4-0.html"/> + <sub name="Index of new symbols in 2.3.0" link="api-index-2-3-0.html"/> <sub name="Index of new symbols in 2.2.0" link="api-index-2-2-0.html"/> <sub name="Index of new symbols in 2.1.0" link="api-index-2-1-0.html"/> <sub name="Index of new symbols in 2.0.0" link="api-index-2-0-0.html"/> @@ -115,7 +136,6 @@ <sub name="Index of new symbols in 1.5.0" link="api-index-1-5-0.html"/> <sub name="Index of new symbols in 1.4.3" link="api-index-1-4-3.html"/> <sub name="Index of new symbols in 1.4.2" link="api-index-1-4-2.html"/> - <sub name="Index of new symbols in 1.4.0" link="api-index-1-4-0.html"/> <sub name="Index of new symbols in 1.3.3" link="api-index-1-3-3.html"/> <sub name="Index of new symbols in 1.2.3" link="api-index-1-2-3.html"/> <sub name="Index of new symbols in 1.1.3" link="api-index-1-1-3.html"/> @@ -217,11 +237,11 @@ <keyword type="macro" name="HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT" link="harfbuzz-hb-buffer.html#HB-BUFFER-REPLACEMENT-CODEPOINT-DEFAULT:CAPS" since="0.9.31"/> <keyword type="typedef" name="hb_buffer_t" link="harfbuzz-hb-buffer.html#hb-buffer-t"/> <keyword type="enum" name="enum hb_glyph_flags_t" link="harfbuzz-hb-buffer.html#hb-glyph-flags-t" since="1.5.0"/> - <keyword type="struct" name="hb_glyph_position_t" link="harfbuzz-hb-buffer.html#hb-glyph-position-t"/> + <keyword type="struct" name="hb_glyph_position_t" link="harfbuzz-hb-buffer.html#hb-glyph-position-t-struct"/> <keyword type="enum" name="enum hb_buffer_content_type_t" link="harfbuzz-hb-buffer.html#hb-buffer-content-type-t"/> <keyword type="enum" name="enum hb_buffer_flags_t" link="harfbuzz-hb-buffer.html#hb-buffer-flags-t" since="0.9.20"/> <keyword type="enum" name="enum hb_buffer_cluster_level_t" link="harfbuzz-hb-buffer.html#hb-buffer-cluster-level-t" since="0.9.42"/> - <keyword type="struct" name="hb_segment_properties_t" link="harfbuzz-hb-buffer.html#hb-segment-properties-t"/> + <keyword type="struct" name="hb_segment_properties_t" link="harfbuzz-hb-buffer.html#hb-segment-properties-t-struct"/> <keyword type="enum" name="enum hb_buffer_serialize_format_t" link="harfbuzz-hb-buffer.html#hb-buffer-serialize-format-t" since="0.9.2"/> <keyword type="enum" name="enum hb_buffer_serialize_flags_t" link="harfbuzz-hb-buffer.html#hb-buffer-serialize-flags-t" since="0.9.20"/> <keyword type="enum" name="enum hb_buffer_diff_flags_t" link="harfbuzz-hb-buffer.html#hb-buffer-diff-flags-t"/> @@ -253,13 +273,13 @@ <keyword type="typedef" name="hb_codepoint_t" link="harfbuzz-hb-common.html#hb-codepoint-t"/> <keyword type="enum" name="enum hb_direction_t" link="harfbuzz-hb-common.html#hb-direction-t"/> <keyword type="typedef" name="hb_language_t" link="harfbuzz-hb-common.html#hb-language-t"/> - <keyword type="struct" name="hb_feature_t" link="harfbuzz-hb-common.html#hb-feature-t"/> + <keyword type="struct" name="hb_feature_t" link="harfbuzz-hb-common.html#hb-feature-t-struct"/> <keyword type="struct" name="hb_variation_t" link="harfbuzz-hb-common.html#hb-variation-t" since="1.4.2"/> <keyword type="typedef" name="hb_mask_t" link="harfbuzz-hb-common.html#hb-mask-t"/> <keyword type="typedef" name="hb_position_t" link="harfbuzz-hb-common.html#hb-position-t"/> <keyword type="typedef" name="hb_tag_t" link="harfbuzz-hb-common.html#hb-tag-t"/> <keyword type="enum" name="enum hb_script_t" link="harfbuzz-hb-common.html#hb-script-t"/> - <keyword type="struct" name="hb_user_data_key_t" link="harfbuzz-hb-common.html#hb-user-data-key-t"/> + <keyword type="struct" name="hb_user_data_key_t" link="harfbuzz-hb-common.html#hb-user-data-key-t-struct"/> <keyword type="union" name="hb_var_int_t" link="harfbuzz-hb-common.html#hb-var-int-t"/> <keyword type="macro" name="HB_TAG_NONE" link="harfbuzz-hb-common.html#HB-TAG-NONE:CAPS"/> <keyword type="macro" name="HB_TAG_MAX" link="harfbuzz-hb-common.html#HB-TAG-MAX:CAPS"/> @@ -269,18 +289,14 @@ <keyword type="macro" name="HB_FEATURE_GLOBAL_START" link="harfbuzz-hb-common.html#HB-FEATURE-GLOBAL-START:CAPS" since="2.0.0"/> <keyword type="function" name="hb_font_get_glyph_func_t ()" link="harfbuzz-hb-deprecated.html#hb-font-get-glyph-func-t" deprecated=""/> <keyword type="function" name="hb_ot_layout_table_find_script ()" link="harfbuzz-hb-deprecated.html#hb-ot-layout-table-find-script"/> - <keyword type="function" name="hb_font_funcs_set_glyph_h_kerning_func ()" link="harfbuzz-hb-deprecated.html#hb-font-funcs-set-glyph-h-kerning-func" deprecated="2.0.0" since="0.9.2"/> <keyword type="function" name="hb_font_funcs_set_glyph_v_kerning_func ()" link="harfbuzz-hb-deprecated.html#hb-font-funcs-set-glyph-v-kerning-func" deprecated="2.0.0" since="0.9.2"/> - <keyword type="function" name="hb_font_get_glyph_h_kerning ()" link="harfbuzz-hb-deprecated.html#hb-font-get-glyph-h-kerning" deprecated="2.0.0" since="0.9.2"/> - <keyword type="function" name="hb_font_get_glyph_kerning_for_direction ()" link="harfbuzz-hb-deprecated.html#hb-font-get-glyph-kerning-for-direction" deprecated="2.0.0" since="0.9.2"/> - <keyword type="function" name="hb_font_get_glyph_kerning_func_t ()" link="harfbuzz-hb-deprecated.html#hb-font-get-glyph-kerning-func-t" deprecated=""/> <keyword type="function" name="hb_font_get_glyph_v_kerning ()" link="harfbuzz-hb-deprecated.html#hb-font-get-glyph-v-kerning" deprecated="2.0.0" since="0.9.2"/> <keyword type="macro" name="HB_BUFFER_FLAGS_DEFAULT" link="harfbuzz-hb-deprecated.html#HB-BUFFER-FLAGS-DEFAULT:CAPS" deprecated=""/> <keyword type="macro" name="HB_BUFFER_SERIALIZE_FLAGS_DEFAULT" link="harfbuzz-hb-deprecated.html#HB-BUFFER-SERIALIZE-FLAGS-DEFAULT:CAPS" deprecated=""/> <keyword type="macro" name="HB_SCRIPT_CANADIAN_ABORIGINAL" link="harfbuzz-hb-deprecated.html#HB-SCRIPT-CANADIAN-ABORIGINAL:CAPS" deprecated=""/> + <keyword type="macro" name="HB_MATH_GLYPH_PART_FLAG_EXTENDER" link="harfbuzz-hb-deprecated.html#HB-MATH-GLYPH-PART-FLAG-EXTENDER:CAPS" deprecated=""/> <keyword type="macro" name="HB_OT_VAR_NO_AXIS_INDEX" link="harfbuzz-hb-deprecated.html#HB-OT-VAR-NO-AXIS-INDEX:CAPS" deprecated="2.2.0" since="1.4.2"/> <keyword type="macro" name="HB_UNICODE_MAX_DECOMPOSITION_LEN" link="harfbuzz-hb-deprecated.html#HB-UNICODE-MAX-DECOMPOSITION-LEN:CAPS" deprecated="2.0.0"/> - <keyword type="typedef" name="hb_font_get_glyph_h_kerning_func_t" link="harfbuzz-hb-deprecated.html#hb-font-get-glyph-h-kerning-func-t" deprecated=""/> <keyword type="typedef" name="hb_font_get_glyph_v_kerning_func_t" link="harfbuzz-hb-deprecated.html#hb-font-get-glyph-v-kerning-func-t" deprecated=""/> <keyword type="function" name="hb_face_count ()" link="harfbuzz-hb-face.html#hb-face-count" since="1.7.7"/> <keyword type="function" name="hb_face_create ()" link="harfbuzz-hb-face.html#hb-face-create" since="0.9.2"/> @@ -323,6 +339,7 @@ <keyword type="function" name="hb_font_funcs_set_glyph_from_name_func ()" link="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-from-name-func" since="0.9.2"/> <keyword type="function" name="hb_font_funcs_set_glyph_h_advance_func ()" link="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-h-advance-func" since="0.9.2"/> <keyword type="function" name="hb_font_funcs_set_glyph_h_advances_func ()" link="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-h-advances-func" since="1.8.6"/> + <keyword type="function" name="hb_font_funcs_set_glyph_h_kerning_func ()" link="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-h-kerning-func" since="0.9.2"/> <keyword type="function" name="hb_font_funcs_set_glyph_h_origin_func ()" link="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-h-origin-func" since="0.9.2"/> <keyword type="function" name="hb_font_funcs_set_glyph_name_func ()" link="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-name-func" since="0.9.2"/> <keyword type="function" name="hb_font_funcs_set_glyph_v_advance_func ()" link="harfbuzz-hb-font.html#hb-font-funcs-set-glyph-v-advance-func" since="0.9.2"/> @@ -349,7 +366,10 @@ <keyword type="function" name="hb_font_get_glyph_from_name_func_t ()" link="harfbuzz-hb-font.html#hb-font-get-glyph-from-name-func-t"/> <keyword type="function" name="hb_font_get_glyph_h_advance ()" link="harfbuzz-hb-font.html#hb-font-get-glyph-h-advance" since="0.9.2"/> <keyword type="function" name="hb_font_get_glyph_h_advances ()" link="harfbuzz-hb-font.html#hb-font-get-glyph-h-advances" since="1.8.6"/> + <keyword type="function" name="hb_font_get_glyph_h_kerning ()" link="harfbuzz-hb-font.html#hb-font-get-glyph-h-kerning" since="0.9.2"/> <keyword type="function" name="hb_font_get_glyph_h_origin ()" link="harfbuzz-hb-font.html#hb-font-get-glyph-h-origin" since="0.9.2"/> + <keyword type="function" name="hb_font_get_glyph_kerning_for_direction ()" link="harfbuzz-hb-font.html#hb-font-get-glyph-kerning-for-direction" since="0.9.2"/> + <keyword type="function" name="hb_font_get_glyph_kerning_func_t ()" link="harfbuzz-hb-font.html#hb-font-get-glyph-kerning-func-t"/> <keyword type="function" name="hb_font_get_glyph_name ()" link="harfbuzz-hb-font.html#hb-font-get-glyph-name" since="0.9.2"/> <keyword type="function" name="hb_font_get_glyph_name_func_t ()" link="harfbuzz-hb-font.html#hb-font-get-glyph-name-func-t"/> <keyword type="function" name="hb_font_get_glyph_origin_for_direction ()" link="harfbuzz-hb-font.html#hb-font-get-glyph-origin-for-direction" since="0.9.2"/> @@ -359,6 +379,7 @@ <keyword type="function" name="hb_font_get_glyph_v_origin ()" link="harfbuzz-hb-font.html#hb-font-get-glyph-v-origin" since="0.9.2"/> <keyword type="function" name="hb_font_get_nominal_glyph ()" link="harfbuzz-hb-font.html#hb-font-get-nominal-glyph" since="1.2.3"/> <keyword type="function" name="hb_font_get_nominal_glyph_func_t ()" link="harfbuzz-hb-font.html#hb-font-get-nominal-glyph-func-t"/> + <keyword type="function" name="hb_font_get_nominal_glyphs ()" link="harfbuzz-hb-font.html#hb-font-get-nominal-glyphs" since="2.6.3"/> <keyword type="function" name="hb_font_get_parent ()" link="harfbuzz-hb-font.html#hb-font-get-parent" since="0.9.2"/> <keyword type="function" name="hb_font_get_ppem ()" link="harfbuzz-hb-font.html#hb-font-get-ppem" since="0.9.2"/> <keyword type="function" name="hb_font_get_ptem ()" link="harfbuzz-hb-font.html#hb-font-get-ptem" since="0.9.2"/> @@ -383,6 +404,7 @@ <keyword type="function" name="hb_font_set_variations ()" link="harfbuzz-hb-font.html#hb-font-set-variations" since="1.4.2"/> <keyword type="function" name="hb_font_set_var_coords_design ()" link="harfbuzz-hb-font.html#hb-font-set-var-coords-design" since="1.4.2"/> <keyword type="function" name="hb_font_set_var_coords_normalized ()" link="harfbuzz-hb-font.html#hb-font-set-var-coords-normalized" since="1.4.2"/> + <keyword type="function" name="hb_font_set_var_named_instance ()" link="harfbuzz-hb-font.html#hb-font-set-var-named-instance" since="2.6.0"/> <keyword type="function" name="hb_font_subtract_glyph_origin_for_direction ()" link="harfbuzz-hb-font.html#hb-font-subtract-glyph-origin-for-direction" since="0.9.2"/> <keyword type="function" name="hb_reference_table_func_t ()" link="harfbuzz-hb-font.html#hb-reference-table-func-t"/> <keyword type="function" name="hb_font_funcs_set_font_h_extents_func ()" link="harfbuzz-hb-font.html#hb-font-funcs-set-font-h-extents-func" since="1.1.2"/> @@ -394,6 +416,7 @@ <keyword type="typedef" name="hb_font_funcs_t" link="harfbuzz-hb-font.html#hb-font-funcs-t"/> <keyword type="typedef" name="hb_font_get_glyph_h_advance_func_t" link="harfbuzz-hb-font.html#hb-font-get-glyph-h-advance-func-t"/> <keyword type="typedef" name="hb_font_get_glyph_h_advances_func_t" link="harfbuzz-hb-font.html#hb-font-get-glyph-h-advances-func-t"/> + <keyword type="typedef" name="hb_font_get_glyph_h_kerning_func_t" link="harfbuzz-hb-font.html#hb-font-get-glyph-h-kerning-func-t"/> <keyword type="typedef" name="hb_font_get_glyph_h_origin_func_t" link="harfbuzz-hb-font.html#hb-font-get-glyph-h-origin-func-t"/> <keyword type="typedef" name="hb_font_get_glyph_v_advance_func_t" link="harfbuzz-hb-font.html#hb-font-get-glyph-v-advance-func-t"/> <keyword type="typedef" name="hb_font_get_glyph_v_advances_func_t" link="harfbuzz-hb-font.html#hb-font-get-glyph-v-advances-func-t"/> @@ -503,10 +526,10 @@ <keyword type="macro" name="HB_VERSION_MINOR" link="harfbuzz-hb-version.html#HB-VERSION-MINOR:CAPS"/> <keyword type="macro" name="HB_VERSION_STRING" link="harfbuzz-hb-version.html#HB-VERSION-STRING:CAPS"/> <keyword type="macro" name="HB_COLOR()" link="harfbuzz-hb-ot-color.html#HB-COLOR:CAPS"/> - <keyword type="macro" name="hb_color_get_alpha()" link="harfbuzz-hb-ot-color.html#hb-color-get-alpha" since="2.1.0"/> - <keyword type="macro" name="hb_color_get_blue()" link="harfbuzz-hb-ot-color.html#hb-color-get-blue" since="2.1.0"/> - <keyword type="macro" name="hb_color_get_green()" link="harfbuzz-hb-ot-color.html#hb-color-get-green" since="2.1.0"/> - <keyword type="macro" name="hb_color_get_red()" link="harfbuzz-hb-ot-color.html#hb-color-get-red" since="2.1.0"/> + <keyword type="function" name="hb_color_get_alpha ()" link="harfbuzz-hb-ot-color.html#hb-color-get-alpha" since="2.1.0"/> + <keyword type="function" name="hb_color_get_blue ()" link="harfbuzz-hb-ot-color.html#hb-color-get-blue" since="2.1.0"/> + <keyword type="function" name="hb_color_get_green ()" link="harfbuzz-hb-ot-color.html#hb-color-get-green" since="2.1.0"/> + <keyword type="function" name="hb_color_get_red ()" link="harfbuzz-hb-ot-color.html#hb-color-get-red" since="2.1.0"/> <keyword type="function" name="hb_ot_color_glyph_get_layers ()" link="harfbuzz-hb-ot-color.html#hb-ot-color-glyph-get-layers" since="2.1.0"/> <keyword type="function" name="hb_ot_color_glyph_reference_png ()" link="harfbuzz-hb-ot-color.html#hb-ot-color-glyph-reference-png" since="2.1.0"/> <keyword type="function" name="hb_ot_color_glyph_reference_svg ()" link="harfbuzz-hb-ot-color.html#hb-ot-color-glyph-reference-svg" since="2.1.0"/> @@ -533,6 +556,7 @@ <keyword type="function" name="hb_ot_layout_feature_get_name_ids ()" link="harfbuzz-hb-ot-layout.html#hb-ot-layout-feature-get-name-ids" since="2.0.0"/> <keyword type="function" name="hb_ot_layout_feature_with_variations_get_lookups ()" link="harfbuzz-hb-ot-layout.html#hb-ot-layout-feature-with-variations-get-lookups"/> <keyword type="function" name="hb_ot_layout_get_attach_points ()" link="harfbuzz-hb-ot-layout.html#hb-ot-layout-get-attach-points"/> + <keyword type="function" name="hb_ot_layout_get_baseline ()" link="harfbuzz-hb-ot-layout.html#hb-ot-layout-get-baseline" since="2.6.0"/> <keyword type="function" name="hb_ot_layout_get_glyph_class ()" link="harfbuzz-hb-ot-layout.html#hb-ot-layout-get-glyph-class" since="0.9.7"/> <keyword type="function" name="hb_ot_layout_get_glyphs_in_class ()" link="harfbuzz-hb-ot-layout.html#hb-ot-layout-get-glyphs-in-class" since="0.9.7"/> <keyword type="function" name="hb_ot_layout_get_ligature_carets ()" link="harfbuzz-hb-ot-layout.html#hb-ot-layout-get-ligature-carets"/> @@ -571,6 +595,7 @@ <keyword type="macro" name="HB_OT_TAG_GPOS" link="harfbuzz-hb-ot-layout.html#HB-OT-TAG-GPOS:CAPS"/> <keyword type="macro" name="HB_OT_TAG_GSUB" link="harfbuzz-hb-ot-layout.html#HB-OT-TAG-GSUB:CAPS"/> <keyword type="macro" name="HB_OT_TAG_JSTF" link="harfbuzz-hb-ot-layout.html#HB-OT-TAG-JSTF:CAPS"/> + <keyword type="enum" name="enum hb_ot_layout_baseline_tag_t" link="harfbuzz-hb-ot-layout.html#hb-ot-layout-baseline-tag-t" since="2.6.0"/> <keyword type="enum" name="enum hb_ot_layout_glyph_class_t" link="harfbuzz-hb-ot-layout.html#hb-ot-layout-glyph-class-t"/> <keyword type="function" name="hb_ot_math_has_data ()" link="harfbuzz-hb-ot-math.html#hb-ot-math-has-data" since="1.3.3"/> <keyword type="function" name="hb_ot_math_get_constant ()" link="harfbuzz-hb-ot-math.html#hb-ot-math-get-constant" since="1.3.3"/> @@ -585,9 +610,9 @@ <keyword type="macro" name="HB_OT_MATH_SCRIPT" link="harfbuzz-hb-ot-math.html#HB-OT-MATH-SCRIPT:CAPS"/> <keyword type="enum" name="enum hb_ot_math_constant_t" link="harfbuzz-hb-ot-math.html#hb-ot-math-constant-t" since="1.3.3"/> <keyword type="enum" name="enum hb_ot_math_kern_t" link="harfbuzz-hb-ot-math.html#hb-ot-math-kern-t" since="1.3.3"/> - <keyword type="struct" name="hb_ot_math_glyph_variant_t" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t" since="1.3.3"/> + <keyword type="struct" name="hb_ot_math_glyph_variant_t" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t-struct"/> <keyword type="enum" name="enum hb_ot_math_glyph_part_flags_t" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-flags-t" since="1.3.3"/> - <keyword type="struct" name="hb_ot_math_glyph_part_t" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t" since="1.3.3"/> + <keyword type="struct" name="hb_ot_math_glyph_part_t" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t-struct"/> <keyword type="function" name="hb_ot_name_list_names ()" link="harfbuzz-hb-ot-name.html#hb-ot-name-list-names" since="2.1.0"/> <keyword type="function" name="hb_ot_name_get_utf16 ()" link="harfbuzz-hb-ot-name.html#hb-ot-name-get-utf16" since="2.1.0"/> <keyword type="function" name="hb_ot_name_get_utf32 ()" link="harfbuzz-hb-ot-name.html#hb-ot-name-get-utf32" since="2.1.0"/> @@ -640,6 +665,72 @@ <keyword type="function" name="hb_glib_script_from_script ()" link="harfbuzz-hb-glib.html#hb-glib-script-from-script"/> <keyword type="function" name="hb_glib_script_to_script ()" link="harfbuzz-hb-glib.html#hb-glib-script-to-script"/> <keyword type="function" name="hb_glib_blob_create ()" link="harfbuzz-hb-glib.html#hb-glib-blob-create" since="0.9.38"/> + <keyword type="function" name="hb_gobject_blob_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-blob-get-type" since="0.9.2"/> + <keyword type="function" name="hb_gobject_buffer_content_type_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-buffer-content-type-get-type"/> + <keyword type="function" name="hb_gobject_buffer_diff_flags_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-buffer-diff-flags-get-type"/> + <keyword type="function" name="hb_gobject_buffer_flags_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-buffer-flags-get-type"/> + <keyword type="function" name="hb_gobject_buffer_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-buffer-get-type" since="0.9.2"/> + <keyword type="function" name="hb_gobject_buffer_serialize_flags_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-buffer-serialize-flags-get-type"/> + <keyword type="function" name="hb_gobject_buffer_serialize_format_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-buffer-serialize-format-get-type"/> + <keyword type="function" name="hb_gobject_direction_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-direction-get-type"/> + <keyword type="function" name="hb_gobject_face_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-face-get-type" since="0.9.2"/> + <keyword type="function" name="hb_gobject_font_funcs_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-font-funcs-get-type" since="0.9.2"/> + <keyword type="function" name="hb_gobject_font_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-font-get-type" since="0.9.2"/> + <keyword type="function" name="hb_gobject_glyph_flags_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-glyph-flags-get-type"/> + <keyword type="function" name="hb_gobject_map_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-map-get-type"/> + <keyword type="function" name="hb_gobject_memory_mode_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-memory-mode-get-type"/> + <keyword type="function" name="hb_gobject_ot_color_palette_flags_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-ot-color-palette-flags-get-type"/> + <keyword type="function" name="hb_gobject_ot_layout_glyph_class_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-ot-layout-glyph-class-get-type"/> + <keyword type="function" name="hb_gobject_ot_math_constant_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-ot-math-constant-get-type"/> + <keyword type="function" name="hb_gobject_ot_math_glyph_part_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-part-get-type"/> + <keyword type="function" name="hb_gobject_ot_math_glyph_part_flags_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-part-flags-get-type"/> + <keyword type="function" name="hb_gobject_ot_math_glyph_variant_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-ot-math-glyph-variant-get-type"/> + <keyword type="function" name="hb_gobject_ot_math_kern_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-ot-math-kern-get-type"/> + <keyword type="function" name="hb_gobject_script_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-script-get-type"/> + <keyword type="function" name="hb_gobject_shape_plan_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-shape-plan-get-type"/> + <keyword type="function" name="hb_gobject_unicode_combining_class_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-unicode-combining-class-get-type"/> + <keyword type="function" name="hb_gobject_unicode_funcs_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-unicode-funcs-get-type" since="0.9.2"/> + <keyword type="function" name="hb_gobject_unicode_general_category_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-unicode-general-category-get-type"/> + <keyword type="function" name="hb_gobject_buffer_cluster_level_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-buffer-cluster-level-get-type"/> + <keyword type="function" name="hb_gobject_feature_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-feature-get-type"/> + <keyword type="function" name="hb_gobject_glyph_info_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-glyph-info-get-type"/> + <keyword type="function" name="hb_gobject_glyph_position_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-glyph-position-get-type"/> + <keyword type="function" name="hb_gobject_segment_properties_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-segment-properties-get-type"/> + <keyword type="function" name="hb_gobject_set_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-set-get-type"/> + <keyword type="function" name="hb_gobject_user_data_key_get_type ()" link="harfbuzz-hb-gobject.html#hb-gobject-user-data-key-get-type"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_BLOB" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BLOB:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_BUFFER" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-CONTENT-TYPE:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-DIFF-FLAGS:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_BUFFER_FLAGS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-FLAGS:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FLAGS:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-SERIALIZE-FORMAT:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_DIRECTION" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-DIRECTION:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_FACE" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FACE:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_FONT" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FONT:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_FONT_FUNCS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FONT-FUNCS:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_GLYPH_FLAGS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-FLAGS:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_MAP" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-MAP:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_MEMORY_MODE" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-MEMORY-MODE:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_OT_COLOR_PALETTE_FLAGS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-COLOR-PALETTE-FLAGS:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-LAYOUT-GLYPH-CLASS:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_OT_MATH_CONSTANT" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-CONSTANT:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-PART-FLAGS:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-GLYPH-VARIANT:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_OT_MATH_KERN" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-OT-MATH-KERN:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_SCRIPT" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SCRIPT:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_SHAPE_PLAN" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SHAPE-PLAN:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-COMBINING-CLASS:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_UNICODE_FUNCS" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-FUNCS:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-UNICODE-GENERAL-CATEGORY:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-BUFFER-CLUSTER-LEVEL:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_FEATURE" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-FEATURE:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_GLYPH_INFO" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-INFO:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_GLYPH_POSITION" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-GLYPH-POSITION:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_SEGMENT_PROPERTIES" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SEGMENT-PROPERTIES:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_SET" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-SET:CAPS"/> + <keyword type="macro" name="HB_GOBJECT_TYPE_USER_DATA_KEY" link="harfbuzz-hb-gobject.html#HB-GOBJECT-TYPE-USER-DATA-KEY:CAPS"/> <keyword type="function" name="hb_graphite2_face_get_gr_face ()" link="harfbuzz-hb-graphite2.html#hb-graphite2-face-get-gr-face"/> <keyword type="macro" name="HB_GRAPHITE2_TAG_SILF" link="harfbuzz-hb-graphite2.html#HB-GRAPHITE2-TAG-SILF:CAPS"/> <keyword type="function" name="hb_icu_get_unicode_funcs ()" link="harfbuzz-hb-icu.html#hb-icu-get-unicode-funcs"/> @@ -788,6 +879,14 @@ <keyword type="constant" name="HB_OT_COLOR_PALETTE_FLAG_DEFAULT" link="harfbuzz-hb-ot-color.html#HB-OT-COLOR-PALETTE-FLAG-DEFAULT:CAPS"/> <keyword type="constant" name="HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_LIGHT_BACKGROUND" link="harfbuzz-hb-ot-color.html#HB-OT-COLOR-PALETTE-FLAG-USABLE-WITH-LIGHT-BACKGROUND:CAPS"/> <keyword type="constant" name="HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_DARK_BACKGROUND" link="harfbuzz-hb-ot-color.html#HB-OT-COLOR-PALETTE-FLAG-USABLE-WITH-DARK-BACKGROUND:CAPS"/> + <keyword type="constant" name="HB_OT_LAYOUT_BASELINE_TAG_ROMAN" link="harfbuzz-hb-ot-layout.html#HB-OT-LAYOUT-BASELINE-TAG-ROMAN:CAPS"/> + <keyword type="constant" name="HB_OT_LAYOUT_BASELINE_TAG_HANGING" link="harfbuzz-hb-ot-layout.html#HB-OT-LAYOUT-BASELINE-TAG-HANGING:CAPS"/> + <keyword type="constant" name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_BOTTOM_OR_LEFT" link="harfbuzz-hb-ot-layout.html#HB-OT-LAYOUT-BASELINE-TAG-IDEO-FACE-BOTTOM-OR-LEFT:CAPS"/> + <keyword type="constant" name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_TOP_OR_RIGHT" link="harfbuzz-hb-ot-layout.html#HB-OT-LAYOUT-BASELINE-TAG-IDEO-FACE-TOP-OR-RIGHT:CAPS"/> + <keyword type="constant" name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_BOTTOM_OR_LEFT" link="harfbuzz-hb-ot-layout.html#HB-OT-LAYOUT-BASELINE-TAG-IDEO-EMBOX-BOTTOM-OR-LEFT:CAPS"/> + <keyword type="constant" name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_TOP_OR_RIGHT" link="harfbuzz-hb-ot-layout.html#HB-OT-LAYOUT-BASELINE-TAG-IDEO-EMBOX-TOP-OR-RIGHT:CAPS"/> + <keyword type="constant" name="HB_OT_LAYOUT_BASELINE_TAG_MATH" link="harfbuzz-hb-ot-layout.html#HB-OT-LAYOUT-BASELINE-TAG-MATH:CAPS"/> + <keyword type="constant" name="_HB_OT_LAYOUT_BASELINE_TAG_MAX_VALUE" link="harfbuzz-hb-ot-layout.html#HB-OT-LAYOUT-BASELINE-TAG-MAX-VALUE:CAPS"/> <keyword type="constant" name="HB_OT_LAYOUT_GLYPH_CLASS_UNCLASSIFIED" link="harfbuzz-hb-ot-layout.html#HB-OT-LAYOUT-GLYPH-CLASS-UNCLASSIFIED:CAPS"/> <keyword type="constant" name="HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH" link="harfbuzz-hb-ot-layout.html#HB-OT-LAYOUT-GLYPH-CLASS-BASE-GLYPH:CAPS"/> <keyword type="constant" name="HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE" link="harfbuzz-hb-ot-layout.html#HB-OT-LAYOUT-GLYPH-CLASS-LIGATURE:CAPS"/> @@ -853,7 +952,7 @@ <keyword type="constant" name="HB_OT_MATH_KERN_TOP_LEFT" link="harfbuzz-hb-ot-math.html#HB-OT-MATH-KERN-TOP-LEFT:CAPS"/> <keyword type="constant" name="HB_OT_MATH_KERN_BOTTOM_RIGHT" link="harfbuzz-hb-ot-math.html#HB-OT-MATH-KERN-BOTTOM-RIGHT:CAPS"/> <keyword type="constant" name="HB_OT_MATH_KERN_BOTTOM_LEFT" link="harfbuzz-hb-ot-math.html#HB-OT-MATH-KERN-BOTTOM-LEFT:CAPS"/> - <keyword type="constant" name="HB_MATH_GLYPH_PART_FLAG_EXTENDER" link="harfbuzz-hb-ot-math.html#HB-MATH-GLYPH-PART-FLAG-EXTENDER:CAPS"/> + <keyword type="constant" name="HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER" link="harfbuzz-hb-ot-math.html#HB-OT-MATH-GLYPH-PART-FLAG-EXTENDER:CAPS"/> <keyword type="constant" name="HB_OT_VAR_AXIS_FLAG_HIDDEN" link="harfbuzz-hb-ot-var.html#HB-OT-VAR-AXIS-FLAG-HIDDEN:CAPS"/> <keyword type="constant" name="_HB_OT_VAR_AXIS_FLAG_MAX_VALUE" link="harfbuzz-hb-ot-var.html#HB-OT-VAR-AXIS-FLAG-MAX-VALUE:CAPS"/> <keyword type="constant" name="HB_AAT_LAYOUT_FEATURE_TYPE_INVALID" link="harfbuzz-hb-aat-layout.html#HB-AAT-LAYOUT-FEATURE-TYPE-INVALID:CAPS"/> @@ -1149,12 +1248,23 @@ <keyword type="constant" name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_CJK_ROMAN" link="harfbuzz-hb-aat-layout.html#HB-AAT-LAYOUT-FEATURE-SELECTOR-DEFAULT-CJK-ROMAN:CAPS"/> <keyword type="constant" name="HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_CJK_ROMAN" link="harfbuzz-hb-aat-layout.html#HB-AAT-LAYOUT-FEATURE-SELECTOR-FULL-WIDTH-CJK-ROMAN:CAPS"/> <keyword type="constant" name="_HB_AAT_LAYOUT_FEATURE_SELECTOR_MAX_VALUE" link="harfbuzz-hb-aat-layout.html#HB-AAT-LAYOUT-FEATURE-SELECTOR-MAX-VALUE:CAPS"/> - <keyword type="member" name="hb-glyph-position-t.x-advance" link="harfbuzz-hb-buffer.html#hb-glyph-position-t.x-advance"/> - <keyword type="member" name="hb-glyph-position-t.y-advance" link="harfbuzz-hb-buffer.html#hb-glyph-position-t.y-advance"/> - <keyword type="member" name="hb-glyph-position-t.x-offset" link="harfbuzz-hb-buffer.html#hb-glyph-position-t.x-offset"/> - <keyword type="member" name="hb-glyph-position-t.y-offset" link="harfbuzz-hb-buffer.html#hb-glyph-position-t.y-offset"/> - <keyword type="member" name="hb-segment-properties-t.direction" link="harfbuzz-hb-buffer.html#hb-segment-properties-t.direction"/> - <keyword type="member" name="hb-segment-properties-t.script" link="harfbuzz-hb-buffer.html#hb-segment-properties-t.script"/> - <keyword type="member" name="hb-segment-properties-t.language" link="harfbuzz-hb-buffer.html#hb-segment-properties-t.language"/> + <keyword type="member" name="hb-glyph-position-t-struct.x-advance" link="harfbuzz-hb-buffer.html#hb-glyph-position-t-struct.x-advance"/> + <keyword type="member" name="hb-glyph-position-t-struct.y-advance" link="harfbuzz-hb-buffer.html#hb-glyph-position-t-struct.y-advance"/> + <keyword type="member" name="hb-glyph-position-t-struct.x-offset" link="harfbuzz-hb-buffer.html#hb-glyph-position-t-struct.x-offset"/> + <keyword type="member" name="hb-glyph-position-t-struct.y-offset" link="harfbuzz-hb-buffer.html#hb-glyph-position-t-struct.y-offset"/> + <keyword type="member" name="hb-segment-properties-t-struct.direction" link="harfbuzz-hb-buffer.html#hb-segment-properties-t-struct.direction"/> + <keyword type="member" name="hb-segment-properties-t-struct.script" link="harfbuzz-hb-buffer.html#hb-segment-properties-t-struct.script"/> + <keyword type="member" name="hb-segment-properties-t-struct.language" link="harfbuzz-hb-buffer.html#hb-segment-properties-t-struct.language"/> + <keyword type="member" name="hb-feature-t-struct.tag" link="harfbuzz-hb-common.html#hb-feature-t-struct.tag"/> + <keyword type="member" name="hb-feature-t-struct.value" link="harfbuzz-hb-common.html#hb-feature-t-struct.value"/> + <keyword type="member" name="hb-feature-t-struct.start" link="harfbuzz-hb-common.html#hb-feature-t-struct.start"/> + <keyword type="member" name="hb-feature-t-struct.end" link="harfbuzz-hb-common.html#hb-feature-t-struct.end"/> + <keyword type="member" name="hb-ot-math-glyph-variant-t-struct.glyph" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t-struct.glyph"/> + <keyword type="member" name="hb-ot-math-glyph-variant-t-struct.advance" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-variant-t-struct.advance"/> + <keyword type="member" name="hb-ot-math-glyph-part-t-struct.glyph" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t-struct.glyph"/> + <keyword type="member" name="hb-ot-math-glyph-part-t-struct.start-connector-length" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t-struct.start-connector-length"/> + <keyword type="member" name="hb-ot-math-glyph-part-t-struct.end-connector-length" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t-struct.end-connector-length"/> + <keyword type="member" name="hb-ot-math-glyph-part-t-struct.full-advance" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t-struct.full-advance"/> + <keyword type="member" name="hb-ot-math-glyph-part-t-struct.flags" link="harfbuzz-hb-ot-math.html#hb-ot-math-glyph-part-t-struct.flags"/> </functions> </book> diff --git a/docs/html/index.html b/docs/html/index.html index c2fcb4c..12cfdee 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -4,7 +4,7 @@ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>HarfBuzz Manual: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> -<meta name="description" content="HarfBuzz HarfBuzz is an OpenType text shaping engine. Using the HarfBuzz library allows programs to convert a sequence of Unicode input into properly formatted and positioned glyph output—for any writing system and language. The canonical source-code tree is available at github.com/harfbuzz/harfbuzz and is also available at cgit.freedesktop.org/harfbuzz. See for release tarballs."> +<meta name="description" content="HarfBuzz HarfBuzz is an OpenType text shaping engine. Using the HarfBuzz library allows programs to convert a sequence of Unicode input into properly formatted and positioned glyph output—for any writing system and language. The canonical source-code tree is available at github.com/harfbuzz/harfbuzz. See for release tarballs."> <link rel="home" href="index.html" title="HarfBuzz Manual"> <link rel="next" href="pt01.html" title="Part I. User's manual"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> @@ -27,9 +27,7 @@ </p> <p> The canonical source-code tree is available at - <a class="ulink" href="https://github.com/harfbuzz/harfbuzz" target="_top">github.com/harfbuzz/harfbuzz</a> - and is also available at - <a class="ulink" href="http://cgit.freedesktop.org/harfbuzz/" target="_top">cgit.freedesktop.org/harfbuzz</a>. + <a class="ulink" href="https://github.com/harfbuzz/harfbuzz" target="_top">github.com/harfbuzz/harfbuzz</a>. See <a class="xref" href="install-harfbuzz.html#download" title="Downloading HarfBuzz">Downloading HarfBuzz</a> for release tarballs. </p> @@ -76,19 +74,34 @@ <dt><span class="section"><a href="graphite-shaping.html">Graphite shaping</a></span></dt> <dt><span class="section"><a href="aat-shaping.html">AAT shaping</a></span></dt> </dl></dd> +<dt><span class="chapter"><a href="object-model.html">The HarfBuzz object model</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="object-model.html#object-model-intro">An overview of data types in HarfBuzz</a></span></dt> +<dt><span class="section"><a href="object-model-object-types.html">Objects in HarfBuzz</a></span></dt> +<dt><span class="section"><a href="object-model-lifecycle.html">Object lifecycle management</a></span></dt> +<dt><span class="section"><a href="object-model-user-data.html">User data</a></span></dt> +<dt><span class="section"><a href="object-model-blobs.html">Blobs</a></span></dt> +</dl></dd> <dt><span class="chapter"><a href="buffers-language-script-and-direction.html">Buffers, language, script and direction</a></span></dt> <dd><dl> <dt><span class="section"><a href="buffers-language-script-and-direction.html#creating-and-destroying-buffers">Creating and destroying buffers</a></span></dt> <dt><span class="section"><a href="adding-text-to-the-buffer.html">Adding text to the buffer</a></span></dt> <dt><span class="section"><a href="setting-buffer-properties.html">Setting buffer properties</a></span></dt> -<dt><span class="section"><a href="what-about-the-other-scripts.html">What about the other scripts?</a></span></dt> <dt><span class="section"><a href="customizing-unicode-functions.html">Customizing Unicode functions</a></span></dt> </dl></dd> -<dt><span class="chapter"><a href="fonts-and-faces.html">Fonts and faces</a></span></dt> +<dt><span class="chapter"><a href="fonts-and-faces.html">Fonts, faces, and output</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fonts-and-faces.html#fonts-and-faces-objects">Font and face objects</a></span></dt> +<dt><span class="section"><a href="fonts-and-faces-custom-functions.html">Customizing font functions</a></span></dt> +<dt><span class="section"><a href="fonts-and-faces-native-opentype.html">Font objects and HarfBuzz's native OpenType implementation</a></span></dt> +<dt><span class="section"><a href="fonts-and-faces-variable.html">Working with OpenType Variable Fonts</a></span></dt> +</dl></dd> +<dt><span class="chapter"><a href="shaping-and-shape-plans.html">Shaping and shape plans</a></span></dt> <dd><dl> -<dt><span class="section"><a href="fonts-and-faces.html#using-freetype">Using FreeType</a></span></dt> -<dt><span class="section"><a href="using-harfbuzzs-native-opentype-implementation.html">Using HarfBuzz's native OpenType implementation</a></span></dt> -<dt><span class="section"><a href="using-your-own-font-functions.html">Using your own font functions</a></span></dt> +<dt><span class="section"><a href="shaping-and-shape-plans.html#shaping-buffer-output">Shaping and buffer output</a></span></dt> +<dt><span class="section"><a href="shaping-opentype-features.html">OpenType features</a></span></dt> +<dt><span class="section"><a href="shaping-shaper-selection.html">Shaper selection</a></span></dt> +<dt><span class="section"><a href="shaping-plans-and-caching.html">Plans and caching</a></span></dt> </dl></dd> <dt><span class="chapter"><a href="clusters.html">Clusters</a></span></dt> <dd><dl> @@ -104,15 +117,21 @@ <dt><span class="section"><a href="level-2.html#other-considerations-in-level-2">Other considerations in level 2</a></span></dt> </dl></dd> </dl></dd> -<dt><span class="chapter"><a href="shaping-and-shape-plans.html">Shaping and shape plans</a></span></dt> +<dt><span class="chapter"><a href="utilities.html">Utilities</a></span></dt> <dd><dl> -<dt><span class="section"><a href="shaping-and-shape-plans.html#opentype-features">OpenType features</a></span></dt> -<dt><span class="section"><a href="plans-and-caching.html">Plans and caching</a></span></dt> +<dt><span class="section"><a href="utilities.html#utilities-command-line-tools">Command-line tools</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="utilities.html#utilities-command-line-hbshape">hb-shape</a></span></dt> +<dt><span class="section"><a href="utilities.html#utilities-command-line-hbview">hb-view</a></span></dt> +<dt><span class="section"><a href="utilities.html#utilities-command-line-hbsubset">hb-subset</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="utilities-common-types-apis.html">Common data types and APIs</a></span></dt> +<dt><span class="section"><a href="utilities-ucdn.html">UCDN</a></span></dt> </dl></dd> </dl></dd> <dt><span class="part"><a href="pt02.html">II. Reference manual</a></span></dt> <dd><dl> -<dt><span class="chapter"><a href="ch09.html">Core API</a></span></dt> +<dt><span class="chapter"><a href="ch11.html">Core API</a></span></dt> <dd><dl> <dt> <span class="refentrytitle"><a href="harfbuzz-hb-blob.html">hb-blob</a></span><span class="refpurpose"> — Binary data containers</span> @@ -151,7 +170,7 @@ <span class="refentrytitle"><a href="harfbuzz-hb-version.html">hb-version</a></span><span class="refpurpose"> — Information about the version of HarfBuzz in use</span> </dt> </dl></dd> -<dt><span class="chapter"><a href="ch10.html">OpenType API</a></span></dt> +<dt><span class="chapter"><a href="ch12.html">OpenType API</a></span></dt> <dd><dl> <dt> <span class="refentrytitle"><a href="harfbuzz-hb-ot-color.html">hb-ot-color</a></span><span class="refpurpose"> — OpenType Color Fonts</span> @@ -175,11 +194,11 @@ <span class="refentrytitle"><a href="harfbuzz-hb-ot-var.html">hb-ot-var</a></span><span class="refpurpose"> — OpenType Font Variations</span> </dt> </dl></dd> -<dt><span class="chapter"><a href="ch11.html">Apple Advanced Typography API</a></span></dt> +<dt><span class="chapter"><a href="ch13.html">Apple Advanced Typography API</a></span></dt> <dd><dl><dt> <span class="refentrytitle"><a href="harfbuzz-hb-aat-layout.html">hb-aat-layout</a></span><span class="refpurpose"> — Apple Advanced Typography Layout</span> </dt></dl></dd> -<dt><span class="chapter"><a href="ch12.html">Integration API</a></span></dt> +<dt><span class="chapter"><a href="ch14.html">Integration API</a></span></dt> <dd><dl> <dt> <span class="refentrytitle"><a href="harfbuzz-hb-coretext.html">hb-coretext</a></span><span class="refpurpose"> — CoreText integration</span> diff --git a/docs/html/level-2.html b/docs/html/level-2.html index a30f6f6..25670c2 100644 --- a/docs/html/level-2.html +++ b/docs/html/level-2.html @@ -7,7 +7,7 @@ <link rel="home" href="index.html" title="HarfBuzz Manual"> <link rel="up" href="clusters.html" title="Clusters"> <link rel="prev" href="the-distinction-between-levels-0-and-1.html" title="The distinction between levels 0 and 1"> -<link rel="next" href="shaping-and-shape-plans.html" title="Shaping and shape plans"> +<link rel="next" href="utilities.html" title="Utilities"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> @@ -17,7 +17,7 @@ <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="clusters.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="the-distinction-between-levels-0-and-1.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="shaping-and-shape-plans.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +<td><a accesskey="n" href="utilities.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> diff --git a/docs/html/object-model-blobs.html b/docs/html/object-model-blobs.html new file mode 100644 index 0000000..dece05f --- /dev/null +++ b/docs/html/object-model-blobs.html @@ -0,0 +1,56 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Blobs: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="object-model.html" title="The HarfBuzz object model"> +<link rel="prev" href="object-model-user-data.html" title="User data"> +<link rel="next" href="buffers-language-script-and-direction.html" title="Buffers, language, script and direction"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="object-model.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="object-model-user-data.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="buffers-language-script-and-direction.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="object-model-blobs"></a>Blobs</h2></div></div></div> +<p> + While most of HarfBuzz's object types are specific to the + shaping process, <span class="emphasis"><em>blobs</em></span> are somewhat + different. + </p> +<p> + Blobs are an abstraction desgined to negotiate lifecycle and + permissions for raw pieces of data. For example, when you load + the raw font data into memory and want to pass it to HarfBuzz, + you do so in a <code class="literal">hb_blob_t</code> wrapper. + </p> +<p> + This allows you to take advantage of HarffBuzz's + reference-counting and <code class="function">destroy</code> + callbacks. If you allocated the memory for the data using + <code class="function">malloc()</code>, you would create the blob using + </p> +<pre class="programlisting"> + hb_blob_create (data, length, HB_MEMORY_MODE_WRITABLE, NULL, free) + </pre> +<p> + That way, HarfBuzz will call <code class="function">free()</code> on the + allocated memory whenever the blob drops its last reference and + is deconstructed. Consequently, the user code can stop worrying + about freeing memory and let the reference-counting machinery + take care of that. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/object-model-lifecycle.html b/docs/html/object-model-lifecycle.html new file mode 100644 index 0000000..5e9adfd --- /dev/null +++ b/docs/html/object-model-lifecycle.html @@ -0,0 +1,97 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Object lifecycle management: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="object-model.html" title="The HarfBuzz object model"> +<link rel="prev" href="object-model-object-types.html" title="Objects in HarfBuzz"> +<link rel="next" href="object-model-user-data.html" title="User data"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="object-model.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="object-model-object-types.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="object-model-user-data.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="object-model-lifecycle"></a>Object lifecycle management</h2></div></div></div> +<p> + Each object type in HarfBuzz provides a + <code class="function">create()</code> method. Some object types provide + additional variants of <code class="function">create()</code> to handle + special cases or to speed up common tasks; those variants are + documented in the API reference. For example, + <code class="function">hb_blob_create_from_file()</code> constructs a new + blob directly from the contents of a file. + </p> +<p> + All objects are created with an initial reference count of + <code class="literal">1</code>. Client programs can increase the reference + count on an object by calling its + <code class="function">reference()</code> method. Whenever a client + program is finished with an object, it should call its + corresponding <code class="function">destroy()</code> method. The destroy + method will decrease the reference count on the object and, + whenever the reference count reaches zero, it will also destroy + the object and free all of the associated memory. + </p> +<p> + All of HarfBuzz's object-lifecycle-management APIs are + thread-safe (unless you compiled HarfBuzz from source with the + <code class="literal">HB_NO_MT</code> configuration flag), even when the + object as a whole is not thread-safe. + It is also permissible to <code class="function">reference()</code> or to + <code class="function">destroy()</code> the <code class="literal">NULL</code> + value. + </p> +<p> + Some objects are thread-safe after they have been constructed + and set up. The general pattern is to + <code class="function">create()</code> the object, make a few + <code class="function">set_*()</code> calls to set up the + object, and then use it without further modification. + </p> +<p> + To ensure that such an object is not modified, client programs + can explicitly mark an object as immutable. HarfBuzz provides + <code class="function">make_immutable()</code> methods to mark an object + as immutable and <code class="function">is_immutable()</code> methods to + test whether or not an object is immutable. Attempts to use + setter functions on immutable objects will fail silently; see the API + Reference manual for specifics. + </p> +<p> + Note also that there are no "make mutable" methods. If client + programs need to alter an object previously marked as immutable, + they will need to make a duplicate of the original. + </p> +<p> + Finally, object constructors (and, indeed, as much of the + shaping API as possible) will never return + <code class="literal">NULL</code>. Instead, if there is an allocation + error, each constructor will return an “empty” object + singleton. + </p> +<p> + These empty-object singletons are inert and safe (although + typically useless) to pass around. This design choice avoids + having to check for <code class="literal">NULL</code> pointers all + throughout the code. + </p> +<p> + In addition, this “empty” object singleton can also be accessed + using the <code class="function">get_empty()</code> method of the object + type in question. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/object-model-object-types.html b/docs/html/object-model-object-types.html new file mode 100644 index 0000000..330511c --- /dev/null +++ b/docs/html/object-model-object-types.html @@ -0,0 +1,84 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Objects in HarfBuzz: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="object-model.html" title="The HarfBuzz object model"> +<link rel="prev" href="object-model.html" title="The HarfBuzz object model"> +<link rel="next" href="object-model-lifecycle.html" title="Object lifecycle management"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="object-model.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="object-model.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="object-model-lifecycle.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="object-model-object-types"></a>Objects in HarfBuzz</h2></div></div></div> +<p> + <span class="emphasis"><em>Object types:</em></span> Opaque struct types are used + for what HarfBuzz loosely calls "objects." This doesn’t have + much to do with the terminology from object-oriented programming + (OOP), although some of the concepts are similar. + </p> +<p> + In HarfBuzz, all object types provide certain + lifecycle-management APIs. Objects are reference-counted, and + constructed with various <code class="function">create()</code> methods, referenced via + <code class="function">reference()</code> and dereferenced using + <code class="function">destroy()</code>. + </p> +<p> + For example, + the <code class="literal">hb_buffer_t</code> object has + <code class="function">hb_buffer_create()</code> as its constructor, + <code class="function">hb_buffer_reference()</code> to reference, and + <code class="function">hb_buffer_destroy()</code> to dereference. + </p> +<p> + After construction, each object's properties are accessible only + through the setter and getter functions described in the API + Reference manual. + </p> +<p> + Key object types provided by HarfBuzz include: + </p> +<div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc; "> +<li class="listitem"><p> + <span class="emphasis"><em>blobs</em></span>, which act as low-level wrappers around binary + data. Blobs are typically used to hold the contents of a + binary font file. + </p></li> +<li class="listitem"><p> + <span class="emphasis"><em>faces</em></span>, which represent typefaces from a + font file, but without specific parameters (such as size) set. + </p></li> +<li class="listitem"><p> + <span class="emphasis"><em>fonts</em></span>, which represent instances of a + face with all of their parameters specified. + </p></li> +<li class="listitem"><p> + <span class="emphasis"><em>buffers</em></span>, which hold Unicode code points + for characters (before shaping) and the shaped glyph output + (after shaping). + </p></li> +<li class="listitem"><p> + <span class="emphasis"><em>shape plans</em></span>, which store the settings + that HarfBuzz will use when shaping a particular text + segment. Shape plans are not generally used by client + programs directly, but as we will see in a later chapter, + they are still valuable to understand. + </p></li> +</ul></div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/object-model-user-data.html b/docs/html/object-model-user-data.html new file mode 100644 index 0000000..9ffd864 --- /dev/null +++ b/docs/html/object-model-user-data.html @@ -0,0 +1,59 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>User data: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="object-model.html" title="The HarfBuzz object model"> +<link rel="prev" href="object-model-lifecycle.html" title="Object lifecycle management"> +<link rel="next" href="object-model-blobs.html" title="Blobs"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="object-model.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="object-model-lifecycle.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="object-model-blobs.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="object-model-user-data"></a>User data</h2></div></div></div> +<p> + To better integrate with client programs, HarfBuzz's objects + offer a "user data" mechanism that can be used to attach + arbitrary data to the object. User-data attachment can be + useful for tying the lifecycles of various pieces of data + together, or for creating language bindings. + </p> +<p> + Each object type has a <code class="function">set_user_data()</code> + method and a <code class="function">get_user_data()</code> method. The + <code class="function">set_user_data()</code> methods take a client-provided + <code class="literal">key</code> and a pointer, + <code class="literal">user_data</code>, pointing to the data itself. Once + the key-data pair has been attached to the object, the + <code class="function">get_user_data()</code> method can be called with + the key, returning the <code class="function">user_data</code> pointer. + </p> +<p> + The <code class="function">set_user_data()</code> methods also support an + optional <code class="function">destroy</code> callback. Client programs + can set the <code class="function">destroy</code> callback and receive + notification from HarfBuzz whenever the object is destructed. + </p> +<p> + Finally, each <code class="function">set_user_data()</code> method allows + the client program to set a <code class="literal">replace</code> Boolean + indicating whether or not the function call should replace any + existing <code class="literal">user_data</code> + associated with the specified key. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/object-model.html b/docs/html/object-model.html new file mode 100644 index 0000000..838d320 --- /dev/null +++ b/docs/html/object-model.html @@ -0,0 +1,73 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>The HarfBuzz object model: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="pt01.html" title="Part I. User's manual"> +<link rel="prev" href="aat-shaping.html" title="AAT shaping"> +<link rel="next" href="object-model-object-types.html" title="Objects in HarfBuzz"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="aat-shaping.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="object-model-object-types.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="chapter"> +<div class="titlepage"><div><div><h2 class="title"> +<a name="object-model"></a>The HarfBuzz object model</h2></div></div></div> +<div class="toc"><dl class="toc"> +<dt><span class="section"><a href="object-model.html#object-model-intro">An overview of data types in HarfBuzz</a></span></dt> +<dt><span class="section"><a href="object-model-object-types.html">Objects in HarfBuzz</a></span></dt> +<dt><span class="section"><a href="object-model-lifecycle.html">Object lifecycle management</a></span></dt> +<dt><span class="section"><a href="object-model-user-data.html">User data</a></span></dt> +<dt><span class="section"><a href="object-model-blobs.html">Blobs</a></span></dt> +</dl></div> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="object-model-intro"></a>An overview of data types in HarfBuzz</h2></div></div></div> +<p> + HarfBuzz features two kinds of data types: non-opaque, + pass-by-value types and opaque, heap-allocated types. This kind + of separation is common in C libraries that have to provide + API/ABI compatibility (almost) indefinitely. + </p> +<p> + <span class="emphasis"><em>Value types:</em></span> The non-opaque, pass-by-value + types include integer types, enums, and small structs. Exposing + a struct in the public API makes it impossible to expand the + struct in the future. As such, exposing structs is reserved for + cases where it’s extremely inefficient to do otherwise. + </p> +<p> + In HarfBuzz, several structs, like <code class="literal">hb_glyph_info_t</code> and + <code class="literal">hb_glyph_position_t</code>, fall into that efficiency-sensitive + category and are non-opaque. + </p> +<p> + For all non-opaque structs where future extensibility may be + necessary, reserved members are included to hold space for + possible future members. As such, it’s important to provide + <code class="function">equal()</code>, and <code class="function">hash()</code> + methods for such structs, allowing users of the API do + effectively deal with the type without having to + adapt their code to future changes. + </p> +<p> + Important value types provided by HarfBuzz include the structs + for working with Unicode code points, glyphs, and tags for font + tables and features, as well as the enums for many Unicode and + OpenType properties. + </p> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/plans-and-caching.html b/docs/html/plans-and-caching.html deleted file mode 100644 index 7407f1e..0000000 --- a/docs/html/plans-and-caching.html +++ /dev/null @@ -1,31 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Plans and caching: HarfBuzz Manual</title> -<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> -<link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="shaping-and-shape-plans.html" title="Shaping and shape plans"> -<link rel="prev" href="shaping-and-shape-plans.html" title="Shaping and shape plans"> -<link rel="next" href="pt02.html" title="Part II. Reference manual"> -<meta name="generator" content="GTK-Doc V1.29 (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"></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="shaping-and-shape-plans.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="shaping-and-shape-plans.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="pt02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> -</tr></table> -<div class="section"> -<div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="plans-and-caching"></a>Plans and caching</h2></div></div></div> -<p> - </p> -</div> -<div class="footer"> -<hr>Generated by GTK-Doc V1.29</div> -</body> -</html>
\ No newline at end of file diff --git a/docs/html/pt01.html b/docs/html/pt01.html index 90e6f93..9db76e5 100644 --- a/docs/html/pt01.html +++ b/docs/html/pt01.html @@ -61,19 +61,34 @@ <dt><span class="section"><a href="graphite-shaping.html">Graphite shaping</a></span></dt> <dt><span class="section"><a href="aat-shaping.html">AAT shaping</a></span></dt> </dl></dd> +<dt><span class="chapter"><a href="object-model.html">The HarfBuzz object model</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="object-model.html#object-model-intro">An overview of data types in HarfBuzz</a></span></dt> +<dt><span class="section"><a href="object-model-object-types.html">Objects in HarfBuzz</a></span></dt> +<dt><span class="section"><a href="object-model-lifecycle.html">Object lifecycle management</a></span></dt> +<dt><span class="section"><a href="object-model-user-data.html">User data</a></span></dt> +<dt><span class="section"><a href="object-model-blobs.html">Blobs</a></span></dt> +</dl></dd> <dt><span class="chapter"><a href="buffers-language-script-and-direction.html">Buffers, language, script and direction</a></span></dt> <dd><dl> <dt><span class="section"><a href="buffers-language-script-and-direction.html#creating-and-destroying-buffers">Creating and destroying buffers</a></span></dt> <dt><span class="section"><a href="adding-text-to-the-buffer.html">Adding text to the buffer</a></span></dt> <dt><span class="section"><a href="setting-buffer-properties.html">Setting buffer properties</a></span></dt> -<dt><span class="section"><a href="what-about-the-other-scripts.html">What about the other scripts?</a></span></dt> <dt><span class="section"><a href="customizing-unicode-functions.html">Customizing Unicode functions</a></span></dt> </dl></dd> -<dt><span class="chapter"><a href="fonts-and-faces.html">Fonts and faces</a></span></dt> +<dt><span class="chapter"><a href="fonts-and-faces.html">Fonts, faces, and output</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="fonts-and-faces.html#fonts-and-faces-objects">Font and face objects</a></span></dt> +<dt><span class="section"><a href="fonts-and-faces-custom-functions.html">Customizing font functions</a></span></dt> +<dt><span class="section"><a href="fonts-and-faces-native-opentype.html">Font objects and HarfBuzz's native OpenType implementation</a></span></dt> +<dt><span class="section"><a href="fonts-and-faces-variable.html">Working with OpenType Variable Fonts</a></span></dt> +</dl></dd> +<dt><span class="chapter"><a href="shaping-and-shape-plans.html">Shaping and shape plans</a></span></dt> <dd><dl> -<dt><span class="section"><a href="fonts-and-faces.html#using-freetype">Using FreeType</a></span></dt> -<dt><span class="section"><a href="using-harfbuzzs-native-opentype-implementation.html">Using HarfBuzz's native OpenType implementation</a></span></dt> -<dt><span class="section"><a href="using-your-own-font-functions.html">Using your own font functions</a></span></dt> +<dt><span class="section"><a href="shaping-and-shape-plans.html#shaping-buffer-output">Shaping and buffer output</a></span></dt> +<dt><span class="section"><a href="shaping-opentype-features.html">OpenType features</a></span></dt> +<dt><span class="section"><a href="shaping-shaper-selection.html">Shaper selection</a></span></dt> +<dt><span class="section"><a href="shaping-plans-and-caching.html">Plans and caching</a></span></dt> </dl></dd> <dt><span class="chapter"><a href="clusters.html">Clusters</a></span></dt> <dd><dl> @@ -89,23 +104,19 @@ <dt><span class="section"><a href="level-2.html#other-considerations-in-level-2">Other considerations in level 2</a></span></dt> </dl></dd> </dl></dd> -<dt><span class="chapter"><a href="shaping-and-shape-plans.html">Shaping and shape plans</a></span></dt> +<dt><span class="chapter"><a href="utilities.html">Utilities</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="utilities.html#utilities-command-line-tools">Command-line tools</a></span></dt> <dd><dl> -<dt><span class="section"><a href="shaping-and-shape-plans.html#opentype-features">OpenType features</a></span></dt> -<dt><span class="section"><a href="plans-and-caching.html">Plans and caching</a></span></dt> +<dt><span class="section"><a href="utilities.html#utilities-command-line-hbshape">hb-shape</a></span></dt> +<dt><span class="section"><a href="utilities.html#utilities-command-line-hbview">hb-view</a></span></dt> +<dt><span class="section"><a href="utilities.html#utilities-command-line-hbsubset">hb-subset</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="utilities-common-types-apis.html">Common data types and APIs</a></span></dt> +<dt><span class="section"><a href="utilities-ucdn.html">UCDN</a></span></dt> </dl></dd> </dl> </div> -<div class="sect1"> -<div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="glyph-information"></a>Glyph information</h2></div></div></div> -<div class="sect2"> -<div class="titlepage"><div><div><h3 class="title"> -<a name="names-and-numbers"></a>Names and numbers</h3></div></div></div> -<p> - </p> -</div> -</div> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.29</div> diff --git a/docs/html/pt02.html b/docs/html/pt02.html index 33add13..11b2734 100644 --- a/docs/html/pt02.html +++ b/docs/html/pt02.html @@ -6,8 +6,8 @@ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> <link rel="up" href="index.html" title="HarfBuzz Manual"> -<link rel="prev" href="plans-and-caching.html" title="Plans and caching"> -<link rel="next" href="ch09.html" title="Core API"> +<link rel="prev" href="utilities-ucdn.html" title="UCDN"> +<link rel="next" href="ch11.html" title="Core API"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> @@ -16,15 +16,15 @@ <td width="100%" align="left" class="shortcuts"></td> <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> <td><img src="up-insensitive.png" width="16" height="16" border="0"></td> -<td><a accesskey="p" href="plans-and-caching.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="ch09.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +<td><a accesskey="p" href="utilities-ucdn.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="ch11.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="part"> <div class="titlepage"><div> <div><h1 class="title"> <a name="id-1.3"></a>Part II. Reference manual</h1></div> <div><p class="releaseinfo"> - This document is for HarfBuzz 2.4.0 + This document is for HarfBuzz 2.6.4 . </p></div> @@ -32,7 +32,7 @@ <div class="toc"> <p><b>Table of Contents</b></p> <dl class="toc"> -<dt><span class="chapter"><a href="ch09.html">Core API</a></span></dt> +<dt><span class="chapter"><a href="ch11.html">Core API</a></span></dt> <dd><dl> <dt> <span class="refentrytitle"><a href="harfbuzz-hb-blob.html">hb-blob</a></span><span class="refpurpose"> — Binary data containers</span> @@ -71,7 +71,7 @@ <span class="refentrytitle"><a href="harfbuzz-hb-version.html">hb-version</a></span><span class="refpurpose"> — Information about the version of HarfBuzz in use</span> </dt> </dl></dd> -<dt><span class="chapter"><a href="ch10.html">OpenType API</a></span></dt> +<dt><span class="chapter"><a href="ch12.html">OpenType API</a></span></dt> <dd><dl> <dt> <span class="refentrytitle"><a href="harfbuzz-hb-ot-color.html">hb-ot-color</a></span><span class="refpurpose"> — OpenType Color Fonts</span> @@ -95,11 +95,11 @@ <span class="refentrytitle"><a href="harfbuzz-hb-ot-var.html">hb-ot-var</a></span><span class="refpurpose"> — OpenType Font Variations</span> </dt> </dl></dd> -<dt><span class="chapter"><a href="ch11.html">Apple Advanced Typography API</a></span></dt> +<dt><span class="chapter"><a href="ch13.html">Apple Advanced Typography API</a></span></dt> <dd><dl><dt> <span class="refentrytitle"><a href="harfbuzz-hb-aat-layout.html">hb-aat-layout</a></span><span class="refpurpose"> — Apple Advanced Typography Layout</span> </dt></dl></dd> -<dt><span class="chapter"><a href="ch12.html">Integration API</a></span></dt> +<dt><span class="chapter"><a href="ch14.html">Integration API</a></span></dt> <dd><dl> <dt> <span class="refentrytitle"><a href="harfbuzz-hb-coretext.html">hb-coretext</a></span><span class="refpurpose"> — CoreText integration</span> diff --git a/docs/html/setting-buffer-properties.html b/docs/html/setting-buffer-properties.html index e35cf7a..aba2eac 100644 --- a/docs/html/setting-buffer-properties.html +++ b/docs/html/setting-buffer-properties.html @@ -7,7 +7,7 @@ <link rel="home" href="index.html" title="HarfBuzz Manual"> <link rel="up" href="buffers-language-script-and-direction.html" title="Buffers, language, script and direction"> <link rel="prev" href="adding-text-to-the-buffer.html" title="Adding text to the buffer"> -<link rel="next" href="what-about-the-other-scripts.html" title="What about the other scripts?"> +<link rel="next" href="customizing-unicode-functions.html" title="Customizing Unicode functions"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> @@ -17,12 +17,141 @@ <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="buffers-language-script-and-direction.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="adding-text-to-the-buffer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="what-about-the-other-scripts.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +<td><a accesskey="n" href="customizing-unicode-functions.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="setting-buffer-properties"></a>Setting buffer properties</h2></div></div></div> <p> + Buffers containing input characters still need several + properties set before HarfBuzz can shape their text correctly. + </p> +<p> + Initially, all buffers are set to the + <code class="literal">HB_BUFFER_CONTENT_TYPE_INVALID</code> content + type. After adding text, the buffer should be set to + <code class="literal">HB_BUFFER_CONTENT_TYPE_UNICODE</code> instead, which + indicates that it contains un-shaped input + characters. After shaping, the buffer will have the + <code class="literal">HB_BUFFER_CONTENT_TYPE_GLYPHS</code> content type. + </p> +<p> + <code class="function">hb_buffer_add_utf8()</code> and the + other UTF functions set the content type of their buffer + automatically. But if you are reusing a buffer you may want to + check its state with + <code class="function">hb_buffer_get_content_type(buffer)</code>. If + necessary you can set the content type with + </p> +<pre class="programlisting"> + hb_buffer_set_content_type(buf, HB_BUFFER_CONTENT_TYPE_UNICODE); + </pre> +<p> + to prepare for shaping. + </p> +<p> + Buffers also need to carry information about the script, + language, and text direction of their contents. You can set + these properties individually: + </p> +<pre class="programlisting"> + hb_buffer_set_direction(buf, HB_DIRECTION_LTR); + hb_buffer_set_script(buf, HB_SCRIPT_LATIN); + hb_buffer_set_language(buf, hb_language_from_string("en", -1)); + </pre> +<p> + However, since these properties are often the repeated for + multiple text runs, you can also save them in a + <code class="literal">hb_segment_properties_t</code> for reuse: + </p> +<pre class="programlisting"> + hb_segment_properties_t *savedprops; + hb_buffer_get_segment_properties (buf, savedprops); + ... + hb_buffer_set_segment_properties (buf2, savedprops); + </pre> +<p> + HarfBuzz also provides getter functions to retrieve a buffer's + direction, script, and language properties individually. + </p> +<p> + HarfBuzz recognizes four text directions in + <span class="type">hb_direction_t</span>: left-to-right + (<code class="literal">HB_DIRECTION_LTR</code>), right-to-left (<code class="literal">HB_DIRECTION_RTL</code>), + top-to-bottom (<code class="literal">HB_DIRECTION_TTB</code>), and + bottom-to-top (<code class="literal">HB_DIRECTION_BTT</code>). For the + script property, HarfBuzz uses identifiers based on the + <a class="ulink" href="https://unicode.org/iso15924/" target="_top">ISO 15924 + standard</a>. For languages, HarfBuzz uses tags based on the + <a class="ulink" href="https://tools.ietf.org/html/bcp47" target="_top">IETF BCP 47</a> standard. + </p> +<p> + Helper functions are provided to convert character strings into + the necessary script and language tag types. + </p> +<p> + Two additional buffer properties to be aware of are the + "invisible glyph" and the replacement code point. The + replacement code point is inserted into buffer output in place of + any invalid code points encountered in the input. By default, it + is the Unicode <code class="literal">REPLACEMENT CHARACTER</code> code + point, <code class="literal">U+FFFD</code> "�". You can change this with + </p> +<pre class="programlisting"> + hb_buffer_set_replacement_codepoint(buf, replacement); + </pre> +<p> + passing in the replacement Unicode code point as the + <em class="parameter"><code>replacement</code></em> parameter. + </p> +<p> + The invisible glyph is used to replace all output glyphs that + are invisible. By default, the standard space character + <code class="literal">U+0020</code> is used; you can replace this (for + example, when using a font that provides script-specific + spaces) with + </p> +<pre class="programlisting"> + hb_buffer_set_invisible_glyph(buf, replacement_glyph); + </pre> +<p> + Do note that in the <em class="parameter"><code>replacement_glyph</code></em> + parameter, you must provide the glyph ID of the replacement you + wish to use, not the Unicode code point. + </p> +<p> + HarfBuzz supports a few additional flags you might want to set + on your buffer under certain circumstances. The + <code class="literal">HB_BUFFER_FLAG_BOT</code> and + <code class="literal">HB_BUFFER_FLAG_EOT</code> flags tell HarfBuzz + that the buffer represents the beginning or end (respectively) + of a text element (such as a paragraph or other block). Knowing + this allows HarfBuzz to apply certain contextual font features + when shaping, such as initial or final variants in connected + scripts. + </p> +<p> + <code class="literal">HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES</code> + tells HarfBuzz not to hide glyphs with the + <code class="literal">Default_Ignorable</code> property in Unicode. This + property designates control characters and other non-printing + code points, such as joiners and variation selectors. Normally + HarfBuzz replaces them in the output buffer with zero-width + space glyphs (using the "invisible glyph" property discussed + above); setting this flag causes them to be printed, which can + be helpful for troubleshooting. + </p> +<p> + Conversely, setting the + <code class="literal">HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES</code> flag + tells HarfBuzz to remove <code class="literal">Default_Ignorable</code> + glyphs from the output buffer entirely. Finally, setting the + <code class="literal">HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE</code> + flag tells HarfBuzz not to insert the dotted-circle glyph + (<code class="literal">U+25CC</code>, "◌"), which is normally + inserted into buffer output when broken character sequences are + encountered (such as combining marks that are not attached to a + base character). </p> </div> <div class="footer"> diff --git a/docs/html/shaping-and-shape-plans.html b/docs/html/shaping-and-shape-plans.html index 2831034..a3ac1aa 100644 --- a/docs/html/shaping-and-shape-plans.html +++ b/docs/html/shaping-and-shape-plans.html @@ -6,8 +6,8 @@ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="HarfBuzz Manual"> <link rel="up" href="pt01.html" title="Part I. User's manual"> -<link rel="prev" href="level-2.html" title="Level 2"> -<link rel="next" href="plans-and-caching.html" title="Plans and caching"> +<link rel="prev" href="fonts-and-faces-variable.html" title="Working with OpenType Variable Fonts"> +<link rel="next" href="shaping-opentype-features.html" title="OpenType features"> <meta name="generator" content="GTK-Doc V1.29 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> @@ -16,20 +16,127 @@ <td width="100%" align="left" class="shortcuts"></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="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="level-2.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="plans-and-caching.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +<td><a accesskey="p" href="fonts-and-faces-variable.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="shaping-opentype-features.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="chapter"> <div class="titlepage"><div><div><h2 class="title"> <a name="shaping-and-shape-plans"></a>Shaping and shape plans</h2></div></div></div> <div class="toc"><dl class="toc"> -<dt><span class="section"><a href="shaping-and-shape-plans.html#opentype-features">OpenType features</a></span></dt> -<dt><span class="section"><a href="plans-and-caching.html">Plans and caching</a></span></dt> +<dt><span class="section"><a href="shaping-and-shape-plans.html#shaping-buffer-output">Shaping and buffer output</a></span></dt> +<dt><span class="section"><a href="shaping-opentype-features.html">OpenType features</a></span></dt> +<dt><span class="section"><a href="shaping-shaper-selection.html">Shaper selection</a></span></dt> +<dt><span class="section"><a href="shaping-plans-and-caching.html">Plans and caching</a></span></dt> </dl></div> +<p> + Once you have your face and font objects configured as desired and + your input buffer is filled with the characters you need to shape, + all you need to do is call <code class="function">hb_shape()</code>. + </p> +<p> + HarfBuzz will return the shaped version of the text in the same + buffer that you provided, but it will be in output mode. At that + point, you can iterate through the glyphs in the buffer, drawing + each one at the specified position or handing them off to the + appropriate graphics library. + </p> +<p> + For the most part, HarfBuzz's shaping step is straightforward from + the outside. But that doesn't mean there will never be cases where + you want to look under the hood and see what is happening on the + inside. HarfBuzz provides facilities for doing that, too. + </p> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="opentype-features"></a>OpenType features</h2></div></div></div> +<a name="shaping-buffer-output"></a>Shaping and buffer output</h2></div></div></div> +<p> + The <code class="function">hb_shape()</code> function call takes four arguments: the font + object to use, the buffer of characters to shape, an array of + user-specified features to apply, and the length of that feature + array. The feature array can be NULL, so for the sake of + simplicity we will start with that case. + </p> +<p> + Internally, HarfBuzz looks at the tables of the font file to + determine where glyph classes, substitutions, and positioning + are defined, using that information to decide which + <span class="emphasis"><em>shaper</em></span> to use (<code class="literal">ot</code> for + OpenType fonts, <code class="literal">aat</code> for Apple Advanced + Typography fonts, and so on). It also looks at the direction, + script, and language properties of the segment to figure out + which script-specific shaping model is needed (at least, in + shapers that support multiple options). + </p> +<p> + If a font has a GDEF table, then that is used for + glyph classes; if not, HarfBuzz will fall back to Unicode + categorization by code point. If a font has an AAT "morx" table, + then it is used for substitutions; if not, but there is a GSUB + table, then the GSUB table is used. If the font has an AAT + "kerx" table, then it is used for positioning; if not, but + there is a GPOS table, then the GPOS table is used. If neither + table is found, but there is a "kern" table, then HarfBuzz will + use the "kern" table. If there is no "kerx", no GPOS, and no + "kern", HarfBuzz will fall back to positioning marks itself. + </p> +<p> + With a well-behaved OpenType font, you expect GDEF, GSUB, and + GPOS tables to all be applied. HarfBuzz implements the + script-specific shaping models in internal functions, rather + than in the public API. + </p> +<p> + The algorithms + used for complex scripts can be quite involved; HarfBuzz tries + to be compatible with the OpenType Layout specification + and, wherever there is any ambiguity, HarfBuzz attempts to replicate the + output of Microsoft's Uniscribe engine. See the <a class="ulink" href="https://docs.microsoft.com/en-us/typography/script-development/standard" target="_top">Microsoft + Typography pages</a> for more detail. + </p> +<p> + In general, though, all that you need to know is that + <code class="function">hb_shape()</code> returns the results of shaping + in the same buffer that you provided. The buffer's content type + will now be set to + <code class="literal">HB_BUFFER_CONTENT_TYPE_GLYPHS</code>, indicating + that it contains shaped output, rather than input text. You can + now extract the glyph information and positioning arrays: + </p> +<pre class="programlisting"> + hb_glyph_info_t *glyph_info = hb_buffer_get_glyph_infos(buf, &glyph_count); + hb_glyph_position_t *glyph_pos = hb_buffer_get_glyph_positions(buf, &glyph_count); + </pre> +<p> + The glyph information array holds a <span class="type">hb_glyph_info_t</span> + for each output glyph, which has two fields: + <em class="parameter"><code>codepoint</code></em> and + <em class="parameter"><code>cluster</code></em>. Whereas, in the input buffer, + the <em class="parameter"><code>codepoint</code></em> field contained the Unicode + code point, it now contains the glyph ID of the corresponding + glyph in the font. The <em class="parameter"><code>cluster</code></em> field is + an integer that you can use to help identify when shaping has + reordered, split, or combined code points; we will say more + about that in the next chapter. + </p> +<p> + The glyph positions array holds a corresponding + <span class="type">hb_glyph_position_t</span> for each output glyph, + containing four fields: <em class="parameter"><code>x_advance</code></em>, + <em class="parameter"><code>y_advance</code></em>, + <em class="parameter"><code>x_offset</code></em>, and + <em class="parameter"><code>y_offset</code></em>. The advances tell you how far + you need to move the drawing point after drawing this glyph, + depending on whether you are setting horizontal text (in which + case you will have x advances) or vertical text (for which you + will have y advances). The x and y offsets tell you where to + move to start drawing the glyph; usually you will have both and + x and a y offset, regardless of the text direction. + </p> <p> + Most of the time, you will rely on a font-rendering library or + other graphics library to do the actual drawing of glyphs, so + you will need to iterate through the glyphs in the buffer and + pass the corresponding values off. </p> </div> </div> diff --git a/docs/html/shaping-opentype-features.html b/docs/html/shaping-opentype-features.html new file mode 100644 index 0000000..2a22f12 --- /dev/null +++ b/docs/html/shaping-opentype-features.html @@ -0,0 +1,109 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>OpenType features: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="shaping-and-shape-plans.html" title="Shaping and shape plans"> +<link rel="prev" href="shaping-and-shape-plans.html" title="Shaping and shape plans"> +<link rel="next" href="shaping-shaper-selection.html" title="Shaper selection"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="shaping-and-shape-plans.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="shaping-and-shape-plans.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="shaping-shaper-selection.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="shaping-opentype-features"></a>OpenType features</h2></div></div></div> +<p> + OpenType features enable fonts to include smart behavior, + implemented as "lookup" rules stored in the GSUB and GPOS + tables. The OpenType specification defines a long list of + standard features that fonts can use for these behaviors; each + feature has a four-character reserved name and a well-defined + semantic meaning. + </p> +<p> + Some OpenType features are defined for the purpose of supporting + complex-script shaping, and are automatically activated, but + only when a buffer's script property is set to a script that the + feature supports. + </p> +<p> + Other features are more generic and can apply to several (or + any) script, and shaping engines are expected to implement + them. By default, HarfBuzz activates several of these features + on every text run. They include <code class="literal">abvm</code>, + <code class="literal">blwm</code>, <code class="literal">ccmp</code>, + <code class="literal">locl</code>, <code class="literal">mark</code>, + <code class="literal">mkmk</code>, and <code class="literal">rlig</code>. + </p> +<p> + In addition, if the text direction is horizontal, HarfBuzz + also applies the <code class="literal">calt</code>, + <code class="literal">clig</code>, <code class="literal">curs</code>, + <code class="literal">dist</code>, <code class="literal">kern</code>, + <code class="literal">liga</code>, <code class="literal">rclt</code>, + and <code class="literal">frac</code> features. + </p> +<p> + If the text direction is vertical, HarfBuzz applies + the <code class="literal">vert</code> feature by default. + </p> +<p> + Still other features are designed to be purely optional and left + up to the application or the end user to enable or disable as desired. + </p> +<p> + You can adjust the set of features that HarfBuzz applies to a + buffer by supplying an array of <span class="type">hb_feature_t</span> + features as the third argument to + <code class="function">hb_shape()</code>. For a simple case, let's just + enable the <code class="literal">dlig</code> feature, which turns on any + "discretionary" ligatures in the font: + </p> +<pre class="programlisting"> + hb_feature_t userfeatures[1]; + userfeatures[0].tag = HB_TAG('d','l','i','g'); + userfeatures[0].value = 1; + userfeatures[0].start = HB_FEATURE_GLOBAL_START; + userfeatures[0].end = HB_FEATURE_GLOBAL_END; + </pre> +<p> + <code class="literal">HB_FEATURE_GLOBAL_END</code> and + <code class="literal">HB_FEATURE_GLOBAL_END</code> are macros we can use + to indicate that the features will be applied to the entire + buffer. We could also have used a literal <code class="literal">0</code> + for the start and a <code class="literal">-1</code> to indicate the end of + the buffer (or have selected other start and end positions, if needed). + </p> +<p> + When we pass the <code class="varname">userfeatures</code> array to + <code class="function">hb_shape()</code>, any discretionary ligature + substitutions from our font that match the text in our buffer + will get performed: + </p> +<pre class="programlisting"> + hb_shape(font, buf, userfeatures, num_features); + </pre> +<p> + Just like we enabled the <code class="literal">dlig</code> feature by + setting its <em class="parameter"><code>value</code></em> to + <code class="literal">1</code>, you would disable a feature by setting its + <em class="parameter"><code>value</code></em> to <code class="literal">0</code>. Some + features can take other <em class="parameter"><code>value</code></em> settings; + be sure you read the full specification of each feature tag to + understand what it does and how to control it. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/shaping-plans-and-caching.html b/docs/html/shaping-plans-and-caching.html new file mode 100644 index 0000000..7a17f0f --- /dev/null +++ b/docs/html/shaping-plans-and-caching.html @@ -0,0 +1,85 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Plans and caching: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="shaping-and-shape-plans.html" title="Shaping and shape plans"> +<link rel="prev" href="shaping-shaper-selection.html" title="Shaper selection"> +<link rel="next" href="clusters.html" title="Clusters"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="shaping-and-shape-plans.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="shaping-shaper-selection.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="clusters.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="shaping-plans-and-caching"></a>Plans and caching</h2></div></div></div> +<p> + Internally, HarfBuzz uses a structure called a shape plan to + track its decisions about how to shape the contents of a + buffer. The <code class="function">hb_shape()</code> function builds up the shape plan by + examining segment properties and by inspecting the contents of + the font. + </p> +<p> + This process can involve some decision-making and + trade-offs — for example, HarfBuzz inspects the GSUB and GPOS + lookups for the script and language tags set on the segment + properties, but it falls back on the lookups under the + <code class="literal">DFLT</code> tag (and sometimes other common tags) + if there are actually no lookups for the tag requested. + </p> +<p> + HarfBuzz also includes some work-arounds for + handling well-known older font conventions that do not follow + OpenType or Unicode specifications, for buggy system fonts, and for + peculiarities of Microsoft Uniscribe. All of that means that a + shape plan, while not something that you should edit directly in + client code, still might be an object that you want to + inspect. Furthermore, if resources are tight, you might want to + cache the shape plan that HarfBuzz builds for your buffer and + font, so that you do not have to rebuild it for every shaping call. + </p> +<p> + You can create a cacheable shape plan with + <code class="function">hb_shape_plan_create_cached(face, props, + user_features, num_user_features, shaper_list)</code>, where + <em class="parameter"><code>face</code></em> is a face object (not a font object, + notably), <em class="parameter"><code>props</code></em> is an + <span class="type">hb_segment_properties_t</span>, + <em class="parameter"><code>user_features</code></em> is an array of + <span class="type">hb_feature_t</span>s (with length + <em class="parameter"><code>num_user_features</code></em>), and + <em class="parameter"><code>shaper_list</code></em> is a list of shapers to try. + </p> +<p> + Shape plans are objects in HarfBuzz, so there are + reference-counting functions and user-data attachment functions + you can + use. <code class="function">hb_shape_plan_reference(shape_plan)</code> + increases the reference count on a shape plan, while + <code class="function">hb_shape_plan_destroy(shape_plan)</code> decreases + the reference count, destroying the shape plan when the last + reference is dropped. + </p> +<p> + You can attach user data to a shaper (with a key) using the + <code class="function">hb_shape_plan_set_user_data(shape_plan,key,data,destroy,replace)</code> + function, optionally supplying a <code class="function">destroy</code> + callback to use. You can then fetch the user data attached to a + shape plan with + <code class="function">hb_shape_plan_get_user_data(shape_plan, key)</code>. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/shaping-shaper-selection.html b/docs/html/shaping-shaper-selection.html new file mode 100644 index 0000000..c6112ae --- /dev/null +++ b/docs/html/shaping-shaper-selection.html @@ -0,0 +1,65 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Shaper selection: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="shaping-and-shape-plans.html" title="Shaping and shape plans"> +<link rel="prev" href="shaping-opentype-features.html" title="OpenType features"> +<link rel="next" href="shaping-plans-and-caching.html" title="Plans and caching"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="shaping-and-shape-plans.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="shaping-opentype-features.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="shaping-plans-and-caching.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="shaping-shaper-selection"></a>Shaper selection</h2></div></div></div> +<p> + The basic version of <code class="function">hb_shape()</code> determines + its shaping strategy based on examining the capabilities of the + font file. OpenType font tables cause HarfBuzz to try the + <code class="literal">ot</code> shaper, while AAT font tables cause HarfBuzz to try the + <code class="literal">aat</code> shaper. + </p> +<p> + In the real world, however, a font might include some unusual + mix of tables, or one of the tables might simply be broken for + the script you need to shape. So, sometimes, you might not + want to rely on HarfBuzz's process for deciding what to do, and + just tell <code class="function">hb_shape()</code> what you want it to try. + </p> +<p> + <code class="function">hb_shape_full()</code> is an alternate shaping + function that lets you supply a list of shapers for HarfBuzz to + try, in order, when shaping your buffer. For example, if you + have determined that HarfBuzz's attempts to work around broken + tables gives you better results than the AAT shaper itself does, + you might move the AAT shaper to the end of your list of + preferences and call <code class="function">hb_shape_full()</code> + </p> +<pre class="programlisting"> + char *shaperprefs[3] = {"ot", "default", "aat"}; + ... + hb_shape_full(font, buf, userfeatures, num_features, shaperprefs); + </pre> +<p> + to get results you are happier with. + </p> +<p> + You may also want to call + <code class="function">hb_shape_list_shapers()</code> to get a list of + the shapers that were built at compile time in your copy of HarfBuzz. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/using-harfbuzzs-native-opentype-implementation.html b/docs/html/using-harfbuzzs-native-opentype-implementation.html deleted file mode 100644 index 1ee3f3e..0000000 --- a/docs/html/using-harfbuzzs-native-opentype-implementation.html +++ /dev/null @@ -1,31 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Using HarfBuzz's native OpenType implementation: HarfBuzz Manual</title> -<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> -<link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="fonts-and-faces.html" title="Fonts and faces"> -<link rel="prev" href="fonts-and-faces.html" title="Fonts and faces"> -<link rel="next" href="using-your-own-font-functions.html" title="Using your own font functions"> -<meta name="generator" content="GTK-Doc V1.29 (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"></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="fonts-and-faces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="fonts-and-faces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="using-your-own-font-functions.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> -</tr></table> -<div class="section"> -<div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="using-harfbuzzs-native-opentype-implementation"></a>Using HarfBuzz's native OpenType implementation</h2></div></div></div> -<p> - </p> -</div> -<div class="footer"> -<hr>Generated by GTK-Doc V1.29</div> -</body> -</html>
\ No newline at end of file diff --git a/docs/html/using-your-own-font-functions.html b/docs/html/using-your-own-font-functions.html deleted file mode 100644 index 53f33ac..0000000 --- a/docs/html/using-your-own-font-functions.html +++ /dev/null @@ -1,31 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Using your own font functions: HarfBuzz Manual</title> -<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> -<link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="fonts-and-faces.html" title="Fonts and faces"> -<link rel="prev" href="using-harfbuzzs-native-opentype-implementation.html" title="Using HarfBuzz's native OpenType implementation"> -<link rel="next" href="clusters.html" title="Clusters"> -<meta name="generator" content="GTK-Doc V1.29 (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"></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="fonts-and-faces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="using-harfbuzzs-native-opentype-implementation.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="clusters.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> -</tr></table> -<div class="section"> -<div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="using-your-own-font-functions"></a>Using your own font functions</h2></div></div></div> -<p> - </p> -</div> -<div class="footer"> -<hr>Generated by GTK-Doc V1.29</div> -</body> -</html>
\ No newline at end of file diff --git a/docs/html/utilities-common-types-apis.html b/docs/html/utilities-common-types-apis.html new file mode 100644 index 0000000..fbde14a --- /dev/null +++ b/docs/html/utilities-common-types-apis.html @@ -0,0 +1,84 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Common data types and APIs: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="utilities.html" title="Utilities"> +<link rel="prev" href="utilities.html" title="Utilities"> +<link rel="next" href="utilities-ucdn.html" title="UCDN"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="utilities.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="utilities.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="utilities-ucdn.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="utilities-common-types-apis"></a>Common data types and APIs</h2></div></div></div> +<p> + HarfBuzz includes several APIs for working with general-purpose + data that you may find convenient to leverage in your own + software. They include set operations and integer-to-integer + mapping operations. + </p> +<p> + HarfBuzz uses set operations for internal bookkeeping, such as + when it collects all of the glyph IDs covered by a particular + font feature. You can also use the set API to build sets, add + and remove elements, test whether or not sets contain particular + elements, or compute the unions, intersections, or differences + between sets. + </p> +<p> + All set elements are integers (specifically, + <span class="type">hb_codepoint_t</span> 32-bit unsigned ints), and there are + functions for fetching the minimum and maximum element from a + set. The set API also includes some functions that might not + be part of a generic set facility, such as the ability to add a + contiguous range of integer elements to a set in bulk, and the + ability to fetch the next-smallest or next-largest element. + </p> +<p> + The HarfBuzz set API includes some conveniences as well. All + sets are lifecycle-managed, just like other HarfBuzz + objects. You increase the reference count on a set with + <code class="function">hb_set_reference()</code> and decrease it with + <code class="function">hb_set_destroy()</code>. You can also attach + user data to a set, just like you can to blobs, buffers, faces, + fonts, and other objects, and set destroy callbacks. + </p> +<p> + HarfBuzz also provides an API for keeping track of + integer-to-integer mappings. As with the set API, each integer is + stored as an unsigned 32-bit <span class="type">hb_codepoint_t</span> + element. Maps, like other objects, are reference counted with + reference and destroy functions, and you can attach user data to + them. The mapping operations include adding and deleting + integer-to-integer key:value pairs to the map, testing for the + presence of a key, fetching the population of the map, and so on. + </p> +<p> + There are several other internal HarfBuzz facilities that are + exposed publicly and which you may want to take advantage of + while processing text. HarfBuzz uses a common + <span class="type">hb_tag_t</span> for a variety of OpenType tag identifiers (for + scripts, languages, font features, table names, variation-axis + names, and more), and provides functions for converting strings + to tags and vice-versa. + </p> +<p> + Finally, HarfBuzz also includes data type for Booleans, bit + masks, and other simple types. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/utilities-ucdn.html b/docs/html/utilities-ucdn.html new file mode 100644 index 0000000..0d932f9 --- /dev/null +++ b/docs/html/utilities-ucdn.html @@ -0,0 +1,49 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>UCDN: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="utilities.html" title="Utilities"> +<link rel="prev" href="utilities-common-types-apis.html" title="Common data types and APIs"> +<link rel="next" href="pt02.html" title="Part II. Reference manual"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="utilities.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="utilities-common-types-apis.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="pt02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="utilities-ucdn"></a>UCDN</h2></div></div></div> +<p> + HarfBuzz includes a copy of the <a class="ulink" href="https://github.com/grigorig/ucdn" target="_top">UCDN</a> (Unicode + Database and Normalization) library, which provides functions + for accessing basic Unicode character properties, performing + canonical composition, and performing both canonical and + compatibility decomposition. + </p> +<p> + Currently, UCDN supports direct queries for several more character + properties than HarfBuzz's built-in set of Unicode functions + does, such as the BiDirectional Class, East Asian Width, Paired + Bracket and Resolved Linebreak properties. If you need to access + more properties than HarfBuzz's internal implementation + provides, using the built-in UCDN functions may be a useful solution. + </p> +<p> + The built-in UCDN functions are compiled by default when + building HarfBuzz from source, but this can be disabled with a + compile-time switch. + </p> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/utilities.html b/docs/html/utilities.html new file mode 100644 index 0000000..05ff3ea --- /dev/null +++ b/docs/html/utilities.html @@ -0,0 +1,188 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Utilities: HarfBuzz Manual</title> +<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> +<link rel="home" href="index.html" title="HarfBuzz Manual"> +<link rel="up" href="pt01.html" title="Part I. User's manual"> +<link rel="prev" href="level-2.html" title="Level 2"> +<link rel="next" href="utilities-common-types-apis.html" title="Common data types and APIs"> +<meta name="generator" content="GTK-Doc V1.29 (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"></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="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> +<td><a accesskey="p" href="level-2.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> +<td><a accesskey="n" href="utilities-common-types-apis.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> +</tr></table> +<div class="chapter"> +<div class="titlepage"><div><div><h2 class="title"> +<a name="utilities"></a>Utilities</h2></div></div></div> +<div class="toc"><dl class="toc"> +<dt><span class="section"><a href="utilities.html#utilities-command-line-tools">Command-line tools</a></span></dt> +<dd><dl> +<dt><span class="section"><a href="utilities.html#utilities-command-line-hbshape">hb-shape</a></span></dt> +<dt><span class="section"><a href="utilities.html#utilities-command-line-hbview">hb-view</a></span></dt> +<dt><span class="section"><a href="utilities.html#utilities-command-line-hbsubset">hb-subset</a></span></dt> +</dl></dd> +<dt><span class="section"><a href="utilities-common-types-apis.html">Common data types and APIs</a></span></dt> +<dt><span class="section"><a href="utilities-ucdn.html">UCDN</a></span></dt> +</dl></div> +<p> + HarfBuzz includes several auxiliary components in addition to the + main APIs. These include a set of command-line tools, a set of + lower-level APIs for common data types that may be of interest to + client programs, and an embedded library for working with + Unicode Character Database (UCD) data. + </p> +<div class="section"> +<div class="titlepage"><div><div><h2 class="title" style="clear: both"> +<a name="utilities-command-line-tools"></a>Command-line tools</h2></div></div></div> +<p> + HarfBuzz include three command-line tools: + <span style="color: red"><program>hb-shape</program></span>, <span style="color: red"><program>hb-view</program></span>, and + <span style="color: red"><program>hb-subset</program></span>. They can be used to examine + HarfBuzz's functionality, debug font binaries, or explore the + various shaping models and features from a terminal. + </p> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="utilities-command-line-hbshape"></a>hb-shape</h3></div></div></div> +<p> + <span class="emphasis"><em><span style="color: red"><program>hb-shape</program></span></em></span> allows you to run HarfBuzz's + <code class="function">hb_shape()</code> function on an input string and + to examine the outcome, in human-readable form, as terminal + output. <span style="color: red"><program>hb-shape</program></span> does + <span class="emphasis"><em>not</em></span> render the results of the shaping call + into rendered text (you can use <span style="color: red"><program>hb-view</program></span>, below, for + that). Instead, it prints out the final glyph indices and + positions, taking all shaping operations into account, as if the + input string were a HarfBuzz input buffer. + </p> +<p> + You can specify the font to be used for shaping and, with + command-line options, you can add various aspects of the + internal state to the output that is sent to the terminal. The + general format is + </p> +<pre class="programlisting"> + <span class="command"><strong>hb-shape</strong></span> [<span class="optional">[OPTIONS]</span>] + <em class="parameter"><code>path/to/font/file.ttf</code></em> + <em class="parameter"><code>yourinputtext</code></em> + </pre> +<p> + The default output format is plain text (although JSON output + can be selected instead by specifying the option + [<span class="optional">--output-format=json</span>]). The default output + syntax reports each glyph name (or glyph index if there is no + name) followed by its cluster value, its horizontal and vertical + position displacement, and its horizontal and vertical advances. + </p> +<p> + Output options exist to skip any of these elements in the + output, and to include additional data, such as Unicode + code-point values, glyph extents, glyph flags, or interim + shaping results. + </p> +<p> + Output can also be redirected to a file, or input read from a + file. Additional options enable you to enable or disable + specific font features, to set variation-font axis values, to + alter the language, script, direction, and clustering settings + used, to enable sanity checks, or to change which shaping engine is used. + </p> +<p> + For a complete explanation of the options available, run + </p> +<pre class="programlisting"> + <span class="command"><strong>hb-shape</strong></span> <em class="parameter"><code>--help</code></em> + </pre> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="utilities-command-line-hbview"></a>hb-view</h3></div></div></div> +<p> + <span class="emphasis"><em><span style="color: red"><program>hb-view</program></span></em></span> allows you to + see the shaped output of an input string in rendered + form. Like <span style="color: red"><program>hb-shape</program></span>, + <span style="color: red"><program>hb-view</program></span> takes a font file and a text string + as its arguments: + </p> +<pre class="programlisting"> + <span class="command"><strong>hb-view</strong></span> [<span class="optional">[OPTIONS]</span>] + <em class="parameter"><code>path/to/font/file.ttf</code></em> + <em class="parameter"><code>yourinputtext</code></em> + </pre> +<p> + By default, <span style="color: red"><program>hb-view</program></span> renders the shaped + text in ASCII block-character images as terminal output. By + appending the + <span class="command"><strong>--output-file=[<span class="optional">filename</span>]</strong></span> + switch, you can write the output to a PNG, SVG, or PDF file + (among other formats). + </p> +<p> + As with <span style="color: red"><program>hb-shape</program></span>, a lengthy set of options + is available, with which you can enable or disable + specific font features, set variation-font axis values, + alter the language, script, direction, and clustering settings + used, enable sanity checks, or change which shaping engine is + used. + </p> +<p> + You can also set the foreground and background colors used for + the output, independently control the width of all four + margins, alter the line spacing, and annotate the output image + with + </p> +<p> + In general, <span style="color: red"><program>hb-view</program></span> is a quick way to + verify that the output of HarfBuzz's shaping operation looks + correct for a given text-and-font combination, but you may + want to use <span style="color: red"><program>hb-shape</program></span> to figure out exactly + why something does not appear as expected. + </p> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="utilities-command-line-hbsubset"></a>hb-subset</h3></div></div></div> +<p> + <span class="emphasis"><em><span style="color: red"><program>hb-subset</program></span></em></span> allows you + to generate a subset of a given font, with a limited set of + supported characters, features, and variation settings. + </p> +<p> + By default, you provide an input font and an input text string + as the arguments to <span style="color: red"><program>hb-subset</program></span>, and it will + generate a font that covers the input text exactly like the + input font does, but includes no other characters or features. + </p> +<pre class="programlisting"> + <span class="command"><strong>hb-subset</strong></span> [<span class="optional">[OPTIONS]</span>] + <em class="parameter"><code>path/to/font/file.ttf</code></em> + <em class="parameter"><code>yourinputtext</code></em> + </pre> +<p> + For example, to create a subset of Noto Serif that just includes the + numerals and the lowercase Latin alphabet, you could run + </p> +<pre class="programlisting"> + <span class="command"><strong>hb-subset</strong></span> [<span class="optional">[OPTIONS]</span>] + <em class="parameter"><code>NotoSerif-Regular.ttf</code></em> + <em class="parameter"><code>0123456789abcdefghijklmnopqrstuvwxyz</code></em> + </pre> +<p> + There are options available to remove hinting from the + subsetted font and to specify a list of variation-axis settings. + </p> +</div> +</div> +</div> +<div class="footer"> +<hr>Generated by GTK-Doc V1.29</div> +</body> +</html>
\ No newline at end of file diff --git a/docs/html/what-about-the-other-scripts.html b/docs/html/what-about-the-other-scripts.html deleted file mode 100644 index edb7235..0000000 --- a/docs/html/what-about-the-other-scripts.html +++ /dev/null @@ -1,31 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>What about the other scripts?: HarfBuzz Manual</title> -<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> -<link rel="home" href="index.html" title="HarfBuzz Manual"> -<link rel="up" href="buffers-language-script-and-direction.html" title="Buffers, language, script and direction"> -<link rel="prev" href="setting-buffer-properties.html" title="Setting buffer properties"> -<link rel="next" href="customizing-unicode-functions.html" title="Customizing Unicode functions"> -<meta name="generator" content="GTK-Doc V1.29 (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"></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="buffers-language-script-and-direction.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> -<td><a accesskey="p" href="setting-buffer-properties.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> -<td><a accesskey="n" href="customizing-unicode-functions.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> -</tr></table> -<div class="section"> -<div class="titlepage"><div><div><h2 class="title" style="clear: both"> -<a name="what-about-the-other-scripts"></a>What about the other scripts?</h2></div></div></div> -<p> - </p> -</div> -<div class="footer"> -<hr>Generated by GTK-Doc V1.29</div> -</body> -</html>
\ No newline at end of file diff --git a/docs/html/why-do-i-need-a-shaping-engine.html b/docs/html/why-do-i-need-a-shaping-engine.html index e340ac5..fb61aed 100644 --- a/docs/html/why-do-i-need-a-shaping-engine.html +++ b/docs/html/why-do-i-need-a-shaping-engine.html @@ -97,9 +97,9 @@ </p> <p> For example, in Tamil, when the letter "TTA" (ட) - letter is followed by "U" (உ), the pair + letter is followed by the vowel sign "U" (ு), the pair must be replaced by the single glyph "டு". The - sequence of Unicode characters "டஉ" needs to be + sequence of Unicode characters "ட,ு" needs to be substituted with a single "டு" glyph from the font. </p> diff --git a/docs/html/working-with-harfbuzz-clusters.html b/docs/html/working-with-harfbuzz-clusters.html index 74ffd3b..1fab4ad 100644 --- a/docs/html/working-with-harfbuzz-clusters.html +++ b/docs/html/working-with-harfbuzz-clusters.html @@ -76,18 +76,20 @@ order. </p> <p> - For left-to-right scripts (LTR) and top-to-bottom scripts (TTB), + For buffers in the left-to-right (LTR) + or top-to-bottom (TTB) text flow direction, HarfBuzz will preserve the monotonic property: client programs - are guaranteed that monotonically increasing initial clulster + are guaranteed that monotonically increasing initial cluster values will be returned as monotonically increasing final cluster values. </p> <p> - For right-to-left scripts (RTL) and bottom-to-top scripts (BTT), + For buffers in the right-to-left (RTL) + or bottom-to-top (BTT) text flow direction, the directionality of the buffer itself is reversed for final output as a matter of design. Therefore, HarfBuzz inverts the monotonic property: client programs are guaranteed that - monotonically increasing initial clulster values will be + monotonically increasing initial cluster values will be returned as monotonically <span class="emphasis"><em>decreasing</em></span> final cluster values. </p> diff --git a/docs/usermanual-buffers-language-script-and-direction.xml b/docs/usermanual-buffers-language-script-and-direction.xml index 1c6b5da..2865426 100644 --- a/docs/usermanual-buffers-language-script-and-direction.xml +++ b/docs/usermanual-buffers-language-script-and-direction.xml @@ -7,30 +7,38 @@ <chapter id="buffers-language-script-and-direction"> <title>Buffers, language, script and direction</title> <para> - The input to HarfBuzz is a series of Unicode characters, stored in a + The input to the HarfBuzz shaper is a series of Unicode characters, stored in a buffer. In this chapter, we'll look at how to set up a buffer with - the text that we want and then customize the properties of the - buffer. + the text that we want and how to customize the properties of the + buffer. We'll also look at a piece of lower-level machinery that + you will need to understand before proceeding: the functions that + HarfBuzz uses to retrieve Unicode information. + </para> + <para> + After shaping is complete, HarfBuzz puts its output back + into the buffer. But getting that output requires setting up a + face and a font first, so we will look at that in the next chapter + instead of here. </para> <section id="creating-and-destroying-buffers"> <title>Creating and destroying buffers</title> <para> As we saw in our <emphasis>Getting Started</emphasis> example, a buffer is created and - initialized with <literal>hb_buffer_create()</literal>. This + initialized with <function>hb_buffer_create()</function>. This produces a new, empty buffer object, instantiated with some default values and ready to accept your Unicode strings. </para> <para> HarfBuzz manages the memory of objects (such as buffers) that it creates, so you don't have to. When you have finished working on - a buffer, you can call <literal>hb_buffer_destroy()</literal>: + a buffer, you can call <function>hb_buffer_destroy()</function>: </para> <programlisting language="C"> - hb_buffer_t *buffer = hb_buffer_create(); - ... - hb_buffer_destroy(buffer); -</programlisting> + hb_buffer_t *buf = hb_buffer_create(); + ... + hb_buffer_destroy(buf); + </programlisting> <para> This will destroy the object and free its associated memory - unless some other part of the program holds a reference to this @@ -39,46 +47,364 @@ else destroying it, you should increase its reference count: </para> <programlisting language="C"> -void somefunc(hb_buffer_t *buffer) { - buffer = hb_buffer_reference(buffer); - ... -</programlisting> + void somefunc(hb_buffer_t *buf) { + buf = hb_buffer_reference(buf); + ... + </programlisting> <para> And then decrease it once you're done with it: </para> <programlisting language="C"> - hb_buffer_destroy(buffer); -} -</programlisting> + hb_buffer_destroy(buf); + } + </programlisting> + <para> + While we are on the subject of reference-counting buffers, it is + worth noting that an individual buffer can only meaningfully be + used by one thread at a time. + </para> <para> To throw away all the data in your buffer and start from scratch, - call <literal>hb_buffer_reset(buffer)</literal>. If you want to + call <function>hb_buffer_reset(buf)</function>. If you want to throw away the string in the buffer but keep the options, you can - instead call <literal>hb_buffer_clear_contents(buffer)</literal>. + instead call <function>hb_buffer_clear_contents(buf)</function>. </para> </section> + <section id="adding-text-to-the-buffer"> <title>Adding text to the buffer</title> <para> Now we have a brand new HarfBuzz buffer. Let's start filling it with text! From HarfBuzz's perspective, a buffer is just a stream - of Unicode codepoints, but your input string is probably in one of - the standard Unicode character encodings (UTF-8, UTF-16, UTF-32) + of Unicode code points, but your input string is probably in one of + the standard Unicode character encodings (UTF-8, UTF-16, or + UTF-32). HarfBuzz provides convenience functions that accept + each of these encodings: + <function>hb_buffer_add_utf8()</function>, + <function>hb_buffer_add_utf16()</function>, and + <function>hb_buffer_add_utf32()</function>. Other than the + character encoding they accept, they function identically. + </para> + <para> + You can add UTF-8 text to a buffer by passing in the text array, + the array's length, an offset into the array for the first + character to add, and the length of the segment to add: </para> + <programlisting language="C"> + hb_buffer_add_utf8 (hb_buffer_t *buf, + const char *text, + int text_length, + unsigned int item_offset, + int item_length) + </programlisting> + <para> + So, in practice, you can say: + </para> + <programlisting language="C"> + hb_buffer_add_utf8(buf, text, strlen(text), 0, strlen(text)); + </programlisting> + <para> + This will append your new characters to + <parameter>buf</parameter>, not replace its existing + contents. Also, note that you can use <literal>-1</literal> in + place of the first instance of <function>strlen(text)</function> + if your text array is NULL-terminated. Similarly, you can also use + <literal>-1</literal> as the final argument want to add its full + contents. + </para> + <para> + Whatever start <parameter>item_offset</parameter> and + <parameter>item_length</parameter> you provide, HarfBuzz will also + attempt to grab the five characters <emphasis>before</emphasis> + the offset point and the five characters + <emphasis>after</emphasis> the designated end. These are the + before and after "context" segments, which are used internally + for HarfBuzz to make shaping decisions. They will not be part of + the final output, but they ensure that HarfBuzz's + script-specific shaping operations are correct. If there are + fewer than five characters available for the before or after + contexts, HarfBuzz will just grab what is there. + </para> + <para> + For longer text runs, such as full paragraphs, it might be + tempting to only add smaller sub-segments to a buffer and + shape them in piecemeal fashion. Generally, this is not a good + idea, however, because a lot of shaping decisions are + dependent on this context information. For example, in Arabic + and other connected scripts, HarfBuzz needs to know the code + points before and after each character in order to correctly + determine which glyph to return. + </para> + <para> + The safest approach is to add all of the text available, then + use <parameter>item_offset</parameter> and + <parameter>item_length</parameter> to indicate which characters you + want shaped, so that HarfBuzz has access to any context. + </para> + <para> + You can also add Unicode code points directly with + <function>hb_buffer_add_codepoints()</function>. The arguments + to this function are the same as those for the UTF + encodings. But it is particularly important to note that + HarfBuzz does not do validity checking on the text that is added + to a buffer. Invalid code points will be replaced, but it is up + to you to do any deep-sanity checking necessary. + </para> + </section> + <section id="setting-buffer-properties"> <title>Setting buffer properties</title> <para> + Buffers containing input characters still need several + properties set before HarfBuzz can shape their text correctly. + </para> + <para> + Initially, all buffers are set to the + <literal>HB_BUFFER_CONTENT_TYPE_INVALID</literal> content + type. After adding text, the buffer should be set to + <literal>HB_BUFFER_CONTENT_TYPE_UNICODE</literal> instead, which + indicates that it contains un-shaped input + characters. After shaping, the buffer will have the + <literal>HB_BUFFER_CONTENT_TYPE_GLYPHS</literal> content type. + </para> + <para> + <function>hb_buffer_add_utf8()</function> and the + other UTF functions set the content type of their buffer + automatically. But if you are reusing a buffer you may want to + check its state with + <function>hb_buffer_get_content_type(buffer)</function>. If + necessary you can set the content type with + </para> + <programlisting language="C"> + hb_buffer_set_content_type(buf, HB_BUFFER_CONTENT_TYPE_UNICODE); + </programlisting> + <para> + to prepare for shaping. + </para> + <para> + Buffers also need to carry information about the script, + language, and text direction of their contents. You can set + these properties individually: + </para> + <programlisting language="C"> + hb_buffer_set_direction(buf, HB_DIRECTION_LTR); + hb_buffer_set_script(buf, HB_SCRIPT_LATIN); + hb_buffer_set_language(buf, hb_language_from_string("en", -1)); + </programlisting> + <para> + However, since these properties are often the repeated for + multiple text runs, you can also save them in a + <literal>hb_segment_properties_t</literal> for reuse: + </para> + <programlisting language="C"> + hb_segment_properties_t *savedprops; + hb_buffer_get_segment_properties (buf, savedprops); + ... + hb_buffer_set_segment_properties (buf2, savedprops); + </programlisting> + <para> + HarfBuzz also provides getter functions to retrieve a buffer's + direction, script, and language properties individually. + </para> + <para> + HarfBuzz recognizes four text directions in + <type>hb_direction_t</type>: left-to-right + (<literal>HB_DIRECTION_LTR</literal>), right-to-left (<literal>HB_DIRECTION_RTL</literal>), + top-to-bottom (<literal>HB_DIRECTION_TTB</literal>), and + bottom-to-top (<literal>HB_DIRECTION_BTT</literal>). For the + script property, HarfBuzz uses identifiers based on the + <ulink + url="https://unicode.org/iso15924/">ISO 15924 + standard</ulink>. For languages, HarfBuzz uses tags based on the + <ulink url="https://tools.ietf.org/html/bcp47">IETF BCP 47</ulink> standard. + </para> + <para> + Helper functions are provided to convert character strings into + the necessary script and language tag types. + </para> + <para> + Two additional buffer properties to be aware of are the + "invisible glyph" and the replacement code point. The + replacement code point is inserted into buffer output in place of + any invalid code points encountered in the input. By default, it + is the Unicode <literal>REPLACEMENT CHARACTER</literal> code + point, <literal>U+FFFD</literal> "�". You can change this with + </para> + <programlisting language="C"> + hb_buffer_set_replacement_codepoint(buf, replacement); + </programlisting> + <para> + passing in the replacement Unicode code point as the + <parameter>replacement</parameter> parameter. </para> - </section> - <section id="what-about-the-other-scripts"> - <title>What about the other scripts?</title> <para> + The invisible glyph is used to replace all output glyphs that + are invisible. By default, the standard space character + <literal>U+0020</literal> is used; you can replace this (for + example, when using a font that provides script-specific + spaces) with + </para> + <programlisting language="C"> + hb_buffer_set_invisible_glyph(buf, replacement_glyph); + </programlisting> + <para> + Do note that in the <parameter>replacement_glyph</parameter> + parameter, you must provide the glyph ID of the replacement you + wish to use, not the Unicode code point. + </para> + <para> + HarfBuzz supports a few additional flags you might want to set + on your buffer under certain circumstances. The + <literal>HB_BUFFER_FLAG_BOT</literal> and + <literal>HB_BUFFER_FLAG_EOT</literal> flags tell HarfBuzz + that the buffer represents the beginning or end (respectively) + of a text element (such as a paragraph or other block). Knowing + this allows HarfBuzz to apply certain contextual font features + when shaping, such as initial or final variants in connected + scripts. + </para> + <para> + <literal>HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES</literal> + tells HarfBuzz not to hide glyphs with the + <literal>Default_Ignorable</literal> property in Unicode. This + property designates control characters and other non-printing + code points, such as joiners and variation selectors. Normally + HarfBuzz replaces them in the output buffer with zero-width + space glyphs (using the "invisible glyph" property discussed + above); setting this flag causes them to be printed, which can + be helpful for troubleshooting. + </para> + <para> + Conversely, setting the + <literal>HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES</literal> flag + tells HarfBuzz to remove <literal>Default_Ignorable</literal> + glyphs from the output buffer entirely. Finally, setting the + <literal>HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE</literal> + flag tells HarfBuzz not to insert the dotted-circle glyph + (<literal>U+25CC</literal>, "◌"), which is normally + inserted into buffer output when broken character sequences are + encountered (such as combining marks that are not attached to a + base character). </para> </section> + <section id="customizing-unicode-functions"> <title>Customizing Unicode functions</title> <para> + HarfBuzz requires some simple functions for accessing + information from the Unicode Character Database (such as the + <literal>General_Category</literal> (gc) and + <literal>Script</literal> (sc) properties) that is useful + for shaping, as well as some useful operations like composing and + decomposing code points. + </para> + <para> + HarfBuzz includes its own internal, lightweight set of Unicode + functions. At build time, it is also possible to compile support + for some other options, such as the Unicode functions provided + by GLib or the International Components for Unicode (ICU) + library. Generally, this option is only of interest for client + programs that have specific integration requirements or that do + a significant amount of customization. + </para> + <para> + If your program has access to other Unicode functions, however, + such as through a system library or application framework, you + might prefer to use those instead of the built-in + options. HarfBuzz supports this by implementing its Unicode + functions as a set of virtual methods that you can replace — + without otherwise affecting HarfBuzz's functionality. + </para> + <para> + The Unicode functions are specified in a structure called + <literal>unicode_funcs</literal> which is attached to each + buffer. But even though <literal>unicode_funcs</literal> is + associated with a <type>hb_buffer_t</type>, the functions + themselves are called by other HarfBuzz APIs that access + buffers, so it would be unwise for you to hook different + functions into different buffers. + </para> + <para> + In addition, you can mark your <literal>unicode_funcs</literal> + as immutable by calling + <function>hb_unicode_funcs_make_immutable (ufuncs)</function>. + This is especially useful if your code is a + library or framework that will have its own client programs. By + marking your Unicode function choices as immutable, you prevent + your own client programs from changing the + <literal>unicode_funcs</literal> configuration and introducing + inconsistencies and errors downstream. + </para> + <para> + You can retrieve the Unicode-functions configuration for + your buffer by calling <function>hb_buffer_get_unicode_funcs()</function>: + </para> + <programlisting language="C"> + hb_unicode_funcs_t *ufunctions; + ufunctions = hb_buffer_get_unicode_funcs(buf); + </programlisting> + <para> + The current version of <literal>unicode_funcs</literal> uses six functions: + </para> + <itemizedlist> + <listitem> + <para> + <function>hb_unicode_combining_class_func_t</function>: + returns the Canonical Combining Class of a code point. + </para> + </listitem> + <listitem> + <para> + <function>hb_unicode_general_category_func_t</function>: + returns the General Category (gc) of a code point. + </para> + </listitem> + <listitem> + <para> + <function>hb_unicode_mirroring_func_t</function>: returns + the Mirroring Glyph code point (for bi-directional + replacement) of a code point. + </para> + </listitem> + <listitem> + <para> + <function>hb_unicode_script_func_t</function>: returns the + Script (sc) property of a code point. + </para> + </listitem> + <listitem> + <para> + <function>hb_unicode_compose_func_t</function>: returns the + canonical composition of a sequence of two code points. + </para> + </listitem> + <listitem> + <para> + <function>hb_unicode_decompose_func_t</function>: returns + the canonical decomposition of a code point. + </para> + </listitem> + </itemizedlist> + <para> + Note, however, that future HarfBuzz releases may alter this set. + </para> + <para> + Each Unicode function has a corresponding setter, with which you + can assign a callback to your replacement function. For example, + to replace + <function>hb_unicode_general_category_func_t</function>, you can call + </para> + <programlisting language="C"> + hb_unicode_funcs_set_general_category_func (*ufuncs, func, *user_data, destroy) + </programlisting> + <para> + Virtualizing this set of Unicode functions is primarily intended + to improve portability. There is no need for every client + program to make the effort to replace the default options, so if + you are unsure, do not feel any pressure to customize + <literal>unicode_funcs</literal>. </para> </section> + </chapter> diff --git a/docs/usermanual-clusters.xml b/docs/usermanual-clusters.xml index b8d9191..9147ff0 100644 --- a/docs/usermanual-clusters.xml +++ b/docs/usermanual-clusters.xml @@ -156,18 +156,20 @@ order. </para> <para> - For left-to-right scripts (LTR) and top-to-bottom scripts (TTB), + For buffers in the left-to-right (LTR) + or top-to-bottom (TTB) text flow direction, HarfBuzz will preserve the monotonic property: client programs - are guaranteed that monotonically increasing initial clulster + are guaranteed that monotonically increasing initial cluster values will be returned as monotonically increasing final cluster values. </para> <para> - For right-to-left scripts (RTL) and bottom-to-top scripts (BTT), + For buffers in the right-to-left (RTL) + or bottom-to-top (BTT) text flow direction, the directionality of the buffer itself is reversed for final output as a matter of design. Therefore, HarfBuzz inverts the monotonic property: client programs are guaranteed that - monotonically increasing initial clulster values will be + monotonically increasing initial cluster values will be returned as monotonically <emphasis>decreasing</emphasis> final cluster values. </para> diff --git a/docs/usermanual-fonts-and-faces.xml b/docs/usermanual-fonts-and-faces.xml index 5536004..1258bec 100644 --- a/docs/usermanual-fonts-and-faces.xml +++ b/docs/usermanual-fonts-and-faces.xml @@ -5,20 +5,449 @@ <!ENTITY version SYSTEM "version.xml"> ]> <chapter id="fonts-and-faces"> - <title>Fonts and faces</title> - <section id="using-freetype"> - <title>Using FreeType</title> + <title>Fonts, faces, and output</title> + <para> + In the previous chapter, we saw how to set up a buffer and fill + it with text as Unicode code points. In order to shape this + buffer text with HarfBuzz, you will need also need a font + object. + </para> + <para> + HarfBuzz provides abstractions to help you cache and reuse the + heavier parts of working with binary fonts, so we will look at + how to do that. We will also look at how to work with the + FreeType font-rendering library and at how you can customize + HarfBuzz to work with other libraries. + </para> + <para> + Finally, we will look at how to work with OpenType variable + fonts, the latest update to the OpenType font format, and at + some other recent additions to OpenType. + </para> + + <section id="fonts-and-faces-objects"> + <title>Font and face objects</title> + <para> + The outcome of shaping a run of text depends on the contents of + a specific font file (such as the substitutions and positioning + moves in the 'GSUB' and 'GPOS' tables), so HarfBuzz makes + accessing those internals fast. + </para> + <para> + An <type>hb_face_t</type> represents a <emphasis>face</emphasis> + in HarfBuzz. This data type is a wrapper around an + <type>hb_blob_t</type> blob that holds the contents of a binary + font file. Since HarfBuzz supports TrueType Collections and + OpenType Collections (each of which can include multiple + typefaces), a HarfBuzz face also requires an index number + specifying which typeface in the file you want to use. Most of + the font files you will encounter in the wild include just a + single face, however, so most of the time you would pass in + <literal>0</literal> as the index when you create a face: + </para> + <programlisting language="C"> + hb_blob_t* blob = hb_blob_create_from_file(file); + ... + hb_face_t* face = hb_face_create(blob, 0); + </programlisting> + <para> + On its own, a face object is not quite ready to use for + shaping. The typeface must be set to a specific point size in + order for some details (such as hinting) to work. In addition, + if the font file in question is an OpenType Variable Font, then + you may need to specify one or variation-axis settings (or a + named instance) in order to get the output you need. + </para> + <para> + In HarfBuzz, you do this by creating a <emphasis>font</emphasis> + object from your face. + </para> + <para> + Font objects also have the advantage of being considerably + lighter-weight than face objects (remember that a face contains + the contents of a binary font file mapped into memory). As a + result, you can cache and reuse a font object, but you could + also create a new one for each additional size you needed. + Creating new fonts incurs some additional overhead, of course, + but whether or not it is excessive is your call in the end. In + contrast, face objects are substantially larger, and you really + should cache them and reuse them whenever possible. + </para> + <para> + You can create a font object from a face object: + </para> + <programlisting language="C"> + hb_font_t* hb_font = hb_font_create(hb_face); + </programlisting> + <para> + After creating a font, there are a few properties you should + set. Many fonts enable and disable hints based on the size it + is used at, so setting this is important for font + objects. <function>hb_font_set_ppem(font, x_ppem, + y_ppem)</function> sets the pixels-per-EM value of the font. You + can also set the point size of the font with + <function>hb_font_set_ptem(font, ptem)</function>. HarfBuzz uses the + industry standard 72 points per inch. + </para> + <para> + HarfBuzz lets you specify the degree subpixel precision you want + through a scaling factor. You can set horizontal and + vertical scaling factors on the + font by calling <function>hb_font_set_scale(font, x_scale, + y_scale)</function>. + </para> + <para> + There may be times when you are handed a font object and need to + access the face object that it comes from. For that, you can call + </para> + <programlisting language="C"> + hb_face = hb_font_get_face(hb_font); + </programlisting> + <para> + You can also create a font object from an existing font object + using the <function>hb_font_create_sub_font()</function> + function. This creates a child font object that is initiated + with the same attributes as its parent; it can be used to + quickly set up a new font for the purpose of overriding a specific + font-functions method. + </para> <para> + All face objects and font objects are lifecycle-managed by + HarfBuzz. After creating a face, you increase its reference + count with <function>hb_face_reference(face)</function> and + decrease it with + <function>hb_face_destroy(face)</function>. Likewise, you + increase the reference count on a font with + <function>hb_font_reference(font)</function> and decrease it + with <function>hb_font_destroy(font)</function>. + </para> + <para> + You can also attach user data to face objects and font objects. </para> </section> - <section id="using-harfbuzzs-native-opentype-implementation"> - <title>Using HarfBuzz's native OpenType implementation</title> + + <section id="fonts-and-faces-custom-functions"> + <title>Customizing font functions</title> + <para> + During shaping, HarfBuzz frequently needs to query font objects + to get at the contents and parameters of the glyphs in a font + file. It includes a built-in set of functions that is tailored + to working with OpenType fonts. However, as was the case with + Unicode functions in the buffers chapter, HarfBuzz also wants to + make it easy for you to assign a substitute set of font + functions if you are developing a program to work with a library + or platform that provides its own font functions. + </para> + <para> + Therefore, the HarfBuzz API defines a set of virtual + methods for accessing font-object properties, and you can + replace the defaults with your own selections without + interfering with the shaping process. Each font object in + HarfBuzz includes a structure called + <literal>font_funcs</literal> that serves as a vtable for the + font object. The virtual methods in + <literal>font_funcs</literal> are: + </para> + <itemizedlist> + <listitem> + <para> + <function>hb_font_get_font_h_extents_func_t</function>: returns + the extents of the font for horizontal text. + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_font_v_extents_func_t</function>: returns + the extents of the font for vertical text. + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_nominal_glyph_func_t</function>: returns + the font's nominal glyph for a given code point. + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_variation_glyph_func_t</function>: returns + the font's glyph for a given code point when it is followed by a + given Variation Selector. + </para> + </listitem> + <listitem> <para> + <function>hb_font_get_nominal_glyphs_func_t</function>: returns + the font's nominal glyphs for a series of code points. + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_glyph_advance_func_t</function>: returns + the advance for a glyph. + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_glyph_h_advance_func_t</function>: returns + the advance for a glyph for horizontal text. + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_glyph_v_advance_func_t</function>:returns + the advance for a glyph for vertical text. + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_glyph_advances_func_t</function>: returns + the advances for a series of glyphs. + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_glyph_h_advances_func_t</function>: returns + the advances for a series of glyphs for horizontal text . + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_glyph_v_advances_func_t</function>: returns + the advances for a series of glyphs for vertical text. + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_glyph_origin_func_t</function>: returns + the origin coordinates of a glyph. + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_glyph_h_origin_func_t</function>: returns + the origin coordinates of a glyph for horizontal text. + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_glyph_v_origin_func_t</function>: returns + the origin coordinates of a glyph for vertical text. + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_glyph_extents_func_t</function>: returns + the extents for a glyph. + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_glyph_contour_point_func_t</function>: + returns the coordinates of a specific contour point from a glyph. + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_glyph_name_func_t</function>: returns the + name of a glyph (from its glyph index). + </para> + </listitem> + <listitem> + <para> + <function>hb_font_get_glyph_from_name_func_t</function>: returns + the glyph index that corresponds to a given glyph name. + </para> + </listitem> + </itemizedlist> + <para> + You can fetch the font-functions configuration for a font object + by calling <function>hb_font_get_font_funcs()</function>: + </para> + <programlisting language="C"> + hb_font_funcs_t *ffunctions; + ffunctions = hb_font_get_font_funcs (font); + </programlisting> + <para> + The individual methods can each be replaced with their own setter + function, such as + <function>hb_font_funcs_set_nominal_glyph_func(*ffunctions, + func, *user_data, destroy)</function>. + </para> + <para> + Font-functions structures can be reused for multiple font + objects, and can be reference counted with + <function>hb_font_funcs_reference()</function> and + <function>hb_font_funcs_destroy()</function>. Just like other + objects in HarfBuzz, you can set user-data for each + font-functions structure and assign a destroy callback for + it. + </para> + <para> + You can also mark a font-functions structure as immutable, + with <function>hb_font_funcs_make_immutable()</function>. This + is especially useful if your code is a library or framework that + will have its own client programs. By marking your + font-functions structures as immutable, you prevent your client + programs from changing the configuration and introducing + inconsistencies and errors downstream. </para> </section> - <section id="using-your-own-font-functions"> - <title>Using your own font functions</title> + + <section id="fonts-and-faces-native-opentype"> + <title>Font objects and HarfBuzz's native OpenType implementation</title> + <para> + By default, whenever HarfBuzz creates a font object, it will + configure the font to use a built-in set of font functions that + supports contemporary OpenType font internals. If you want to + work with OpenType or TrueType fonts, you should be able to use + these functions without difficulty. + </para> + <para> + Many of the methods in the font-functions structure deal with + the fundamental properties of glyphs that are required for + shaping text: extents (the maximums and minimums on each axis), + origins (the <literal>(0,0)</literal> coordinate point which + glyphs are drawn in reference to), and advances (the amount that + the cursor needs to be moved after drawing each glyph, including + any empty space for the glyph's side bearings). + </para> + <para> + As you can see in the list of functions, there are separate "horizontal" + and "vertical" variants depending on whether the text is set in + the horizontal or vertical direction. For some scripts, fonts + that are designed to support text set horizontally or vertically (for + example, in Japanese) may include metrics for both text + directions. When fonts don't include this information, HarfBuzz + does its best to transform what the font provides. + </para> + <para> + In addition to the direction-specific functions, HarfBuzz + provides some higher-level functions for fetching information + like extents and advances for a glyph. If you call + </para> + <programlisting language="C"> + hb_font_get_glyph_advance_for_direction(font, direction, extents); + </programlisting> + <para> + then you can provide any <type>hb_direction_t</type> as the + <parameter>direction</parameter> parameter, and HarfBuzz will + use the correct function variant for the text direction. There + are similar higher-level versions of the functions for fetching + extents, origin coordinates, and contour-point + coordinates. There are also addition and subtraction functions + for moving points with respect to the origin. + </para> + <para> + There are also methods for fetching the glyph ID that + corresponds to a Unicode code point (possibly when followed by a + variation-selector code point), fetching the glyph name from the + font, and fetching the glyph ID that corresponds to a glyph name + you already have. + </para> + <para> + HarfBuzz also provides functions for converting between glyph + names and string + variables. <function>hb_font_glyph_to_string(font, glyph, s, + size)</function> retrieves the name for the glyph ID + <parameter>glyph</parameter> from the font object. It generates a + generic name of the form <literal>gidDDD</literal> (where DDD is + the glyph index) if there is no name for the glyph in the + font. The <function>hb_font_glyph_from_string(font, s, len, + glyph)</function> takes an input string <parameter>s</parameter> + and looks for a glyph with that name in the font, returning its + glyph ID in the <parameter>glyph</parameter> + output parameter. It automatically parses + <literal>gidDDD</literal> and <literal>uniUUUU</literal> strings. + </para> + </section> + + + <!-- Commenting out FreeType integration section-holder for now. May move + to the full-blown Integration Chapter. --> + + <!-- <section id="fonts-and-faces-freetype"> + <title>Using FreeType</title> + <para> + + </para> + <para> + + </para> + </section> --> + + <section id="fonts-and-faces-variable"> + <title>Working with OpenType Variable Fonts</title> + <para> + If you are working with OpenType Variable Fonts, there are a few + additional functions you should use to specify the + variation-axis settings of your font object. Without doing so, + your variable font's font object can still be used, but only at + the default setting for every axis (which, of course, is + sometimes what you want, but does not cover general usage). + </para> + <para> + HarfBuzz manages variation settings in the + <type>hb_variation_t</type> data type, which holds a <property>tag</property> for the + variation-axis identifier tag and a <property>value</property> for its + setting. You can retrieve the list of variation axes in a font + binary from the face object (not from a font object, notably) by + calling <function>hb_ot_var_get_axis_count(face)</function> to + find the number of axes, then using + <function>hb_ot_var_get_axis_infos()</function> to collect the + axis structures: + </para> + <programlisting language="C"> + axes = hb_ot_var_get_axis_count(face); + ... + hb_ot_var_get_axis_infos(face, 0, axes, axes_array); + </programlisting> + <para> + For each axis returned in the array, you can can access the + identifier in its <property>tag</property>. HarfBuzz also has + tag definitions predefined for the five standard axes specified + in OpenType (<literal>ital</literal> for italic, + <literal>opsz</literal> for optical size, + <literal>slnt</literal> for slant, <literal>wdth</literal> for + width, and <literal>wght</literal> for weight). Each axis also + has a <property>min_value</property>, a + <property>default_value</property>, and a <property>max_value</property>. + </para> + <para> + To set your font object's variation settings, you call the + <function>hb_font_set_variations()</function> function with an + array of <type>hb_variation_t</type> variation settings. Let's + say our font has weight and width axes. We need to specify each + of the axes by tag and assign a value on the axis: + </para> + <programlisting language="C"> + unsigned int variation_count = 2; + hb_variation_t variation_data[variation_count]; + variation_data[0].tag = HB_OT_TAG_VAR_AXIS_WIDTH; + variation_data[1].tag = HB_OT_TAG_VAR_AXIS_WEIGHT; + variation_data[0].value = 80; + variation_data[1].value = 750; + ... + hb_font_set_variations(font, variation_data, variation_count); + </programlisting> + <para> + That should give us a slightly condensed font ("normal" on the + <literal>wdth</literal> axis is 100) at a noticeably bolder + weight ("regular" is 400 on the <literal>wght</literal> axis). + </para> + <para> + In practice, though, you should always check that the value you + want to set on the axis is within the + [<property>min_value</property>,<property>max_value</property>] + range actually implemented in the font's variation axis. After + all, a font might only provide lighter-than-regular weights, and + setting a heavier value on the <literal>wght</literal> axis will + not change that. + </para> <para> + Once your variation settings are specified on your font object, + however, shaping with a variable font is just like shaping a + static font. </para> </section> -</chapter> + + </chapter> diff --git a/docs/usermanual-install-harfbuzz.xml b/docs/usermanual-install-harfbuzz.xml index a1e7ab0..2b61ce8 100644 --- a/docs/usermanual-install-harfbuzz.xml +++ b/docs/usermanual-install-harfbuzz.xml @@ -246,7 +246,7 @@ <listitem> <para> Use <ulink url="https://developer.gnome.org/glib/">GLib</ulink>. <emphasis>(Default = auto)</emphasis> - </para> + </para> <para> This option enables or disables usage of the GLib library. The default setting is to check for the @@ -297,7 +297,7 @@ <listitem> <para> Use <ulink url="https://www.freedesktop.org/wiki/Software/fontconfig/">Fontconfig</ulink>. <emphasis>(Default = auto)</emphasis> - </para> + </para> <para> This option enables or disables usage of the Fontconfig library, which provides font-matching functions and @@ -317,7 +317,7 @@ <listitem> <para> Use the <ulink url="http://site.icu-project.org/home">ICU</ulink> library. <emphasis>(Default = auto)</emphasis> - </para> + </para> <para> This option enables or disables usage of the <emphasis>International Components for @@ -331,29 +331,11 @@ </varlistentry> <varlistentry> - <term><command>--with-ucdn</command></term> - <listitem> - <para> - Use HarfBuzz's <ulink url="https://github.com/harfbuzz/harfbuzz/tree/master/src/hb-ucdn">built-in UCDN library</ulink>. <emphasis>(Default = auto)</emphasis> - </para> - <para> - The HarfBuzz source tree includes a <emphasis>Unicode - Database and Normalization</emphasis> (UCDN) library - that provides access to basic character properties in - the Unicode Character Database (UCD) as well as low-level - normalization functions. HarfBuzz can be built without - this UCDN support if the usage of a different UCDN - library is desired. - </para> - </listitem> - </varlistentry> - - <varlistentry> <term><command>--with-graphite2</command></term> <listitem> <para> Use the <ulink url="http://graphite.sil.org/">Graphite2</ulink> library. <emphasis>(Default = no)</emphasis> - </para> + </para> <para> This option enables or disables usage of the Graphite2 library, which provides support for the Graphite shaping @@ -367,7 +349,7 @@ <listitem> <para> Use the <ulink url="https://www.freetype.org/">FreeType</ulink> library. <emphasis>(Default = auto)</emphasis> - </para> + </para> <para> This option enables or disables usage of the FreeType font-rendering library. The default setting is to check for the @@ -384,7 +366,7 @@ Use the <ulink url="https://docs.microsoft.com/en-us/windows/desktop/intl/uniscribe">Uniscribe</ulink> library (experimental). <emphasis>(Default = no)</emphasis> - </para> + </para> <para> This option enables or disables usage of the Uniscribe font-rendering library. Uniscribe is available on @@ -400,7 +382,7 @@ <listitem> <para> Use the <ulink url="https://docs.microsoft.com/en-us/windows/desktop/directwrite/direct-write-portal">DirectWrite</ulink> library (experimental). <emphasis>(Default = no)</emphasis> - </para> + </para> <para> This option enables or disables usage of the DirectWrite font-rendering library. DirectWrite is available on @@ -416,7 +398,7 @@ <listitem> <para> Use the <ulink url="https://developer.apple.com/documentation/coretext">CoreText</ulink> library. <emphasis>(Default = no)</emphasis> - </para> + </para> <para> This option enables or disables usage of the CoreText library. CoreText is available on macOS and iOS systems. diff --git a/docs/usermanual-object-model.xml b/docs/usermanual-object-model.xml new file mode 100644 index 0000000..f571c47 --- /dev/null +++ b/docs/usermanual-object-model.xml @@ -0,0 +1,258 @@ +<?xml version="1.0"?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ + <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'"> + <!ENTITY version SYSTEM "version.xml"> +]> +<chapter id="object-model"> + <title>The HarfBuzz object model</title> + <section id="object-model-intro"> + <title>An overview of data types in HarfBuzz</title> + <para> + HarfBuzz features two kinds of data types: non-opaque, + pass-by-value types and opaque, heap-allocated types. This kind + of separation is common in C libraries that have to provide + API/ABI compatibility (almost) indefinitely. + </para> + <para> + <emphasis>Value types:</emphasis> The non-opaque, pass-by-value + types include integer types, enums, and small structs. Exposing + a struct in the public API makes it impossible to expand the + struct in the future. As such, exposing structs is reserved for + cases where it’s extremely inefficient to do otherwise. + </para> + <para> + In HarfBuzz, several structs, like <literal>hb_glyph_info_t</literal> and + <literal>hb_glyph_position_t</literal>, fall into that efficiency-sensitive + category and are non-opaque. + </para> + <para> + For all non-opaque structs where future extensibility may be + necessary, reserved members are included to hold space for + possible future members. As such, it’s important to provide + <function>equal()</function>, and <function>hash()</function> + methods for such structs, allowing users of the API do + effectively deal with the type without having to + adapt their code to future changes. + </para> + <para> + Important value types provided by HarfBuzz include the structs + for working with Unicode code points, glyphs, and tags for font + tables and features, as well as the enums for many Unicode and + OpenType properties. + </para> + </section> + + <section id="object-model-object-types"> + <title>Objects in HarfBuzz</title> + <para> + <emphasis>Object types:</emphasis> Opaque struct types are used + for what HarfBuzz loosely calls "objects." This doesn’t have + much to do with the terminology from object-oriented programming + (OOP), although some of the concepts are similar. + </para> + <para> + In HarfBuzz, all object types provide certain + lifecycle-management APIs. Objects are reference-counted, and + constructed with various <function>create()</function> methods, referenced via + <function>reference()</function> and dereferenced using + <function>destroy()</function>. + </para> + <para> + For example, + the <literal>hb_buffer_t</literal> object has + <function>hb_buffer_create()</function> as its constructor, + <function>hb_buffer_reference()</function> to reference, and + <function>hb_buffer_destroy()</function> to dereference. + </para> + <para> + After construction, each object's properties are accessible only + through the setter and getter functions described in the API + Reference manual. + </para> + <para> + Key object types provided by HarfBuzz include: + </para> + <itemizedlist spacing="compact"> + <listitem> + <para> + <emphasis>blobs</emphasis>, which act as low-level wrappers around binary + data. Blobs are typically used to hold the contents of a + binary font file. + </para> + </listitem> + <listitem> + <para> + <emphasis>faces</emphasis>, which represent typefaces from a + font file, but without specific parameters (such as size) set. + </para> + </listitem> + <listitem> + <para> + <emphasis>fonts</emphasis>, which represent instances of a + face with all of their parameters specified. + </para> + </listitem> + <listitem> + <para> + <emphasis>buffers</emphasis>, which hold Unicode code points + for characters (before shaping) and the shaped glyph output + (after shaping). + </para> + </listitem> + <listitem> + <para> + <emphasis>shape plans</emphasis>, which store the settings + that HarfBuzz will use when shaping a particular text + segment. Shape plans are not generally used by client + programs directly, but as we will see in a later chapter, + they are still valuable to understand. + </para> + </listitem> + </itemizedlist> + + </section> + + + + <section id="object-model-lifecycle"> + <title>Object lifecycle management</title> + <para> + Each object type in HarfBuzz provides a + <function>create()</function> method. Some object types provide + additional variants of <function>create()</function> to handle + special cases or to speed up common tasks; those variants are + documented in the API reference. For example, + <function>hb_blob_create_from_file()</function> constructs a new + blob directly from the contents of a file. + </para> + <para> + All objects are created with an initial reference count of + <literal>1</literal>. Client programs can increase the reference + count on an object by calling its + <function>reference()</function> method. Whenever a client + program is finished with an object, it should call its + corresponding <function>destroy()</function> method. The destroy + method will decrease the reference count on the object and, + whenever the reference count reaches zero, it will also destroy + the object and free all of the associated memory. + </para> + <para> + All of HarfBuzz's object-lifecycle-management APIs are + thread-safe (unless you compiled HarfBuzz from source with the + <literal>HB_NO_MT</literal> configuration flag), even when the + object as a whole is not thread-safe. + It is also permissible to <function>reference()</function> or to + <function>destroy()</function> the <literal>NULL</literal> + value. + </para> + <para> + Some objects are thread-safe after they have been constructed + and set up. The general pattern is to + <function>create()</function> the object, make a few + <function>set_*()</function> calls to set up the + object, and then use it without further modification. + </para> + <para> + To ensure that such an object is not modified, client programs + can explicitly mark an object as immutable. HarfBuzz provides + <function>make_immutable()</function> methods to mark an object + as immutable and <function>is_immutable()</function> methods to + test whether or not an object is immutable. Attempts to use + setter functions on immutable objects will fail silently; see the API + Reference manual for specifics. + </para> + <para> + Note also that there are no "make mutable" methods. If client + programs need to alter an object previously marked as immutable, + they will need to make a duplicate of the original. + </para> + <para> + Finally, object constructors (and, indeed, as much of the + shaping API as possible) will never return + <literal>NULL</literal>. Instead, if there is an allocation + error, each constructor will return an “empty” object + singleton. + </para> + <para> + These empty-object singletons are inert and safe (although + typically useless) to pass around. This design choice avoids + having to check for <literal>NULL</literal> pointers all + throughout the code. + </para> + <para> + In addition, this “empty” object singleton can also be accessed + using the <function>get_empty()</function> method of the object + type in question. + </para> + </section> + + + <section id="object-model-user-data"> + <title>User data</title> + <para> + To better integrate with client programs, HarfBuzz's objects + offer a "user data" mechanism that can be used to attach + arbitrary data to the object. User-data attachment can be + useful for tying the lifecycles of various pieces of data + together, or for creating language bindings. + </para> + <para> + Each object type has a <function>set_user_data()</function> + method and a <function>get_user_data()</function> method. The + <function>set_user_data()</function> methods take a client-provided + <literal>key</literal> and a pointer, + <literal>user_data</literal>, pointing to the data itself. Once + the key-data pair has been attached to the object, the + <function>get_user_data()</function> method can be called with + the key, returning the <function>user_data</function> pointer. + </para> + <para> + The <function>set_user_data()</function> methods also support an + optional <function>destroy</function> callback. Client programs + can set the <function>destroy</function> callback and receive + notification from HarfBuzz whenever the object is destructed. + </para> + <para> + Finally, each <function>set_user_data()</function> method allows + the client program to set a <literal>replace</literal> Boolean + indicating whether or not the function call should replace any + existing <literal>user_data</literal> + associated with the specified key. + </para> + </section> + + + + <section id="object-model-blobs"> + <title>Blobs</title> + <para> + While most of HarfBuzz's object types are specific to the + shaping process, <emphasis>blobs</emphasis> are somewhat + different. + </para> + <para> + Blobs are an abstraction desgined to negotiate lifecycle and + permissions for raw pieces of data. For example, when you load + the raw font data into memory and want to pass it to HarfBuzz, + you do so in a <literal>hb_blob_t</literal> wrapper. + </para> + <para> + This allows you to take advantage of HarffBuzz's + reference-counting and <function>destroy</function> + callbacks. If you allocated the memory for the data using + <function>malloc()</function>, you would create the blob using + </para> + <programlisting language="C"> + hb_blob_create (data, length, HB_MEMORY_MODE_WRITABLE, NULL, free) + </programlisting> + <para> + That way, HarfBuzz will call <function>free()</function> on the + allocated memory whenever the blob drops its last reference and + is deconstructed. Consequently, the user code can stop worrying + about freeing memory and let the reference-counting machinery + take care of that. + </para> + </section> + +</chapter> diff --git a/docs/usermanual-opentype-features.xml b/docs/usermanual-opentype-features.xml index 51ff55a..881af2a 100644 --- a/docs/usermanual-opentype-features.xml +++ b/docs/usermanual-opentype-features.xml @@ -6,14 +6,301 @@ ]> <chapter id="shaping-and-shape-plans"> <title>Shaping and shape plans</title> - <section id="opentype-features"> + <para> + Once you have your face and font objects configured as desired and + your input buffer is filled with the characters you need to shape, + all you need to do is call <function>hb_shape()</function>. + </para> + <para> + HarfBuzz will return the shaped version of the text in the same + buffer that you provided, but it will be in output mode. At that + point, you can iterate through the glyphs in the buffer, drawing + each one at the specified position or handing them off to the + appropriate graphics library. + </para> + <para> + For the most part, HarfBuzz's shaping step is straightforward from + the outside. But that doesn't mean there will never be cases where + you want to look under the hood and see what is happening on the + inside. HarfBuzz provides facilities for doing that, too. + </para> + + <section id="shaping-buffer-output"> + <title>Shaping and buffer output</title> + <para> + The <function>hb_shape()</function> function call takes four arguments: the font + object to use, the buffer of characters to shape, an array of + user-specified features to apply, and the length of that feature + array. The feature array can be NULL, so for the sake of + simplicity we will start with that case. + </para> + <para> + Internally, HarfBuzz looks at the tables of the font file to + determine where glyph classes, substitutions, and positioning + are defined, using that information to decide which + <emphasis>shaper</emphasis> to use (<literal>ot</literal> for + OpenType fonts, <literal>aat</literal> for Apple Advanced + Typography fonts, and so on). It also looks at the direction, + script, and language properties of the segment to figure out + which script-specific shaping model is needed (at least, in + shapers that support multiple options). + </para> + <para> + If a font has a GDEF table, then that is used for + glyph classes; if not, HarfBuzz will fall back to Unicode + categorization by code point. If a font has an AAT "morx" table, + then it is used for substitutions; if not, but there is a GSUB + table, then the GSUB table is used. If the font has an AAT + "kerx" table, then it is used for positioning; if not, but + there is a GPOS table, then the GPOS table is used. If neither + table is found, but there is a "kern" table, then HarfBuzz will + use the "kern" table. If there is no "kerx", no GPOS, and no + "kern", HarfBuzz will fall back to positioning marks itself. + </para> + <para> + With a well-behaved OpenType font, you expect GDEF, GSUB, and + GPOS tables to all be applied. HarfBuzz implements the + script-specific shaping models in internal functions, rather + than in the public API. + </para> + <para> + The algorithms + used for complex scripts can be quite involved; HarfBuzz tries + to be compatible with the OpenType Layout specification + and, wherever there is any ambiguity, HarfBuzz attempts to replicate the + output of Microsoft's Uniscribe engine. See the <ulink + url="https://docs.microsoft.com/en-us/typography/script-development/standard">Microsoft + Typography pages</ulink> for more detail. + </para> + <para> + In general, though, all that you need to know is that + <function>hb_shape()</function> returns the results of shaping + in the same buffer that you provided. The buffer's content type + will now be set to + <literal>HB_BUFFER_CONTENT_TYPE_GLYPHS</literal>, indicating + that it contains shaped output, rather than input text. You can + now extract the glyph information and positioning arrays: + </para> + <programlisting language="C"> + hb_glyph_info_t *glyph_info = hb_buffer_get_glyph_infos(buf, &glyph_count); + hb_glyph_position_t *glyph_pos = hb_buffer_get_glyph_positions(buf, &glyph_count); + </programlisting> + <para> + The glyph information array holds a <type>hb_glyph_info_t</type> + for each output glyph, which has two fields: + <parameter>codepoint</parameter> and + <parameter>cluster</parameter>. Whereas, in the input buffer, + the <parameter>codepoint</parameter> field contained the Unicode + code point, it now contains the glyph ID of the corresponding + glyph in the font. The <parameter>cluster</parameter> field is + an integer that you can use to help identify when shaping has + reordered, split, or combined code points; we will say more + about that in the next chapter. + </para> + <para> + The glyph positions array holds a corresponding + <type>hb_glyph_position_t</type> for each output glyph, + containing four fields: <parameter>x_advance</parameter>, + <parameter>y_advance</parameter>, + <parameter>x_offset</parameter>, and + <parameter>y_offset</parameter>. The advances tell you how far + you need to move the drawing point after drawing this glyph, + depending on whether you are setting horizontal text (in which + case you will have x advances) or vertical text (for which you + will have y advances). The x and y offsets tell you where to + move to start drawing the glyph; usually you will have both and + x and a y offset, regardless of the text direction. + </para> + <para> + Most of the time, you will rely on a font-rendering library or + other graphics library to do the actual drawing of glyphs, so + you will need to iterate through the glyphs in the buffer and + pass the corresponding values off. + </para> + </section> + + <section id="shaping-opentype-features"> <title>OpenType features</title> <para> + OpenType features enable fonts to include smart behavior, + implemented as "lookup" rules stored in the GSUB and GPOS + tables. The OpenType specification defines a long list of + standard features that fonts can use for these behaviors; each + feature has a four-character reserved name and a well-defined + semantic meaning. + </para> + <para> + Some OpenType features are defined for the purpose of supporting + complex-script shaping, and are automatically activated, but + only when a buffer's script property is set to a script that the + feature supports. + </para> + <para> + Other features are more generic and can apply to several (or + any) script, and shaping engines are expected to implement + them. By default, HarfBuzz activates several of these features + on every text run. They include <literal>abvm</literal>, + <literal>blwm</literal>, <literal>ccmp</literal>, + <literal>locl</literal>, <literal>mark</literal>, + <literal>mkmk</literal>, and <literal>rlig</literal>. + </para> + <para> + In addition, if the text direction is horizontal, HarfBuzz + also applies the <literal>calt</literal>, + <literal>clig</literal>, <literal>curs</literal>, + <literal>dist</literal>, <literal>kern</literal>, + <literal>liga</literal>, <literal>rclt</literal>, + and <literal>frac</literal> features. + </para> + <para> + If the text direction is vertical, HarfBuzz applies + the <literal>vert</literal> feature by default. + </para> + <para> + Still other features are designed to be purely optional and left + up to the application or the end user to enable or disable as desired. + </para> + <para> + You can adjust the set of features that HarfBuzz applies to a + buffer by supplying an array of <type>hb_feature_t</type> + features as the third argument to + <function>hb_shape()</function>. For a simple case, let's just + enable the <literal>dlig</literal> feature, which turns on any + "discretionary" ligatures in the font: + </para> + <programlisting language="C"> + hb_feature_t userfeatures[1]; + userfeatures[0].tag = HB_TAG('d','l','i','g'); + userfeatures[0].value = 1; + userfeatures[0].start = HB_FEATURE_GLOBAL_START; + userfeatures[0].end = HB_FEATURE_GLOBAL_END; + </programlisting> + <para> + <literal>HB_FEATURE_GLOBAL_END</literal> and + <literal>HB_FEATURE_GLOBAL_END</literal> are macros we can use + to indicate that the features will be applied to the entire + buffer. We could also have used a literal <literal>0</literal> + for the start and a <literal>-1</literal> to indicate the end of + the buffer (or have selected other start and end positions, if needed). + </para> + <para> + When we pass the <varname>userfeatures</varname> array to + <function>hb_shape()</function>, any discretionary ligature + substitutions from our font that match the text in our buffer + will get performed: + </para> + <programlisting language="C"> + hb_shape(font, buf, userfeatures, num_features); + </programlisting> + <para> + Just like we enabled the <literal>dlig</literal> feature by + setting its <parameter>value</parameter> to + <literal>1</literal>, you would disable a feature by setting its + <parameter>value</parameter> to <literal>0</literal>. Some + features can take other <parameter>value</parameter> settings; + be sure you read the full specification of each feature tag to + understand what it does and how to control it. </para> </section> - <section id="plans-and-caching"> + + <section id="shaping-shaper-selection"> + <title>Shaper selection</title> + <para> + The basic version of <function>hb_shape()</function> determines + its shaping strategy based on examining the capabilities of the + font file. OpenType font tables cause HarfBuzz to try the + <literal>ot</literal> shaper, while AAT font tables cause HarfBuzz to try the + <literal>aat</literal> shaper. + </para> + <para> + In the real world, however, a font might include some unusual + mix of tables, or one of the tables might simply be broken for + the script you need to shape. So, sometimes, you might not + want to rely on HarfBuzz's process for deciding what to do, and + just tell <function>hb_shape()</function> what you want it to try. + </para> + <para> + <function>hb_shape_full()</function> is an alternate shaping + function that lets you supply a list of shapers for HarfBuzz to + try, in order, when shaping your buffer. For example, if you + have determined that HarfBuzz's attempts to work around broken + tables gives you better results than the AAT shaper itself does, + you might move the AAT shaper to the end of your list of + preferences and call <function>hb_shape_full()</function> + </para> + <programlisting language="C"> + char *shaperprefs[3] = {"ot", "default", "aat"}; + ... + hb_shape_full(font, buf, userfeatures, num_features, shaperprefs); + </programlisting> + <para> + to get results you are happier with. + </para> + <para> + You may also want to call + <function>hb_shape_list_shapers()</function> to get a list of + the shapers that were built at compile time in your copy of HarfBuzz. + </para> + </section> + + <section id="shaping-plans-and-caching"> <title>Plans and caching</title> <para> + Internally, HarfBuzz uses a structure called a shape plan to + track its decisions about how to shape the contents of a + buffer. The <function>hb_shape()</function> function builds up the shape plan by + examining segment properties and by inspecting the contents of + the font. + </para> + <para> + This process can involve some decision-making and + trade-offs — for example, HarfBuzz inspects the GSUB and GPOS + lookups for the script and language tags set on the segment + properties, but it falls back on the lookups under the + <literal>DFLT</literal> tag (and sometimes other common tags) + if there are actually no lookups for the tag requested. + </para> + <para> + HarfBuzz also includes some work-arounds for + handling well-known older font conventions that do not follow + OpenType or Unicode specifications, for buggy system fonts, and for + peculiarities of Microsoft Uniscribe. All of that means that a + shape plan, while not something that you should edit directly in + client code, still might be an object that you want to + inspect. Furthermore, if resources are tight, you might want to + cache the shape plan that HarfBuzz builds for your buffer and + font, so that you do not have to rebuild it for every shaping call. + </para> + <para> + You can create a cacheable shape plan with + <function>hb_shape_plan_create_cached(face, props, + user_features, num_user_features, shaper_list)</function>, where + <parameter>face</parameter> is a face object (not a font object, + notably), <parameter>props</parameter> is an + <type>hb_segment_properties_t</type>, + <parameter>user_features</parameter> is an array of + <type>hb_feature_t</type>s (with length + <parameter>num_user_features</parameter>), and + <parameter>shaper_list</parameter> is a list of shapers to try. + </para> + <para> + Shape plans are objects in HarfBuzz, so there are + reference-counting functions and user-data attachment functions + you can + use. <function>hb_shape_plan_reference(shape_plan)</function> + increases the reference count on a shape plan, while + <function>hb_shape_plan_destroy(shape_plan)</function> decreases + the reference count, destroying the shape plan when the last + reference is dropped. + </para> + <para> + You can attach user data to a shaper (with a key) using the + <function>hb_shape_plan_set_user_data(shape_plan,key,data,destroy,replace)</function> + function, optionally supplying a <function>destroy</function> + callback to use. You can then fetch the user data attached to a + shape plan with + <function>hb_shape_plan_get_user_data(shape_plan, key)</function>. </para> </section> + </chapter> diff --git a/docs/usermanual-utilities.xml b/docs/usermanual-utilities.xml new file mode 100644 index 0000000..1c5370c --- /dev/null +++ b/docs/usermanual-utilities.xml @@ -0,0 +1,244 @@ +<?xml version="1.0"?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ + <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'"> + <!ENTITY version SYSTEM "version.xml"> +]> +<chapter id="utilities"> + <title>Utilities</title> + <para> + HarfBuzz includes several auxiliary components in addition to the + main APIs. These include a set of command-line tools, a set of + lower-level APIs for common data types that may be of interest to + client programs, and an embedded library for working with + Unicode Character Database (UCD) data. + </para> + + <section id="utilities-command-line-tools"> + <title>Command-line tools</title> + <para> + HarfBuzz include three command-line tools: + <program>hb-shape</program>, <program>hb-view</program>, and + <program>hb-subset</program>. They can be used to examine + HarfBuzz's functionality, debug font binaries, or explore the + various shaping models and features from a terminal. + </para> + + <section id="utilities-command-line-hbshape"> + <title>hb-shape</title> + <para> + <emphasis><program>hb-shape</program></emphasis> allows you to run HarfBuzz's + <function>hb_shape()</function> function on an input string and + to examine the outcome, in human-readable form, as terminal + output. <program>hb-shape</program> does + <emphasis>not</emphasis> render the results of the shaping call + into rendered text (you can use <program>hb-view</program>, below, for + that). Instead, it prints out the final glyph indices and + positions, taking all shaping operations into account, as if the + input string were a HarfBuzz input buffer. + </para> + <para> + You can specify the font to be used for shaping and, with + command-line options, you can add various aspects of the + internal state to the output that is sent to the terminal. The + general format is + </para> + <programlisting> + <command>hb-shape</command> <optional>[OPTIONS]</optional> + <parameter>path/to/font/file.ttf</parameter> + <parameter>yourinputtext</parameter> + </programlisting> + <para> + The default output format is plain text (although JSON output + can be selected instead by specifying the option + <optional>--output-format=json</optional>). The default output + syntax reports each glyph name (or glyph index if there is no + name) followed by its cluster value, its horizontal and vertical + position displacement, and its horizontal and vertical advances. + </para> + <para> + Output options exist to skip any of these elements in the + output, and to include additional data, such as Unicode + code-point values, glyph extents, glyph flags, or interim + shaping results. + </para> + <para> + Output can also be redirected to a file, or input read from a + file. Additional options enable you to enable or disable + specific font features, to set variation-font axis values, to + alter the language, script, direction, and clustering settings + used, to enable sanity checks, or to change which shaping engine is used. + </para> + <para> + For a complete explanation of the options available, run + </para> + <programlisting> + <command>hb-shape</command> <parameter>--help</parameter> + </programlisting> + </section> + + <section id="utilities-command-line-hbview"> + <title>hb-view</title> + <para> + <emphasis><program>hb-view</program></emphasis> allows you to + see the shaped output of an input string in rendered + form. Like <program>hb-shape</program>, + <program>hb-view</program> takes a font file and a text string + as its arguments: + </para> + <programlisting> + <command>hb-view</command> <optional>[OPTIONS]</optional> + <parameter>path/to/font/file.ttf</parameter> + <parameter>yourinputtext</parameter> + </programlisting> + <para> + By default, <program>hb-view</program> renders the shaped + text in ASCII block-character images as terminal output. By + appending the + <command>--output-file=<optional>filename</optional></command> + switch, you can write the output to a PNG, SVG, or PDF file + (among other formats). + </para> + <para> + As with <program>hb-shape</program>, a lengthy set of options + is available, with which you can enable or disable + specific font features, set variation-font axis values, + alter the language, script, direction, and clustering settings + used, enable sanity checks, or change which shaping engine is + used. + </para> + <para> + You can also set the foreground and background colors used for + the output, independently control the width of all four + margins, alter the line spacing, and annotate the output image + with + </para> + <para> + In general, <program>hb-view</program> is a quick way to + verify that the output of HarfBuzz's shaping operation looks + correct for a given text-and-font combination, but you may + want to use <program>hb-shape</program> to figure out exactly + why something does not appear as expected. + </para> + </section> + + <section id="utilities-command-line-hbsubset"> + <title>hb-subset</title> + <para> + <emphasis><program>hb-subset</program></emphasis> allows you + to generate a subset of a given font, with a limited set of + supported characters, features, and variation settings. + </para> + <para> + By default, you provide an input font and an input text string + as the arguments to <program>hb-subset</program>, and it will + generate a font that covers the input text exactly like the + input font does, but includes no other characters or features. + </para> + <programlisting> + <command>hb-subset</command> <optional>[OPTIONS]</optional> + <parameter>path/to/font/file.ttf</parameter> + <parameter>yourinputtext</parameter> + </programlisting> + <para> + For example, to create a subset of Noto Serif that just includes the + numerals and the lowercase Latin alphabet, you could run + </para> + <programlisting> + <command>hb-subset</command> <optional>[OPTIONS]</optional> + <parameter>NotoSerif-Regular.ttf</parameter> + <parameter>0123456789abcdefghijklmnopqrstuvwxyz</parameter> + </programlisting> + <para> + There are options available to remove hinting from the + subsetted font and to specify a list of variation-axis settings. + </para> + </section> + + </section> + + <section id="utilities-common-types-apis"> + <title>Common data types and APIs</title> + <para> + HarfBuzz includes several APIs for working with general-purpose + data that you may find convenient to leverage in your own + software. They include set operations and integer-to-integer + mapping operations. + </para> + <para> + HarfBuzz uses set operations for internal bookkeeping, such as + when it collects all of the glyph IDs covered by a particular + font feature. You can also use the set API to build sets, add + and remove elements, test whether or not sets contain particular + elements, or compute the unions, intersections, or differences + between sets. + </para> + <para> + All set elements are integers (specifically, + <type>hb_codepoint_t</type> 32-bit unsigned ints), and there are + functions for fetching the minimum and maximum element from a + set. The set API also includes some functions that might not + be part of a generic set facility, such as the ability to add a + contiguous range of integer elements to a set in bulk, and the + ability to fetch the next-smallest or next-largest element. + </para> + <para> + The HarfBuzz set API includes some conveniences as well. All + sets are lifecycle-managed, just like other HarfBuzz + objects. You increase the reference count on a set with + <function>hb_set_reference()</function> and decrease it with + <function>hb_set_destroy()</function>. You can also attach + user data to a set, just like you can to blobs, buffers, faces, + fonts, and other objects, and set destroy callbacks. + </para> + <para> + HarfBuzz also provides an API for keeping track of + integer-to-integer mappings. As with the set API, each integer is + stored as an unsigned 32-bit <type>hb_codepoint_t</type> + element. Maps, like other objects, are reference counted with + reference and destroy functions, and you can attach user data to + them. The mapping operations include adding and deleting + integer-to-integer key:value pairs to the map, testing for the + presence of a key, fetching the population of the map, and so on. + </para> + <para> + There are several other internal HarfBuzz facilities that are + exposed publicly and which you may want to take advantage of + while processing text. HarfBuzz uses a common + <type>hb_tag_t</type> for a variety of OpenType tag identifiers (for + scripts, languages, font features, table names, variation-axis + names, and more), and provides functions for converting strings + to tags and vice-versa. + </para> + <para> + Finally, HarfBuzz also includes data type for Booleans, bit + masks, and other simple types. + </para> + </section> + + <section id="utilities-ucdn"> + <title>UCDN</title> + <para> + HarfBuzz includes a copy of the <ulink + url="https://github.com/grigorig/ucdn">UCDN</ulink> (Unicode + Database and Normalization) library, which provides functions + for accessing basic Unicode character properties, performing + canonical composition, and performing both canonical and + compatibility decomposition. + </para> + <para> + Currently, UCDN supports direct queries for several more character + properties than HarfBuzz's built-in set of Unicode functions + does, such as the BiDirectional Class, East Asian Width, Paired + Bracket and Resolved Linebreak properties. If you need to access + more properties than HarfBuzz's internal implementation + provides, using the built-in UCDN functions may be a useful solution. + </para> + <para> + The built-in UCDN functions are compiled by default when + building HarfBuzz from source, but this can be disabled with a + compile-time switch. + </para> + </section> + +</chapter> diff --git a/docs/usermanual-what-is-harfbuzz.xml b/docs/usermanual-what-is-harfbuzz.xml index ed053f9..3513fb2 100644 --- a/docs/usermanual-what-is-harfbuzz.xml +++ b/docs/usermanual-what-is-harfbuzz.xml @@ -151,9 +151,9 @@ </para> <para> For example, in Tamil, when the letter "TTA" (ட) - letter is followed by "U" (உ), the pair + letter is followed by the vowel sign "U" (ு), the pair must be replaced by the single glyph "டு". The - sequence of Unicode characters "டஉ" needs to be + sequence of Unicode characters "ட,ு" needs to be substituted with a single "டு" glyph from the font. </para> diff --git a/docs/version.xml b/docs/version.xml index 197c4d5..2714f53 100644 --- a/docs/version.xml +++ b/docs/version.xml @@ -1 +1 @@ -2.4.0 +2.6.4 |