Move more docs from FreeDesktop page
authorKhaled Hosny <khaledhosny@eglug.org>
Tue, 22 Dec 2015 21:29:48 +0000 (01:29 +0400)
committerKhaled Hosny <khaledhosny@eglug.org>
Wed, 23 Dec 2015 21:52:17 +0000 (01:52 +0400)
docs/Makefile.am
docs/harfbuzz-docs.xml
docs/usermanual-install-harfbuzz.xml [new file with mode: 0644]

index 05a27db..5e6fd2b 100644 (file)
@@ -75,6 +75,7 @@ content_files=        \
        usermanual-fonts-and-faces.xml \
        usermanual-glyph-information.xml \
        usermanual-hello-harfbuzz.xml \
+       usermanual-install-harfbuzz.xml \
        usermanual-opentype-features.xml \
        usermanual-what-is-harfbuzz.xml \
        version.xml
index 49252f7..7d2232f 100644 (file)
@@ -7,11 +7,6 @@
 <book id="index">
   <bookinfo>
     <title>HarfBuzz Manual</title>
-    <releaseinfo>
-      This document is for HarfBuzz &version;.
-      <!--The latest version of this documentation can be found on-line at
-      <ulink role="online-location" url="http://[SERVER]/libharfbuzz/index.html">http://[SERVER]/libharfbuzz/</ulink>.-->
-    </releaseinfo>
     <abstract>
       <title>HarfBuzz</title>
       <graphic fileref="HarfBuzz.png" format="PNG" align="center"/>
@@ -28,7 +23,7 @@
         <ulink url="http://cgit.freedesktop.org/harfbuzz/">here</ulink>.
         Also available on
         <ulink url="https://github.com/behdad/harfbuzz">github</ulink>.
-        See below for release tarballs.
+        See <xref linkend="download" endterm="download.title"/> for release tarballs.
       </para>
       <para>
         The old HarfBuzz codebase, these days known as harfbuzz-old, was
@@ -46,6 +41,7 @@
   <part>
     <title>User's manual</title>
       <xi:include href="usermanual-what-is-harfbuzz.xml"/>
+      <xi:include href="usermanual-install-harfbuzz.xml"/>
       <xi:include href="usermanual-hello-harfbuzz.xml"/>
       <xi:include href="usermanual-buffers-language-script-and-direction.xml"/>
       <xi:include href="usermanual-fonts-and-faces.xml"/>
   </part>
 
   <part>
+    <partinfo>
+      <releaseinfo>
+        This document is for HarfBuzz &version;.
+        <!--The latest version of this documentation can be found on-line at
+        <ulink role="online-location" url="http://[SERVER]/libharfbuzz/index.html">http://[SERVER]/libharfbuzz/</ulink>.-->
+      </releaseinfo>
+    </partinfo>
     <title>Reference manual</title>
       <chapter>
         <title>Harfbuzz API</title>
diff --git a/docs/usermanual-install-harfbuzz.xml b/docs/usermanual-install-harfbuzz.xml
new file mode 100644 (file)
index 0000000..be8ac8d
--- /dev/null
@@ -0,0 +1,70 @@
+<chapter id="install-harfbuzz">
+  <title>Install Harfbuzz</title>
+  <section id="download">
+    <title id="download.title">Download</title>
+    <para>
+      For tarball releases of HarfBuzz, look
+      <ulink url="http://www.freedesktop.org/software/harfbuzz/release/">here</ulink>.
+      At the same place you will
+      also find Win32 binary bundles that include libharfbuzz DLL, hb-view.exe,
+      hb-shape.exe, and all dependencies.
+    </para>
+    <para>
+      The canonical source tree is available
+      <ulink url="http://cgit.freedesktop.org/harfbuzz/">here</ulink>.
+      Also available on <ulink url="https://github.com/behdad/harfbuzz">github</ulink>.
+    </para>
+    <para>
+      The API that comes with <filename class='headerfile'>hb.h</filename> will
+      not change incompatibly. Other, peripheral, headers are more likely to go
+      through minor modifications, but again, will do our best to never change
+      API in an incompatible way. We will never break the ABI.
+    </para>
+    <para>
+      If you are not sure whether Pango or HarfBuzz is right for you, read
+      <ulink url="http://mces.blogspot.in/2009/11/pango-vs-harfbuzz.html">this</ulink>.
+    </para>
+  </section>
+  <section id="building">
+    <title>Building</title>
+    <para>
+      On Linux, install the development packages for FreeType, Cairo, and GLib.
+      For example, on Ubuntu / Debian, you would do:
+      <programlisting>
+<command>sudo apt-get install</command> <package>gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev</package>
+      </programlisting>
+      whereas on Fedora, RHEL, CentOS, and other Red Hat based systems you would do:
+      <programlisting>
+<command>sudo yum install</command> <package>gcc gcc-c++ freetype-devel glib2-devel cairo-devel</package>
+      </programlisting>
+      or using MacPorts:
+      <programlisting>
+<command>sudo port install</command> <package>freetype glib2 cairo</package>
+      </programlisting>
+    </para>
+    <para>
+      If you are using a tarball, you can now proceed to running
+      <command>configure</command> and <command>make</command> as with any
+      other standard package. That should leave you with a shared library in
+      <filename>src/</filename>, and a few utility programs including hb-view
+      and hb-shape under <filename>util/</filename>.
+    </para>
+    <para>
+      If you are bootstraping from git, you need a few more tools before you
+      can run <filename>autogen.sh</filename> for the first time. Namely,
+      pkg-config and <ulink url="http://www.complang.org/ragel/">ragel</ulink>.
+      Again, on Ubuntu / Debian:
+      <programlisting>
+<command>sudo apt-get install</command> <package>autoconf automake libtool pkg-config ragel gtk-doc-tools</package>
+      </programlisting>
+      and on Fedora, RHEL, CentOS:
+      <programlisting>
+<command>sudo yum install</command> <package>autoconf automake libtool pkgconfig ragel gtk-doc</package>
+      </programlisting>
+      or using MacPorts:
+      <programlisting>
+<command>sudo port install</command> <package>autoconf automake libtool pkgconfig ragel gtk-doc</package>
+      </programlisting>
+    </para>
+  </section>
+</chapter>