Merge pull request #2665 from khaledhosny/doc-default-features

[docs] Improve documentation for default features
This commit is contained in:
Khaled Hosny 2020-09-18 17:04:38 +02:00 committed by GitHub
commit a0ebea5280
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 37 additions and 7 deletions

View File

@ -48,14 +48,14 @@
<para> <para>
If a font has a GDEF table, then that is used for If a font has a GDEF table, then that is used for
glyph classes; if not, HarfBuzz will fall back to Unicode glyph classes; if not, HarfBuzz will fall back to Unicode
categorization by code point. If a font has an AAT "morx" table, categorization by code point. If a font has an AAT <literal>morx</literal> table,
then it is used for substitutions; if not, but there is a GSUB 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 table, then the GSUB table is used. If the font has an AAT
"kerx" table, then it is used for positioning; if not, but <literal>kerx</literal> table, then it is used for positioning; if not, but
there is a GPOS table, then the GPOS table is used. If neither 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 table is found, but there is a <literal>kern</literal> table, then HarfBuzz will
use the "kern" table. If there is no "kerx", no GPOS, and no use the <literal>kern</literal> table. If there is no <literal>kerx</literal>, no GPOS, and no
"kern", HarfBuzz will fall back to positioning marks itself. <literal>kern</literal>, HarfBuzz will fall back to positioning marks itself.
</para> </para>
<para> <para>
With a well-behaved OpenType font, you expect GDEF, GSUB, and With a well-behaved OpenType font, you expect GDEF, GSUB, and
@ -149,9 +149,39 @@
also applies the <literal>calt</literal>, also applies the <literal>calt</literal>,
<literal>clig</literal>, <literal>curs</literal>, <literal>clig</literal>, <literal>curs</literal>,
<literal>dist</literal>, <literal>kern</literal>, <literal>dist</literal>, <literal>kern</literal>,
<literal>liga</literal>, <literal>rclt</literal>, <literal>liga</literal> and <literal>rclt</literal>, features.
and <literal>frac</literal> features.
</para> </para>
<para>
Additionally, when HarfBuzz encounters a fraction slash
(<literal>U+2044</literal>), it looks backward and forward for decimal
digits (Unicode General Category = Nd), and enables features
<literal>numr</literal> on the sequence before the fraction slash,
<literal>dnom</literal> on the sequence after the fraction slash,
and <literal>frac</literal> on the whole sequence including the fraction
slash.
</para>
<para>
Some script-specific shaping models
(see <xref linkend="opentype-shaping-models" />) disable some of the
features listed above:
</para>
<itemizedlist>
<listitem>
<para>
Hangul: <literal>calt</literal>
</para>
</listitem>
<listitem>
<para>
Indic: <literal>liga</literal>
</para>
</listitem>
<listitem>
<para>
Khmer: <literal>liga</literal>
</para>
</listitem>
</itemizedlist>
<para> <para>
If the text direction is vertical, HarfBuzz applies If the text direction is vertical, HarfBuzz applies
the <literal>vert</literal> feature by default. the <literal>vert</literal> feature by default.