<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../../general.ent">
  %general-entities;

  <!ENTITY aspell-download-http
    "http://ftp.gnu.org/gnu/aspell/aspell-&aspell-version;.tar.gz">
  <!ENTITY aspell-download-ftp
    "ftp://ftp.gnu.org/gnu/aspell/aspell-&aspell-version;.tar.gz">
  <!ENTITY aspell-md5sum        "e66a9c9af6a60dc46134fdacf6ce97d7">
  <!ENTITY aspell-size          "1.8 MB">
  <!ENTITY aspell-buildsize     "58 MB (Additional 8 MB for EN dictionary)">
  <!ENTITY aspell-time          "0.5 SBU">
]>

<sect1 id="aspell" xreflabel="Aspell-&aspell-version;">
  <?dbhtml filename="aspell.html"?>

  <sect1info>
    <othername>$LastChangedBy: bdubbs $</othername>
    <date>$Date: 2015-02-20 19:04:13 -0500 (Fri, 20 Feb 2015) $</date>
  </sect1info>

  <title>Aspell-&aspell-version;</title>

  <indexterm zone="aspell">
    <primary sortas="a-Aspell">Aspell</primary>
  </indexterm>

  <sect2 role="package">
    <title>Introduction to Aspell</title>

    <para>
      The <application>Aspell</application> package contains an interactive
      spell checking program and the <application>Aspell</application>
      libraries. <application>Aspell</application> can either be used as a
      library or as an independent spell checker.
    </para>

    &lfs77_checked;

    <bridgehead renderas="sect3">Package Information</bridgehead>
    <itemizedlist spacing="compact">
      <listitem>
        <para>
          Download (HTTP): <ulink url="&aspell-download-http;"/>
        </para>
      </listitem>
      <listitem>
        <para>
          Download (FTP): <ulink url="&aspell-download-ftp;"/>
        </para>
      </listitem>
      <listitem>
        <para>
          Download MD5 sum: &aspell-md5sum;
        </para>
      </listitem>
      <listitem>
        <para>
          Download size: &aspell-size;
        </para>
      </listitem>
      <listitem>
        <para>
          Estimated disk space required: &aspell-buildsize;
        </para>
      </listitem>
      <listitem>
        <para>
          Estimated build time: &aspell-time;
        </para>
      </listitem>
    </itemizedlist>

    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
    <para>
      You'll need to download at least one dictionary. The link below will take
      you to a page containing links to dictionaries in many languages.
    </para>

    <itemizedlist spacing="compact">
      <listitem>
        <para>
          Aspell dictionaries: <ulink url="ftp://ftp.gnu.org/gnu/aspell/dict"/>
        </para>
      </listitem>
    </itemizedlist>

    <bridgehead renderas="sect3">Aspell Dependencies</bridgehead>

    <bridgehead renderas="sect4">Required</bridgehead>
    <para role="required">
      <xref linkend="which"/> (for the dictionaries)
    </para>

    <para condition="html" role="usernotes">
      User Notes: <ulink url="&blfs-wiki;/aspell"/>
    </para>
  </sect2>

  <sect2 role="installation">
    <title>Installation of Aspell</title>

    <para>
      Install <application>Aspell</application> by running the following
      commands:
    </para>

<screen><userinput>./configure --prefix=/usr &amp;&amp;
make</userinput></screen>

    <para>
      This package does not come with a test suite.
    </para>

    <para>
      Now, as the <systemitem class="username">root</systemitem> user:
    </para>

<screen role="root"><userinput>make install &amp;&amp;
install -v -m755 -d /usr/share/doc/aspell-&aspell-version;/aspell{,-dev}.html &amp;&amp;

