MARC-Charset
================

INTRODUCTION

MARC::Charset is a package to assist you in converting converting data encoded
using MARC-8 character sets to Unicode (UTF-8). 

The MARC format (MAchine Readable Cataloging) has been used since the early 
1970s to encode bibliographic data. Since catalogers have used non-Latin 
character sets for a long time, MARC had to grapple with the issue of encoding 
non-ASCII data in an 8-bit environment from very early on; this became known 
as the "MARC-8 Environment". 

In 1992 the Unicode standard provided a a uniform encoding for all major 
modern written languages. The MARC21 standard now supports encoding character 
data in Unicode, specifically the UCS Transformation Formats-8 (UTF-8). UTF-8 
has the advantage that it allows normal ASCII (8-bit) data to exist side by 
side with the full repertoire of Unicode characters (16-bit). 

Unicode notwithstanding, libraries still have a wealth of data encoded using 
MARC-8. Yet, some new data formats such as XML require that characters are 
encoded using Unicode. In order to fascilitate conversion the Library of 
Congress graciously published character mappings to fascilitate the conversion 
of MARC-8 data to Unicode. 

MARC::Charset is basically an implementation of the character mappings that 
the Library of Congress has published. For an overview of the MARC-8 
environment and to see the MARC8/Unicode translation tables please visit:

http://www.loc.gov/marc/specifications/speccharintro.html

INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install

DEPENDENCIES

- Perl 5.8.0
- Test::More
- XML::SAX
- Class::Accessor
- Unicode::Normalize


You may also want to install MARC::Record to process MARC data, but you can 
use MARC::Charset by itself if you like.

COPYRIGHT AND LICENCE

This software is free software and may be distributed under the same
terms as Perl itself.

Copyright (C) 2002 Ed Summers <ehs@pobox.com>

