Encoding character data.
The Encode
library provides a unified interface for converting strings from different encodings into a common representation, and vice versa. This representation is isomorphic to the Unicode character set, and the encodings can be both standard and user-defined. For this purpose, the Encode
module defines the Encode.UPoint
data type and the Encode.Encoding
type class with the encode
and decode
methods.
The Encode
library is being proposed as a Haskell analogy to the Encode extension in Perl, http://search.cpan.org/dist/Encode/.
The Main.Encode
and Main.Decode
programs mimick the function calls to encode
and decode
, respectively, with the following usage:
decode ArabTeX < decode.d | encode Buckwalter > encode.d
decode MacArabic < data.MacArabic > data.UTF8
encode WinArabic < data.UTF8 > data.WinArabic
The installation instructions are given in INSTALL
. For the list of supported encoding schemes, please refer to Encode
and the source files of the programs. With the executables, the naming of encodings is case-insensitive and some further options are allowed:
encode|decode [--OPTIONS] [ENCODING]
-h --help show usage information
-l --lines use line-oriented mode
-p text --prefix=text prefix input with text
-s text --suffix=text suffix input with text
-v --version show program's version
The PureFP
library is an edited excerpt from the Functional Parsing library developed by Peter Ljunglöf in his licenciate thesis Pure Functional Parsing an advanced tutorial, Göteborg University and Chalmers University of Technology, April 2002, http://code.google.com/p/haskell-functional-parsing/.
Encode
PureFP
Installing Encode Arabic
This package is prepared with Cabal. You need to install Haskell Platform to get it along with the Haskell compiler.
When done with the above, open the command line, navigate to this directory of the repository, and run the following:
cabal update
cabal install
You should then have this package installed, including the library and the binaries:
encode --help
decode --help
Enjoy! ^^