[docs] Improve cluster-level docs

This commit is contained in:
Behdad Esfahbod 2023-02-09 12:53:17 -07:00
parent 00a6f8945c
commit 96d9e8624c
1 changed files with 13 additions and 9 deletions

View File

@ -182,8 +182,7 @@
</para> </para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para><emphasis>Level 0</emphasis> is the default and <para><emphasis>Level 0</emphasis> is the default.
reproduces the behavior of the old HarfBuzz library.
</para> </para>
<para> <para>
The distinguishing feature of level 0 behavior is that, at The distinguishing feature of level 0 behavior is that, at
@ -206,6 +205,11 @@
url="https://www.unicode.org/reports/tr29/#Regex_Definitions">Unicode url="https://www.unicode.org/reports/tr29/#Regex_Definitions">Unicode
Technical Report 29</ulink>. Technical Report 29</ulink>.
</para> </para>
<para>
This cluster level is suitable for code that likes to use
HarfBuzz cluster values as an approximation of the Unicode
Grapheme Cluster Boundaries as well.
</para>
<para> <para>
Client programs can specify level 0 behavior for a buffer by Client programs can specify level 0 behavior for a buffer by
setting its <literal>cluster_level</literal> to setting its <literal>cluster_level</literal> to
@ -220,13 +224,13 @@
implement backward compatibility with the old HarfBuzz. implement backward compatibility with the old HarfBuzz.
</para> </para>
<para> <para>
Level 1 differs from level 0 by not merging the <emphasis>Level 1</emphasis> differs from level 0 by not merging the
clusters of marks and other modifier code points with the clusters of marks and other modifier code points with the
preceding "base" code point's cluster. By preserving the preceding "base" code point's cluster. By preserving the
separate cluster values of these marks and modifier code separate cluster values of these marks and modifier code
points, script shapers can perform additional operations points, script shapers can perform additional operations
that might lead to improved results (for example, reordering that might lead to improved results (for example, coloring
a sequence of marks). mark glyphs differently than their base).
</para> </para>
<para> <para>
Client programs can specify level 1 behavior for a buffer by Client programs can specify level 1 behavior for a buffer by