Linux evo.fastest-server.com 5.14.0-284.1101.el9.tuxcare.11.els11.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Aug 14 13:30:35 UTC 2026 x86_64
LiteSpeed
Server IP : 103.249.112.113 & Your IP : 216.73.217.135
Domains : 988 Domain
User : tanishks
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
gtk-doc /
html /
harfbuzz /
Delete
Unzip
Name
Size
Permission
Date
Action
HarfBuzz.png
6.11
KB
-rw-r--r--
2020-12-27 00:11
HarfBuzz.svg
6.59
KB
-rw-r--r--
2020-12-27 00:11
a-clustering-example-for-levels-0-and-1.html
5.18
KB
-rw-r--r--
2024-04-02 17:02
aat-shaping.html
2.3
KB
-rw-r--r--
2024-04-02 17:02
adding-text-to-the-buffer.html
5.66
KB
-rw-r--r--
2024-04-02 17:02
annotation-glossary.html
5.51
KB
-rw-r--r--
2024-04-02 17:02
api-index-0-9-10.html
3.13
KB
-rw-r--r--
2024-04-02 17:02
api-index-0-9-11.html
2.02
KB
-rw-r--r--
2024-04-02 17:02
api-index-0-9-2.html
43.41
KB
-rw-r--r--
2024-04-02 17:02
api-index-0-9-20.html
2.25
KB
-rw-r--r--
2024-04-02 17:02
api-index-0-9-22.html
2.07
KB
-rw-r--r--
2024-04-02 17:02
api-index-0-9-28.html
2.01
KB
-rw-r--r--
2024-04-02 17:02
api-index-0-9-30.html
2.47
KB
-rw-r--r--
2024-04-02 17:02
api-index-0-9-31.html
2.86
KB
-rw-r--r--
2024-04-02 17:02
api-index-0-9-38.html
3.73
KB
-rw-r--r--
2024-04-02 17:02
api-index-0-9-39.html
2.01
KB
-rw-r--r--
2024-04-02 17:02
api-index-0-9-41.html
2.02
KB
-rw-r--r--
2024-04-02 17:02
api-index-0-9-42.html
2.53
KB
-rw-r--r--
2024-04-02 17:02
api-index-0-9-5.html
3.26
KB
-rw-r--r--
2024-04-02 17:02
api-index-0-9-7.html
12.02
KB
-rw-r--r--
2024-04-02 17:02
api-index-0-9-8.html
2.04
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-0-5.html
2.67
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-1-2.html
2.32
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-1-3.html
2.89
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-2-3.html
2.8
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-3-3.html
5.41
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-4-0.html
2.29
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-4-2.html
5.24
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-4-3.html
1.98
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-5-0.html
2.83
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-6-0.html
2.21
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-7-5.html
1.66
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-7-7.html
5.42
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-8-0.html
2.6
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-8-1.html
2.43
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-8-5.html
2.04
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-8-6.html
3.11
KB
-rw-r--r--
2024-04-02 17:02
api-index-1-9-0.html
3.38
KB
-rw-r--r--
2024-04-02 17:02
api-index-2-0-0.html
5.79
KB
-rw-r--r--
2024-04-02 17:02
api-index-2-1-0.html
7.88
KB
-rw-r--r--
2024-04-02 17:02
api-index-2-2-0.html
5.2
KB
-rw-r--r--
2024-04-02 17:02
api-index-2-3-0.html
2.59
KB
-rw-r--r--
2024-04-02 17:02
api-index-2-4-0.html
2.04
KB
-rw-r--r--
2024-04-02 17:02
api-index-2-5-0.html
2.06
KB
-rw-r--r--
2024-04-02 17:02
api-index-2-6-0.html
5.12
KB
-rw-r--r--
2024-04-02 17:02
api-index-2-7-3.html
2.76
KB
-rw-r--r--
2024-04-02 17:02
api-index-full.html
137.05
KB
-rw-r--r--
2024-04-02 17:02
buffers-language-script-and-direction.html
4.83
KB
-rw-r--r--
2024-04-02 17:02
building.html
14.99
KB
-rw-r--r--
2024-04-02 17:02
ch01s03.html
4.39
KB
-rw-r--r--
2024-04-02 17:02
ch03s02.html
5.94
KB
-rw-r--r--
2024-04-02 17:02
ch03s03.html
4.47
KB
-rw-r--r--
2024-04-02 17:02
ch12.html
3.47
KB
-rw-r--r--
2024-04-02 17:02
ch13.html
3.01
KB
-rw-r--r--
2024-04-02 17:02
ch14.html
1.83
KB
-rw-r--r--
2024-04-02 17:02
ch15.html
2.97
KB
-rw-r--r--
2024-04-02 17:02
clusters.html
6.35
KB
-rw-r--r--
2024-04-02 17:02
complex-scripts.html
2.93
KB
-rw-r--r--
2024-04-02 17:02
customizing-unicode-functions.html
6.25
KB
-rw-r--r--
2024-04-02 17:02
deprecated-api-index.html
6.08
KB
-rw-r--r--
2024-04-02 17:02
fonts-and-faces-custom-functions.html
7.22
KB
-rw-r--r--
2024-04-02 17:02
fonts-and-faces-native-opentype.html
5.07
KB
-rw-r--r--
2024-04-02 17:02
fonts-and-faces-variable.html
5.18
KB
-rw-r--r--
2024-04-02 17:02
fonts-and-faces.html
7.49
KB
-rw-r--r--
2024-04-02 17:02
getting-started.html
4.92
KB
-rw-r--r--
2024-04-02 17:02
graphite-shaping.html
2.25
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-aat-layout.html
136.08
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-blob.html
35.06
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-buffer.html
190.91
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-common.html
63.79
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-coretext.html
11.1
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-deprecated.html
24.73
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-directwrite.html
6.01
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-face.html
50.88
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-font.html
256.54
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-ft.html
28.05
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-gdi.html
4.21
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-glib.html
9.85
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-gobject.html
2.88
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-graphite2.html
5.69
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-icu.html
7.78
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-map.html
28.5
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-ot-color.html
39.01
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-ot-font.html
4.52
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-ot-layout.html
141.69
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-ot-math.html
51.65
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-ot-meta.html
10.04
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-ot-metrics.html
17.51
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-ot-name.html
19.14
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-ot-shape.html
6.11
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-ot-var.html
35.85
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-set.html
58.03
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-shape-plan.html
37.51
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-shape.html
11.43
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-unicode.html
104.2
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-uniscribe.html
5.96
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz-hb-version.html
10.17
KB
-rw-r--r--
2024-04-02 17:02
harfbuzz.devhelp2
175.25
KB
-rw-r--r--
2020-12-27 00:11
home.png
169
B
-rw-r--r--
2020-12-27 00:11
index.html
19.11
KB
-rw-r--r--
2024-04-02 17:02
install-harfbuzz.html
3.7
KB
-rw-r--r--
2024-04-02 17:02
integration-coretext.html
6.33
KB
-rw-r--r--
2024-04-02 17:02
integration-freetype.html
9.08
KB
-rw-r--r--
2024-04-02 17:02
integration-icu.html
4.09
KB
-rw-r--r--
2024-04-02 17:02
integration-python.html
3.11
KB
-rw-r--r--
2024-04-02 17:02
integration-uniscribe.html
6.57
KB
-rw-r--r--
2024-04-02 17:02
integration.html
9.7
KB
-rw-r--r--
2024-04-02 17:02
left-insensitive.png
334
B
-rw-r--r--
2020-12-27 00:11
left.png
185
B
-rw-r--r--
2020-12-27 00:11
level-2.html
6.84
KB
-rw-r--r--
2024-04-02 17:02
object-model-blobs.html
2.83
KB
-rw-r--r--
2024-04-02 17:02
object-model-lifecycle.html
4.86
KB
-rw-r--r--
2024-04-02 17:02
object-model-object-types.html
4.01
KB
-rw-r--r--
2024-04-02 17:02
object-model-user-data.html
3.18
KB
-rw-r--r--
2024-04-02 17:02
object-model.html
3.88
KB
-rw-r--r--
2024-04-02 17:02
opentype-shaping-models.html
4.36
KB
-rw-r--r--
2024-04-02 17:02
pt01.html
9.2
KB
-rw-r--r--
2024-04-02 17:02
pt02.html
12.38
KB
-rw-r--r--
2024-04-02 17:02
reordering-in-levels-0-and-1.html
3.03
KB
-rw-r--r--
2024-04-02 17:02
right-insensitive.png
233
B
-rw-r--r--
2020-12-27 00:11
right.png
184
B
-rw-r--r--
2020-12-27 00:11
setting-buffer-properties.html
7.65
KB
-rw-r--r--
2024-04-02 17:02
shaping-and-shape-plans.html
8
KB
-rw-r--r--
2024-04-02 17:02
shaping-concepts.html
3.78
KB
-rw-r--r--
2024-04-02 17:02
shaping-opentype-features.html
6.51
KB
-rw-r--r--
2024-04-02 17:02
shaping-operations.html
4.43
KB
-rw-r--r--
2024-04-02 17:02
shaping-plans-and-caching.html
4.53
KB
-rw-r--r--
2024-04-02 17:02
shaping-shaper-selection.html
3.33
KB
-rw-r--r--
2024-04-02 17:02
style.css
11.33
KB
-rw-r--r--
2020-12-27 00:11
text-runs.html
2.47
KB
-rw-r--r--
2024-04-02 17:02
the-distinction-between-levels-0-and-1.html
4.75
KB
-rw-r--r--
2024-04-02 17:02
unicode-character-categories.html
4.11
KB
-rw-r--r--
2024-04-02 17:02
up-insensitive.png
288
B
-rw-r--r--
2020-12-27 00:11
up.png
186
B
-rw-r--r--
2020-12-27 00:11
utilities-common-types-apis.html
4.26
KB
-rw-r--r--
2024-04-02 17:02
utilities-ucdn.html
2.57
KB
-rw-r--r--
2024-04-02 17:02
utilities.html
9.06
KB
-rw-r--r--
2024-04-02 17:02
what-harfbuzz-doesnt-do.html
5.41
KB
-rw-r--r--
2024-04-02 17:02
what-is-harfbuzz.html
5.37
KB
-rw-r--r--
2024-04-02 17:02
why-do-i-need-a-shaping-engine.html
7.93
KB
-rw-r--r--
2024-04-02 17:02
why-is-it-called-harfbuzz.html
2.12
KB
-rw-r--r--
2024-04-02 17:02
working-with-harfbuzz-clusters.html
9.85
KB
-rw-r--r--
2024-04-02 17:02
Save
Rename
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Adding text to the buffer: HarfBuzz Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> <link rel="home" href="index.html" title="HarfBuzz Manual"> <link rel="up" href="buffers-language-script-and-direction.html" title="Buffers, language, script and direction"> <link rel="prev" href="buffers-language-script-and-direction.html" title="Buffers, language, script and direction"> <link rel="next" href="setting-buffer-properties.html" title="Setting buffer properties"> <meta name="generator" content="GTK-Doc V1.32 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> <td width="100%" align="left" class="shortcuts"></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="buffers-language-script-and-direction.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="setting-buffer-properties.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="adding-text-to-the-buffer"></a>Adding text to the buffer</h2></div></div></div> <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 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 (even if your text contains a mix of scripts, directions, languages and fonts), 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 (which must all have the same script, direction, language and font), 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"> <hr>Generated by GTK-Doc V1.32</div> </body> </html>