summaryrefslogtreecommitdiff
path: root/docs/usermanual-hello-harfbuzz.xml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/usermanual-hello-harfbuzz.xml')
-rw-r--r--docs/usermanual-hello-harfbuzz.xml34
1 files changed, 17 insertions, 17 deletions
diff --git a/docs/usermanual-hello-harfbuzz.xml b/docs/usermanual-hello-harfbuzz.xml
index 34db017..716b2f2 100644
--- a/docs/usermanual-hello-harfbuzz.xml
+++ b/docs/usermanual-hello-harfbuzz.xml
@@ -1,7 +1,7 @@
<chapter id="hello-harfbuzz">
- <title>Hello, Harfbuzz</title>
+ <title>Hello, HarfBuzz</title>
<para>
- Here's the simplest Harfbuzz that can possibly work. We will improve
+ Here's the simplest HarfBuzz that can possibly work. We will improve
it later.
</para>
<orderedlist numeration="arabic">
@@ -91,23 +91,23 @@
hb_font_destroy(hb_ft_font);
</programlisting>
<section id="what-harfbuzz-doesnt-do">
- <title>What Harfbuzz doesn't do</title>
+ <title>What HarfBuzz doesn't do</title>
<para>
The code above will take a UTF8 string, shape it, and give you the
information required to lay it out correctly on a single
horizontal (or vertical) line using the font provided. That is the
- extent of Harfbuzz's responsibility.
+ extent of HarfBuzz's responsibility.
</para>
<para>
If you are implementing a text layout engine you may have other
- responsibilities, that Harfbuzz will not help you with:
+ responsibilities, that HarfBuzz will not help you with:
</para>
<itemizedlist>
<listitem>
<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 with mixed Hebrew and English, you will need to
- ensure that the buffer provided to Harfbuzz has those
+ ensure that the buffer provided to HarfBuzz has those
characters in the correct layout order. This will be different
from the logical order in which the Unicode text is stored. In
other words, the user will hit the keys in the following
@@ -127,30 +127,30 @@ ABC אבג DEF
(&quot;bidi&quot; is short for bidirectional), and there's an
algorithm as an annex to the Unicode Standard which tells you how
to reorder a string from logical order into presentation order.
- 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 ICU and fribidi can do
this for you.
</para>
</listitem>
<listitem>
<para>
- Harfbuzz won't help you with text that contains different font
+ HarfBuzz won't help you with text that contains different font
properties. For instance, if you have the string &quot;a
<emphasis>huge</emphasis> breakfast&quot;, and you expect
&quot;huge&quot; to be italic, you will need to send three
- strings to Harfbuzz: <literal>a</literal>, in your Roman font;
+ strings to HarfBuzz: <literal>a</literal>, in your Roman font;
<literal>huge</literal> using your italic font; and
<literal>breakfast</literal> using your Roman font again.
Similarly if you change font, font size, script, language or
direction within your string, you will need to shape each run
- independently and then output them independently. Harfbuzz
+ independently and then output them independently. HarfBuzz
expects to shape a run of characters sharing the same
properties.
</para>
</listitem>
<listitem>
<para>
- Harfbuzz won't help you with line breaking, hyphenation or
+ HarfBuzz won't help you with line breaking, hyphenation or
justification. As mentioned above, it lays out the string
along a <emphasis>single line</emphasis> of, notionally,
infinite length. If you want to find out where the potential
@@ -158,12 +158,12 @@ ABC אבג DEF
could use the ICU library's break iterator functions.
</para>
<para>
- 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
about paragraphs, lines or line lengths. Nor will it adjust the
space between words to fit them proportionally into a line. If you
want to layout text in paragraphs, you will probably want to send
- each word of your text to Harfbuzz to determine its shaped width
+ 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.
@@ -171,12 +171,12 @@ ABC אבג DEF
</listitem>
</itemizedlist>
<para>
- As a layout engine implementor, Harfbuzz will help you with the
+ As a layout engine implementor, HarfBuzz will help you with the
interface between your text and your font, and that's something
that you'll need - what you then do with the glyphs that your font
returns is up to you. The example we saw above enough to get us
- started using Harfbuzz. Now we are going to use the remainder of
- Harfbuzz's API to refine that example and improve our text shaping
+ started using HarfBuzz. Now we are going to use the remainder of
+ HarfBuzz's API to refine that example and improve our text shaping
capabilities.
</para>
</section>