Usermanual; minor wording changes.
This commit is contained in:
parent
e89f43dc08
commit
01400f7425
|
@ -18,9 +18,7 @@
|
||||||
properties that affect shaping. The most important are the
|
properties that affect shaping. The most important are the
|
||||||
text-flow direction (e.g., left-to-right, right-to-left,
|
text-flow direction (e.g., left-to-right, right-to-left,
|
||||||
top-to-bottom, or bottom-to-top), the script tag, and the
|
top-to-bottom, or bottom-to-top), the script tag, and the
|
||||||
language tag. HarfBuzz can attempt to guess the correct values
|
language tag.
|
||||||
for the buffer based on its contents if you do not set them
|
|
||||||
explicitly.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -29,7 +27,8 @@
|
||||||
indicate whether or not to visibly render Unicode <literal>Default
|
indicate whether or not to visibly render Unicode <literal>Default
|
||||||
Ignorable</literal> codepoints, and to modify the cluster-merging
|
Ignorable</literal> codepoints, and to modify the cluster-merging
|
||||||
behavior for the buffer. For shaped output buffers, the
|
behavior for the buffer. For shaped output buffers, the
|
||||||
individual X and Y offsets and widths of each glyph are
|
individual X and Y offsets and <literal>advances</literal>
|
||||||
|
(the logical dimensions) of each glyph are
|
||||||
accessible. HarfBuzz also flags glyphs as
|
accessible. HarfBuzz also flags glyphs as
|
||||||
<literal>UNSAFE_TO_BREAK</literal> if breaking the string at
|
<literal>UNSAFE_TO_BREAK</literal> if breaking the string at
|
||||||
that glyph (e.g., in a line-breaking or hyphenation process)
|
that glyph (e.g., in a line-breaking or hyphenation process)
|
||||||
|
@ -61,9 +60,10 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
HarfBuzz provides glue code to integrate with FreeType, GObject,
|
HarfBuzz provides glue code to integrate with various other
|
||||||
Uniscribe, and CoreText. Support for integrating with
|
libraries, including FreeType, GObject, and CoreText. Support
|
||||||
DirectWrite is experimental at present.
|
for integrating with Uniscribe and DirectWrite is experimental
|
||||||
|
at present.
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -280,6 +280,10 @@
|
||||||
check for the presence of Cairo and, if it is found,
|
check for the presence of Cairo and, if it is found,
|
||||||
build with Cairo support.
|
build with Cairo support.
|
||||||
</para>
|
</para>
|
||||||
|
<para>
|
||||||
|
Note: Cairo is used only by the HarfBuzz
|
||||||
|
command-line utilities, and not by the HarfBuzz library.
|
||||||
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
@ -296,6 +300,10 @@
|
||||||
is to check for the presence of Fontconfig and, if it is
|
is to check for the presence of Fontconfig and, if it is
|
||||||
found, build with Fontconfig support.
|
found, build with Fontconfig support.
|
||||||
</para>
|
</para>
|
||||||
|
<para>
|
||||||
|
Note: Fontconfig is used only by the HarfBuzz
|
||||||
|
command-line utilities, and not by the HarfBuzz library.
|
||||||
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
|
|
@ -296,10 +296,7 @@
|
||||||
<para>
|
<para>
|
||||||
In addition to OpenType shaping, HarfBuzz supports the latest
|
In addition to OpenType shaping, HarfBuzz supports the latest
|
||||||
version of Graphite shaping. HarfBuzz currently supports AAT
|
version of Graphite shaping. HarfBuzz currently supports AAT
|
||||||
shaping only on macOS and iOS systems, and in a pass-through
|
shaping only on macOS and iOS systems.
|
||||||
fashion: HarfBuzz hands off AAT support to the system CoreText
|
|
||||||
library. However, full, built-in AAT support within HarfBuzz is
|
|
||||||
under development.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -321,13 +318,9 @@
|
||||||
all color-font formats (<literal>CBDT</literal>,
|
all color-font formats (<literal>CBDT</literal>,
|
||||||
<literal>sbix</literal>, <literal>COLR/CPAL</literal>, and
|
<literal>sbix</literal>, <literal>COLR/CPAL</literal>, and
|
||||||
<literal>SVG-OT</literal>) and OpenType variable fonts. HarfBuzz
|
<literal>SVG-OT</literal>) and OpenType variable fonts. HarfBuzz
|
||||||
also includes a font-subsetting feature.
|
also includes a font-subsetting feature. HarfBuzz can perform
|
||||||
</para>
|
some low-level math-shaping operations, although it does not
|
||||||
|
currently perform full shaping for mathematical typesetting.
|
||||||
<para>
|
|
||||||
HarfBuzz can perform some low-level math-shaping operations,
|
|
||||||
although it does not currently perform full shaping for
|
|
||||||
mathematical typesetting.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -355,9 +348,10 @@
|
||||||
<para>
|
<para>
|
||||||
HarfBuzz won't help you with bidirectionality. If you want to
|
HarfBuzz won't help you with bidirectionality. If you want to
|
||||||
lay out text that includes a mix of Hebrew and English, you
|
lay out text that includes a mix of Hebrew and English, you
|
||||||
will need to ensure that each buffer provided to HarfBuzz has its
|
will need to ensure that each buffer provided to HarfBuzz
|
||||||
characters in the correct layout order. This will be different
|
has all of its characters in the same order and that the
|
||||||
from the logical order in which the Unicode text is stored. In
|
directionality of the buffer is set correctly. This may mean
|
||||||
|
segmenting the text before it is placed into HarfBuzz buffers. In
|
||||||
other words, the user will hit the keys in the following
|
other words, the user will hit the keys in the following
|
||||||
sequence:
|
sequence:
|
||||||
</para>
|
</para>
|
||||||
|
@ -374,7 +368,7 @@
|
||||||
This reordering is called <emphasis>bidi processing</emphasis>
|
This reordering is called <emphasis>bidi processing</emphasis>
|
||||||
("bidi" is short for bidirectional), and there's an
|
("bidi" is short for bidirectional), and there's an
|
||||||
algorithm as an annex to the Unicode Standard which tells you how
|
algorithm as an annex to the Unicode Standard which tells you how
|
||||||
to reorder a string from logical order into presentation order.
|
to process a string of mixed directionality.
|
||||||
Before sending your string to HarfBuzz, you may need to apply the
|
Before sending your string to HarfBuzz, you may need to apply the
|
||||||
bidi algorithm to it. Libraries such as <ulink
|
bidi algorithm to it. Libraries such as <ulink
|
||||||
url="http://icu-project.org/">ICU</ulink> and <ulink
|
url="http://icu-project.org/">ICU</ulink> and <ulink
|
||||||
|
@ -412,12 +406,7 @@
|
||||||
HarfBuzz can tell you how wide a shaped piece of text is, which is
|
HarfBuzz can tell you how wide a shaped piece of text is, which is
|
||||||
useful input to a justification algorithm, but it knows nothing
|
useful input to a justification algorithm, but it knows nothing
|
||||||
about paragraphs, lines or line lengths. Nor will it adjust the
|
about paragraphs, lines or line lengths. Nor will it adjust the
|
||||||
space between words to fit them proportionally into a line. If you
|
space between words to fit them proportionally into a line.
|
||||||
want to layout text in paragraphs, you will probably want to send
|
|
||||||
each word of your text to HarfBuzz to determine its shaped width
|
|
||||||
after glyph substitutions, then work out how many words will fit
|
|
||||||
on a line, and then finally output each word of the line separated
|
|
||||||
by a space of the correct size to fully justify the paragraph.
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
Loading…
Reference in New Issue