install -v -m644 manual/aspell.html/* \
    /usr/share/doc/aspell-&aspell-version;/aspell.html &amp;&amp;

install -v -m644 manual/aspell-dev.html/* \
    /usr/share/doc/aspell-&aspell-version;/aspell-dev.html</userinput></screen>

    <para>
      If you do not plan to install <application>Ispell</application>, then copy
      the wrapper script <command>ispell</command>:
    </para>

<screen role="root"><userinput>install -v -m 755 scripts/ispell /usr/bin/</userinput></screen>

    <para>
      If you do not plan to install <application>Spell</application>, then copy
      the wrapper script <command>spell</command>:
    </para>

<screen role="root"><userinput>install -v -m 755 scripts/spell /usr/bin/</userinput></screen>
 </sect2>

 <!-- <sect2 role="commands">
    <title>Command Explanations</title>

    <para>
      <command>make -C manual pdf</command>: This command is listed twice as the
      first time it runs it will display an error and abort, although it creates
      the requested file. Running the command again ensures the other file is
      also created.
    </para>
  </sect2> -->

  <sect2 role="configuration">
    <title>Configuring Aspell</title>

    <sect3>
      <title>Configuration Information</title>

      <para>
        After <application>Aspell</application> is installed, you must set up at
        least one dictionary. Install one or more dictionaries by running the
        following commands:
      </para>

<screen><userinput>./configure &amp;&amp;
make</userinput></screen>

      <para>
        Now, as the <systemitem class="username">root</systemitem> user:
      </para>

<screen role="root"><userinput>make install</userinput></screen>
    </sect3>
  </sect2>

  <sect2 role="content">
    <title>Contents</title>

    <segmentedlist>
      <segtitle>Installed Programs</segtitle>
      <segtitle>Installed Libraries</segtitle>
      <segtitle>Installed Directories</segtitle>

      <seglistitem>
        <seg>
          aspell, aspell-import, precat, preunzip, prezip, prezip-bin,
          pspell-config, run-with-aspell, word-list-compress and optionally,
          ispell and spell.
        </seg>
        <seg>libaspell.so and libpspell.so</seg>
        <seg>/usr/include/pspell and /usr/lib/aspell-0.60</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="aspell-prog">
        <term><command>aspell</command></term>
        <listitem>
          <para>
            is a utility that can function as an <command>ispell -a</command>
            replacement, as an independent spell checker, as a test utility to
            test out <application>Aspell</application> features, and as a
            utility for managing dictionaries.
          </para>
          <indexterm zone="aspell aspell-prog">
            <primary sortas="b-aspell">aspell</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="aspell-ispell">
        <term><command>ispell</command></term>
        <listitem>
          <para>
            is a wrapper around <command>aspell</command> to invoke it in
            <command>ispell</command> compatible mode.
          </para>
          <indexterm zone="aspell aspell-ispell">
            <primary sortas="b-ispell">ispell</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="aspell-spell">
        <term><command>spell</command></term>
        <listitem>
          <para>
            is a wrapper around <command>aspell</command> to invoke it in
            <command>spell</command> compatible mode.
          </para>
          <indexterm zone="aspell aspell-spell">
            <primary sortas="b-spell">spell</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="aspell-import">
        <term><command>aspell-import</command></term>
        <listitem>
          <para>
            imports old personal dictionaries into
            <application>Aspell</application>.
          </para>
          <indexterm zone="aspell aspell-import">
            <primary sortas="b-aspell-import">aspell-import</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="precat">
        <term><command>precat</command></term>
        <listitem>
          <para>
            decompresses a <command>prezip</command>ped file to stdout.
          </para>
          <indexterm zone="aspell precat">
            <primary sortas="b-precat">precat</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="preunzip">
        <term><command>preunzip</command></term>
        <listitem>
          <para>
            decompresses a <command>prezip</command>ped file.
          </para>
          <indexterm zone="aspell preunzip">
            <primary sortas="b-preunzip">preunzip</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="prezip">
        <term><command>prezip</command></term>
        <listitem>
          <para>
            is a prefix delta compressor, used to compress sorted word lists or
            other similar text files.
          </para>
          <indexterm zone="aspell prezip">
            <primary sortas="b-prezip">prezip</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="prezip-bin">
        <term><command>prezip-bin</command></term>
        <listitem>
          <para>
            is called by the various wrapper scripts to perform the actual
            compressing and decompressing.
          </para>
          <indexterm zone="aspell prezip-bin">
            <primary sortas="b-prezip-bin">prezip-bin</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="pspell-config">
        <term><command>pspell-config</command></term>
        <listitem>
          <para>
            displays information about the
            <filename class="libraryfile">libpspell</filename> installation,
            mostly for use in build scripts.
          </para>
          <indexterm zone="aspell pspell-config">
            <primary sortas="b-pspell-config">pspell-config</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="run-with-aspell">
        <term><command>run-with-aspell</command></term>
        <listitem>
          <para>
            is a script to help use <application>Aspell</application> as an
            <command>ispell</command> replacement.
          </para>
          <indexterm zone="aspell run-with-aspell">
            <primary sortas="b-run-with-aspell">run-with-aspell</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="word-list-compress">
        <term><command>word-list-compress</command></term>
        <listitem>
          <para>
            compresses or decompresses sorted word lists for use with the
            <application>Aspell</application> spell checker.
          </para>
          <indexterm zone="aspell word-list-compress">
            <primary sortas="b-word-list-compress">word-list-compress</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libaspell">
        <term><filename class="libraryfile">libaspell.so</filename></term>
        <listitem>
          <para>
            contains spell checking API functions.
          </para>
          <indexterm zone="aspell libaspell">
            <primary sortas="c-libaspell">libaspell.so</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libpspell">
        <term><filename class="libraryfile">libpspell.so</filename></term>
        <listitem>
          <para>
            is an interface to the
            <filename class="libraryfile">libaspell</filename> library. All the
            spell checking functionality is now in
            <filename class="libraryfile">libaspell</filename> but this library
            is included for backward compatibility.
          </para>
          <indexterm zone="aspell libpspell">
            <primary sortas="c-libpspell">libpspell.so</primary>
          </indexterm>
        </listitem>
      </varlistentry>
    </variablelist>
  </sect2>
</sect1>
