diff --git a/docs/usermanual-what-is-harfbuzz.xml b/docs/usermanual-what-is-harfbuzz.xml
index 8ec7b4030..59df9e3f7 100644
--- a/docs/usermanual-what-is-harfbuzz.xml
+++ b/docs/usermanual-what-is-harfbuzz.xml
@@ -15,6 +15,57 @@
platforms, and it supports all of the standard font formats in use
today.
+
+ What is text shaping?
+
+ Text shaping is the process of translating a string of character
+ codes (such as Unicode codepoints) into a properly arranged
+ sequence of glyphs that can be rendered onto a screen or into
+ final output form for a document.
+
+
+ The shaping process is dependent on the input string, the active
+ font, the script (or writing system) that the string is in, and
+ the language that the string is in.
+
+
+ Modern software systems generally only deal with strings in the
+ Unicode encoding scheme (although legacy systems and documents may
+ involve other encodings).
+
+
+ There are several font formats that a program might
+ encounter, each of which has a set of standard text-shaping
+ rules.
+
+ The dominant format is OpenType. The
+ OpenType specification defines a series of shaping models for
+ various scripts (including Indic, Arabic, Hangul, Hebrew, Khmer,
+ Myanmar, Thai and Lao, Tibetan, and a Universal Shaping Engine
+ designed to cover other scripts). These shaping models depend on
+ the font including certain features in its GSUB
+ and GPOS tables.
+
+
+ Alternatively, OpenType fonts can include shaping features for
+ the Graphite shaping model.
+
+
+ TrueType fonts can also include OpenType shaping
+ features. Alternatively, TrueType fonts can also include Apple
+ Advanced Typography (AAT) tables to implement shaping
+ support. AAT fonts are generally only found on macOS systems.
+
+
+ Text strings will usually be tagged with a script and language
+ tag that provide the context for text shaping. Script
+ and language
+ tags are defined by OpenType.
+
+
Why do I need a shaping engine?