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>A simple shaping example: 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="getting-started.html" title="Getting started with HarfBuzz"> <link rel="prev" href="ch03s02.html" title="Terminology"> <link rel="next" href="shaping-concepts.html" title="Shaping concepts"> <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="getting-started.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="ch03s02.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="shaping-concepts.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="id-1.2.4.4"></a>A simple shaping example</h2></div></div></div> <p> Below is the simplest HarfBuzz shaping example possible. </p> <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> Create a buffer and put your text in it. </p></li></ol></div> <pre class="programlisting"> #include <hb.h> hb_buffer_t *buf; buf = hb_buffer_create(); hb_buffer_add_utf8(buf, text, -1, 0, -1); </pre> <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem" value="2"><p> Set the script, language and direction of the buffer. </p></li></ol></div> <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> <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem" value="3"><p> Create a face and a font, using FreeType for now. </p></li></ol></div> <pre class="programlisting"> #include <hb-ft.h> FT_New_Face(ft_library, font_path, index, &face); FT_Set_Char_Size(face, 0, 1000, 0, 0); hb_font_t *font = hb_ft_font_create(face); </pre> <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem" value="4"><p> Shape! </p></li></ol></div> <pre class="programlisting"> hb_shape(font, buf, NULL, 0); </pre> <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem" value="5"><p> Get the glyph and position information. </p></li></ol></div> <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> <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem" value="6"><p> Iterate over each glyph. </p></li></ol></div> <pre class="programlisting"> for (i = 0; i < glyph_count; ++i) { glyphid = glyph_info[i].codepoint; x_offset = glyph_pos[i].x_offset / 64.0; y_offset = glyph_pos[i].y_offset / 64.0; x_advance = glyph_pos[i].x_advance / 64.0; y_advance = glyph_pos[i].y_advance / 64.0; draw_glyph(glyphid, cursor_x + x_offset, cursor_y + y_offset); cursor_x += x_advance; cursor_y += y_advance; } </pre> <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem" value="7"><p> Tidy up. </p></li></ol></div> <pre class="programlisting"> hb_buffer_destroy(buf); hb_font_destroy(hb_ft_font); </pre> <p> This example shows enough to get us started using HarfBuzz. In the sections that follow, we will use the remainder of HarfBuzz's API to refine and extend the example and improve its text-shaping capabilities. </p> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.32</div> </body> </html>